@evgenest/ai-agents-arsenal
v4.5.0
Published
Install AI agent skills and baseline MCP configs across supported tools.
Downloads
216
Readme
AI Agents Arsenal
A single-command setup that installs skills and MCP servers for your AI coding agents — globally on your machine when needed, or directly inside a project when you want the repository itself to carry the skill setup.
Run once on a new machine, get the same tools everywhere.
For the historical evolution of the project from version to version, see CHANGELOG.md.
Prerequisites
- Bun — runtime and package manager
Quick Start
1. Set API keys as system environment variables
| Variable | Service |
|---|---|
| TAVILY_API_KEY | Tavily |
| CONTEXT7_API_KEY | Context7 |
| EXA_API_KEY | Exa — sent to the Exa MCP endpoint as Authorization: Bearer ${EXA_API_KEY} |
| MAGIC_API_KEY | 21st.dev Magic |
Windows — Win + R → sysdm.cpl → Advanced → Environment Variables → System variables
macOS / Linux — add to ~/.bashrc or ~/.zshrc:
export TAVILY_API_KEY=your_key_here2. Run the published package from any project
bunx @evgenest/ai-agents-arsenalTo install only skills into the current project:
bunx @evgenest/ai-agents-arsenal --skills --projectThis keeps skill installation local to the project you run the command from. MCP setup still writes to the configured global agent config files.
3. Clone the repo if you want to customize the defaults
bun installThen run the local entrypoint:
bun run index.tsBy default both the published package and the local entrypoint run both setup phases.
To run only one phase:
bun run index.ts --skills
bun run index.ts --mcp
bunx @evgenest/ai-agents-arsenal --skills
bunx @evgenest/ai-agents-arsenal --mcpTo install skills into the current project instead of globally:
bun run index.ts --skills --project
bunx @evgenest/ai-agents-arsenal --skills --project--project only affects skill installation. MCP setup still writes to the configured global target files.
To run with your own prepared config files instead of the package defaults:
bun run index.ts --skills --agents-config ./my-config/agents.config.ts --skills-config ./my-config/skills.config.ts
bun run index.ts --mcp --agents-config ./my-config/agents.config.ts --mcp-config ./my-config/mcp.config.ts
bunx @evgenest/ai-agents-arsenal --skills --project --agents-config ./ai/agents.config.ts --skills-config ./ai/skills.config.tsIf you do not pass custom config flags, the CLI prints a preflight summary before making changes. That preview shows which skills or MCP servers will be installed, which built-in config files are being used, links to the matching config files from the current package release, and the override flags you can use next time.
Cloud Agent Use
Because the tool is published as an npm package, you can also use it to install skills directly into a repository instead of only configuring local machines.
Run:
bunx @evgenest/ai-agents-arsenal --skills --projectThen commit the generated project-local skill files to the repository. When a cloud agent such as GitHub Copilot or another repo-cloning agent starts from that repository, it gets the same checked-in skills as part of the clone and can use the project's skill setup immediately.
This repository-local pattern applies to skills. MCP configuration remains machine-specific and is still written to each target tool's global config location.
What Gets Installed
Skills
| Skill | Source repo |
|---|---|
| better-icons | better-auth/better-icons |
| brainstorming | obra/superpowers |
| create-agentsmd, git-commit, prd | github/awesome-copilot |
| find-skills | vercel-labs/skills |
| frontend-design, skill-creator | anthropics/skills |
| next-best-practices | vercel-labs/next-skills |
| shadcn | shadcn/ui |
| vercel-composition-patterns, vercel-react-best-practices, web-design-guidelines | vercel-labs/agent-skills |
| web-perf, wrangler | cloudflare/skills |
| safe-release | evgenest/safe-release |
MCP Servers
| Server | Transport | Purpose |
|---|---|---|
| tavily | stdio | Web search |
| context7 | stdio | Library documentation |
| exa | HTTP | Web search & fetch |
| 21st-magic | stdio | UI component generation |
Where Configs Are Written
| Target | File | Covers |
|---|---|---|
| Claude Code (global) | ~/.claude/settings.json | Claude Code CLI + VS Code extension |
| VS Code / GitHub Copilot (global) | %APPDATA%/Code/User/mcp.json | All VS Code projects on this machine |
| Antigravity (global) | ~/.gemini/antigravity/mcp_config.json | Google Antigravity across all projects |
| Cursor (global) | %USERPROFILE%\.cursor\mcp.json | Cursor across all projects |
| Windsurf (global) | %USERPROFILE%\.codeium\windsurf\mcp_config.json | Windsurf across all projects |
| Codex (global) | ~/.codex/config.toml | Codex CLI + IDE extension |
| Gemini CLI (global) | %USERPROFILE%\.gemini\settings.json | Gemini CLI across all projects |
| Kilo (global) | ~/.config/kilo/kilo.jsonc | Kilo across all projects |
Configuration
Enable / disable agents
Open config/agents.config.ts and toggle enabled:
{ id: "cursor", enabled: true, mcpTargets: ["cursor"] }, // turn on
{ id: "windsurf", enabled: false, mcpTargets: ["windsurf"] }, // turn offSkills and MCP setup targets are driven by agents with enabled: true.
You can also choose which setup phase to run without changing agent config:
bun run index.tsruns both skills and MCP setupbun run index.ts --skillsruns only skill installationbun run index.ts --mcpruns only MCP config generationbun run index.ts --skills --projectinstalls skills into the current project instead of using-gbun run index.ts --agents-config ./my-config/agents.config.ts --skills-config ./my-config/skills.config.tsinstalls skills from custom config filesbun run index.ts --agents-config ./my-config/agents.config.ts --mcp-config ./my-config/mcp.config.tswrites MCP config from custom config files
Current MCP target mapping:
claude-codewrites to~/.claude/settings.jsongithub-copilotwrites to%APPDATA%/Code/User/mcp.jsonantigravitywrites to~/.gemini/antigravity/mcp_config.jsoncursorwrites to%USERPROFILE%\.cursor\mcp.jsonwindsurfwrites to%USERPROFILE%\.codeium\windsurf\mcp_config.jsoncodexwrites to~/.codex/config.tomlgemini-cliwrites to%USERPROFILE%\.gemini\settings.jsonkilowrites to~/.config/kilo/kilo.jsonc
Antigravity note: custom servers are written to ~/.gemini/antigravity/mcp_config.json using Antigravity's own mcpServers format. Remote servers use serverUrl, and ${VAR} placeholders from config/mcp.config.ts are resolved to concrete values at setup time because the public Antigravity docs document literal values, not config-level env interpolation.
Add a skill
Open config/skills.config.ts and add an entry:
{
repo: "owner/repo-name",
skills: ["skill-name"],
},Add an MCP server
Open config/mcp.config.ts and add an entry. Use ${VAR_NAME} for environment variable references — the script auto-converts these to the correct syntax per tool.
stdio server:
"my-server": {
command: "npx",
args: ["-y", "my-mcp-package@latest"],
env: { MY_API_KEY: "${MY_API_KEY}" },
},For npx-based MCP servers, keep "-y" as the first argument so generated configs do not block on interactive install confirmation.
HTTP server:
"my-server": {
type: "http",
url: "https://mcp.example.com/mcp",
headers: { "Authorization": "Bearer ${MY_API_KEY}" },
},The built-in exa server follows this same pattern and sends Authorization: Bearer ${EXA_API_KEY}.
If you rely on the built-in MCP config, the CLI preview also reminds you which environment variables are referenced and whether any npx-based servers need "-y" as the first argument.
Project Structure
index.ts # Entry point — orchestrates setup
setup/
run.ts # Parses CLI flags and runs selected setup phases
skills.ts # Installs skills via bunx for active agents
mcp.ts # Thin MCP orchestrator and public setup exports
mcp/
core/ # Shared path/env/json/transform helpers
targets/ # One writer per MCP target
config/
agents.config.ts # Agent list with enabled/disabled flags and MCP target mapping
skills.config.ts # Skills and their source repos
mcp.config.ts # MCP server definitions and env var references