loading…
Search for a command to run...
loading…
On-demand access to 150+ specialist AI agent templates — search, browse, and spawn agents. 150x reduction in context usage vs loading agents locally.
On-demand access to 150+ specialist AI agent templates — search, browse, and spawn agents. 150x reduction in context usage vs loading agents locally.
npm version JSR CI License: MIT
One MCP config entry. 150+ specialist agents on demand. No manual setup.
Your AI assistant is a generalist. Sometimes you need a specialist -- a game economy designer, a security auditor, a technical writer. This MCP server gives your assistant instant access to 150+ expert agent templates. Describe what you need, it finds the right agent and spawns it.
You: "Help me design a balanced game economy"
Claude: [searches -> finds Game Economy Designer -> spawns it -> expert response]
Templates auto-fetch on first run from agency-agents and stay updated. You don't touch a thing.
You can. The agency-agents install script copies all 160+ agent files directly into your tool's config directory (e.g. ~/.claude/agents/). It works -- but every agent's name and description is loaded into the context window of every conversation, whether you use them or not.
We measured it:
| Approach | Context cost | When |
|---|---|---|
Installed agents (~/.claude/agents/) |
~8,300 tokens | Every conversation, always |
| MCP server (idle) | ~55 tokens | Every conversation |
| MCP server (searching) | ~350 tokens | Only when you search |
| MCP server (using an agent) | ~2,700 tokens | Only when you spawn one (median) |
That's a 150x reduction in baseline context usage. You get the same 160+ agents, but you only pay for the one you're actually using.
Installed agents (8,300 tokens): We ran the agency-agents install script (install.sh --tool claude-code), which copied 162 agent files to ~/.claude/agents/. Then opened a fresh Claude Code session and ran /context. Claude Code reported "Custom agents: 8.3k tokens" -- loaded into every conversation regardless of whether any agent is used.
MCP idle (55 tokens): With the MCP server configured instead, /context shows only the two deferred tool names (agency_search, agency_browse) and a brief server description in the system prompt. No agent data is loaded.
MCP searching (350 tokens): Measured by tokenizing the full JSON tool schemas that get loaded when the assistant calls ToolSearch to resolve the agency_search and agency_browse tools. Counted with @anthropic-ai/tokenizer.
MCP using an agent (2,700 tokens): The median token count across all 145 agent files, measured with @anthropic-ai/tokenizer. Only the single agent file you're actually using gets loaded into context. The range is 383–12,724 tokens depending on the agent (p25: 1,549, p75: 3,584).
As a plugin:
/plugin marketplace add npupko/agency-mcp-server
/plugin install agency@agency-mcp-server
Or via CLI:
claude mcp add agency -- npx -y agency-mcp-server
Add to your MCP config:
{
"mcpServers": {
"agency": {
"command": "npx",
"args": ["-y", "agency-mcp-server"]
}
}
}
That's it. First launch clones templates to ~/.cache/agency-mcp-server/ and pulls updates every 24 hours.
Ask your assistant:
"Search for a game economy designer agent"
You should see results from the agency_search tool. If it's the first run, templates will auto-download (~30 seconds).
Your assistant gets four tools:
agency_search(query, division?) -- describe a task, get matching agents with spawn instructionsagency_browse(division?) -- explore divisions and agents when you want to see what's availableagency_status() -- check index freshness: agent count, last update time, whether an update is availableagency_update() -- pull latest templates from git and rebuild the search index without restartingWhen you ask for help with something specific, your assistant calls agency_search, picks the best match, and spawns a subagent with that specialist's full system prompt. You get an expert response without ever touching a config file.
Agents are organized into divisions:
| Division | Examples |
|---|---|
| Engineering | Software Architect, DevOps Engineer, Technical Writer |
| Design | UI Designer, UX Researcher, Design Systems |
| Game Development | Game Economy Designer, Game Mechanics Designer |
| Marketing | Content Strategist, SEO Specialist, Email Marketing |
| Security & Specialized | Security Auditor, Data Scientist, Legal Analyst |
| ...and more | Academic, Sales, Strategy, Support, Testing, Spatial Computing |
All configuration is through environment variables in your MCP config:
| Variable | Default | Description |
|---|---|---|
AGENCY_AGENTS_PATH |
~/.cache/agency-mcp-server/agency-agents |
Path to agent templates. Set this to use your own templates instead of auto-cloning |
AGENCY_REPO_URL |
https://github.com/msitarzewski/agency-agents.git |
Git repo to clone templates from. Point at your fork |
AGENCY_AUTO_UPDATE |
true |
Set to false to disable automatic pulls |
AGENCY_UPDATE_INTERVAL |
24 |
Hours between update checks |
Point at a local directory:
{
"mcpServers": {
"agency": {
"command": "npx",
"args": ["-y", "agency-mcp-server"],
"env": {
"AGENCY_AGENTS_PATH": "/path/to/your/agent-templates"
}
}
}
}
Or clone from your own repo:
{
"mcpServers": {
"agency": {
"command": "npx",
"args": ["-y", "agency-mcp-server"],
"env": {
"AGENCY_REPO_URL": "https://github.com/yourorg/custom-agents.git"
}
}
}
}
Each agent is a Markdown file with YAML front-matter, organized by division:
engineering/
software-architect.md
devops-engineer.md
design/
ui-designer.md
game-development/
game-economy-designer.md
---
name: Software Architect
description: Expert software architect specializing in system design...
---
Full agent system prompt goes here.
The server indexes the name and description fields for search. The full Markdown body becomes the agent's system prompt when spawned.
agency_search(query, division?) -- find agents by task description, returns matches with file paths and a ready-to-use spawn templateagency_browse(division?) -- list all divisions, or list agents within a specific divisionagency_status() -- check index freshness: agent count, last update time, whether an update is dueagency_update() -- pull latest templates from git and rebuild the search index at runtimeagency://agents -- full agent index as JSONagency://divisions -- division list with counts and examplesuse-agent -- describe a task, get the best-matching agent with spawn instructionsnpm install
npm run build
# Run with auto-fetched templates
node dist/index.js
# Run with local templates
AGENCY_AGENTS_PATH=./my-agents node dist/index.js
# Type checking
npm run typecheck
# MCP Inspector
npm run inspect
Agent templates from agency-agents by @msitarzewski.
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"agency-mcp-server": {
"command": "npx",
"args": []
}
}
}