agency-mcp-server
agency-mcp-server
Una entrada de configuración MCP. Más de 150 agentes especializados bajo demanda. Sin configuración manual.
Tu asistente de IA es un generalista. A veces necesitas un especialista: un diseñador de economía de juegos, un auditor de seguridad, un redactor técnico. Este servidor MCP le da a tu asistente acceso instantáneo a más de 150 plantillas de agentes expertos. Describe lo que necesitas, encuentra al agente adecuado y lo crea.
You: "Help me design a balanced game economy"
Claude: [searches -> finds Game Economy Designer -> spawns it -> expert response]Las plantillas se obtienen automáticamente en la primera ejecución desde agency-agents y se mantienen actualizadas. No tienes que tocar nada.
¿Por qué no instalar los agentes localmente?
Puedes hacerlo. El script de instalación de agency-agents copia los más de 160 archivos de agentes directamente en el directorio de configuración de tu herramienta (por ejemplo, ~/.claude/agents/). Funciona, pero el nombre y la descripción de cada agente se cargan en la ventana de contexto de cada conversación, los uses o no.
Lo hemos medido:
Enfoque | Coste de contexto | Cuándo |
Agentes instalados ( | ~8,300 tokens | Cada conversación, siempre |
Servidor MCP (inactivo) | ~55 tokens | Cada conversación |
Servidor MCP (buscando) | ~350 tokens | Solo cuando buscas |
Servidor MCP (usando un agente) | ~2,700 tokens | Solo cuando creas uno (mediana) |
Eso es una reducción de 150 veces en el uso de contexto base. Obtienes los mismos más de 160 agentes, pero solo pagas por el que realmente estás usando.
Agentes instalados (8,300 tokens): Ejecutamos el script de instalación de agency-agents (install.sh --tool claude-code), que copió 162 archivos de agentes a ~/.claude/agents/. Luego abrimos una nueva sesión de Claude Code y ejecutamos /context. Claude Code informó "Custom agents: 8.3k tokens", cargados en cada conversación independientemente de si se usa algún agente.
MCP inactivo (55 tokens): Con el servidor MCP configurado en su lugar, /context muestra solo los dos nombres de herramientas diferidas (agency_search, agency_browse) y una breve descripción del servidor en el prompt del sistema. No se cargan datos de agentes.
MCP buscando (350 tokens): Medido mediante la tokenización de los esquemas JSON completos de las herramientas que se cargan cuando el asistente llama a ToolSearch para resolver las herramientas agency_search y agency_browse. Contado con @anthropic-ai/tokenizer.
MCP usando un agente (2,700 tokens): El recuento de tokens mediano en los 145 archivos de agentes, medido con @anthropic-ai/tokenizer. Solo el archivo del agente que realmente estás usando se carga en el contexto. El rango es de 383 a 12,724 tokens dependiendo del agente (p25: 1,549, p75: 3,584).
Related MCP server: pantheon-mcp
Inicio rápido
Claude Code
Como plugin:
/plugin marketplace add npupko/agency-mcp-server
/plugin install agency@agency-mcp-serverO vía CLI:
claude mcp add agency -- npx -y agency-mcp-serverCursor, Windsurf y otros clientes MCP
Añade a tu configuración MCP:
{
"mcpServers": {
"agency": {
"command": "npx",
"args": ["-y", "agency-mcp-server"]
}
}
}Eso es todo. El primer lanzamiento clona las plantillas en ~/.cache/agency-mcp-server/ y busca actualizaciones cada 24 horas.
Verifica que funciona
Pregúntale a tu asistente:
"Search for a game economy designer agent"
Deberías ver resultados de la herramienta agency_search. Si es la primera ejecución, las plantillas se descargarán automáticamente (~30 segundos).
Cómo funciona
Tu asistente obtiene cuatro herramientas:
agency_search(query, division?)-- describe una tarea, obtén agentes coincidentes con instrucciones de creaciónagency_browse(division?)-- explora divisiones y agentes cuando quieras ver qué hay disponibleagency_status()-- verifica la frescura del índice: recuento de agentes, hora de la última actualización, si hay una actualización disponibleagency_update()-- obtén las últimas plantillas de git y reconstruye el índice de búsqueda sin reiniciar
Cuando pides ayuda con algo específico, tu asistente llama a agency_search, elige la mejor coincidencia y crea un subagente con el prompt del sistema completo de ese especialista. Obtienes una respuesta experta sin tocar nunca un archivo de configuración.
Qué hay disponible
Los agentes están organizados en divisiones:
División | Ejemplos |
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 |
...y más | Academic, Sales, Strategy, Support, Testing, Spatial Computing |
Configuración
Toda la configuración se realiza a través de variables de entorno en tu configuración MCP:
Variable | Predeterminado | Descripción |
|
| Ruta a las plantillas de agentes. Configúralo para usar tus propias plantillas en lugar de la clonación automática |
|
| Repositorio Git desde el que clonar plantillas. Apunta a tu fork |
|
| Configura como |
|
| Horas entre comprobaciones de actualización |
Usa tus propias plantillas
Apunta a un directorio local:
{
"mcpServers": {
"agency": {
"command": "npx",
"args": ["-y", "agency-mcp-server"],
"env": {
"AGENCY_AGENTS_PATH": "/path/to/your/agent-templates"
}
}
}
}O clona desde tu propio repositorio:
{
"mcpServers": {
"agency": {
"command": "npx",
"args": ["-y", "agency-mcp-server"],
"env": {
"AGENCY_REPO_URL": "https://github.com/yourorg/custom-agents.git"
}
}
}
}Formato de plantilla
Cada agente es un archivo Markdown con front-matter YAML, organizado por división:
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.El servidor indexa los campos name y description para la búsqueda. El cuerpo completo en Markdown se convierte en el prompt del sistema del agente cuando se crea.
Interfaz MCP
Herramientas
agency_search(query, division?)-- encuentra agentes por descripción de tarea, devuelve coincidencias con rutas de archivo y una plantilla de creación lista para usaragency_browse(division?)-- enumera todas las divisiones, o enumera agentes dentro de una división específicaagency_status()-- verifica la frescura del índice: recuento de agentes, hora de la última actualización, si hay una actualización pendienteagency_update()-- obtén las últimas plantillas de git y reconstruye el índice de búsqueda en tiempo de ejecución
Recursos
agency://agents-- índice completo de agentes como JSONagency://divisions-- lista de divisiones con recuentos y ejemplos
Prompts
use-agent-- describe una tarea, obtén el agente que mejor coincida con instrucciones de creación
Desarrollo
npm 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 inspectCréditos
Plantillas de agentes de agency-agents por @msitarzewski.
Licencia
MIT
Available Tools
4 toolsagency_browseARead-onlyIdempotent
Browse all agent divisions and their agents. Explore the agent registry when you want to see what's available. Use agency_search instead if you already know what kind of agent you need. Call with no arguments to see all divisions. Pass a division name to list its agents.
| Name | Required | Description | Default |
|---|---|---|---|
| division | No | Division to list agents for (omit to see all divisions) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, non-destructive, idempotent behavior. The description adds clarity on how to invoke different behaviors (no args vs division), but does not add novel behavioral traits beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, well-structured with usecase and instructions tags, and front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (1 optional param, no output schema), the description provides complete guidance on usage and alternatives, leaving no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the division parameter. The description restates the schema's intent without adding new semantic detail, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Browse all agent divisions and their agents.' It differentiates from sibling agency_search by recommending its use when knowing the agent type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit instructions: 'Call with no arguments to see all divisions. Pass a division name to list its agents.' Also includes when to use agency_search instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agency_searchARead-onlyIdempotent
Find and launch a specialized agent for any task. Search agent templates by keyword. Returns matching agents with file paths and a spawn template. Call this before spawning any agency subagent.
Pass a task description as query (e.g. 'game mechanics', 'security audit')
Pick the best match from results
Spawn a subagent using the template at the bottom — replace with the file path and <describe the user's task> with the user's full, unabridged request
Return the subagent's response directly to the user without summarizing it
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Task or keyword to search for (e.g. 'game mechanics', 'frontend React', 'security audit') | |
| division | No | Optional: narrow to a division (e.g. 'engineering', 'game-development') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds behavioral details like output format (matching agents with file paths and spawn template) and the spawning workflow. It does not contradict annotations and provides useful context beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with <usecase> and <instructions> tags, front-loading the main purpose. Each sentence adds value, though the instructions are detailed. It is concise for the complexity involved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description comprehensively explains the output (matching agents with file paths and spawn template) and provides full workflow instructions. Given the tool's complexity and the annotations covering safety, the description is complete enough for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description adds example values for query (e.g., 'game mechanics') and division (e.g., 'engineering'), and clarifies that query should be a task description, enhancing the schema's meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Find and launch a specialized agent for any task' and the usecase elaborates on searching agent templates by keyword, returning file paths and spawn templates. It distinguishes from siblings (agency_browse, agency_status, agency_update) by focusing on search and spawning, not browsing, status, or updates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'Call this before spawning any agency subagent' and provides step-by-step instructions on how to use it: pass task description, pick best match, spawn using the template, and return response directly. This gives clear when-to-use and how-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agency_statusARead-onlyIdempotent
Check the current status of the agent index — last update time, whether an update is available, and agent count.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, non-destructive, and idempotent. The description adds valuable behavioral details: what specific data the tool returns (last update time, update availability, agent count), which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no fluff. It front-loads the purpose and efficiently conveys the key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 params, no output schema), the description fully informs the agent of what the tool does and what to expect. It covers all necessary aspects for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the description does not need to add param meaning. The baseline for 0 params is 4, and the description effectively explains the output, compensating for the absence of an output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'check' and the resource 'agent index status', and specifies the three pieces of information returned (last update time, update availability, agent count). This distinguishes it from sibling tools like agency_browse or agency_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (for a quick status check) but does not explicitly state alternatives or when not to use. No guidance on context or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agency_updateAIdempotent
Pull latest agent templates from git (if applicable) and rebuild the search index.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true, but description adds context: pulling from git (with 'if applicable') and rebuilding the search index. This clarifies the exact side effect beyond the annotation flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff. Every word adds value: specifies action, resource, and condition ('if applicable'). Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and a simple action, the description is sufficient. It covers the essential behavior and conditionality, making it complete for an agent to understand and invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in schema; schema coverage is 100%. Description adds no parameter info, but baseline for 0 parameters is 4. No need for additional parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'pull' and 'rebuild' on specific resources 'agent templates' and 'search index'. Distinguishes from sibling tools (browse, search, status) as an update operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. However, the idempotentHint annotation implies it can be called repeatedly without side effects, and siblings handle other tasks. Lacks explicit alternatives or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.3.1- First observed
agency_browse - First observed
agency_search - First observed
agency_status - First observed
agency_update
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: browse lists divisions/agents, search finds agents by keyword with spawn templates, status checks index health, update refreshes the index. No overlap.
All tools follow a consistent 'agency_' + verb in snake_case pattern (browse, search, status, update), making it predictable and easy to understand.
With 4 tools, the server is slightly on the minimal side but still well-scoped for agent registry operations. Each tool serves a distinct purpose without redundancy.
The tool surface covers the core workflows: browsing, searching, status checking, and updating. Minor gap is the lack of a direct spawn tool, but search provides a template for spawning.
Maintenance
Related MCP Connectors
150+ vertical AI expert bots as agent tools. $1 bots run on YOUR machine - your data stays yours.
Contextual prompts and agent skills for 140+ AI platforms.
Discover, inspect and run 63,000+ agent tools from one balance. Pay per call, no subscriptions.
AI agent tools: web search, browser, 400+ LLMs, image gen, TTS, phone verify. Pay-per-use.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA multi-agent collaboration platform that provides access to over 1,500 models from 68 providers via the Model Context Protocol. It enables users to assemble and coordinate specialized AI teams using advanced orchestration modes like swarm, debate, and hierarchical workflows.2AGPL 3.0
- AlicenseAqualityDmaintenanceEnables AI agents to access a collection of specialized agent instructions on demand, covering categories like tech, business, growth, and product.37 npm8MIT
- AlicenseNot gradedqualityDmaintenanceProvides efficient knowledge-graph queries and unrestricted shell delegation for AI agents, reducing token usage by 80-150x and bypassing app tier restrictions.1MIT
- AlicenseNot gradedqualityAmaintenanceProvides context-aware skill selection for AI agents, reducing token usage by 85-98% and improving accuracy through semantic retrieval, session memory, and feedback learning.1MIT