内容
# 代理MCP服务器
[](https://www.npmjs.com/package/agency-mcp-server)
[](https://jsr.io/@npupko/agency-mcp-server)
[](https://github.com/npupko/agency-mcp-server/actions/workflows/ci.yml)
[](https://opensource.org/licenses/MIT)
> 一个MCP配置入口。150多个专业代理随时可用。无需手动设置。
您的AI助手是一个通才。有时您需要一个专家——游戏经济设计师、安全审计员、技术作家。此MCP服务器让您的助手即时访问150多个专家代理模板。描述您需要的内容,它会找到合适的代理并启动它。
```
您: “帮助我设计一个平衡的游戏经济”
克劳德: [搜索 -> 找到游戏经济设计师 -> 启动它 -> 专家回应]
```
模板在首次运行时会自动从 [agency-agents](https://github.com/msitarzewski/agency-agents) 获取并保持更新。您无需进行任何操作。
## 为什么不直接安装代理?
您可以这样做。[agency-agents](https://github.com/msitarzewski/agency-agents) 安装脚本会将所有160多个代理文件直接复制到您的工具配置目录中(例如 `~/.claude/agents/`)。它可以工作——但每个代理的名称和描述都会被加载到每个对话的上下文窗口中,无论您是否使用它们。
我们进行了测量:
| 方法 | 上下文成本 | 时间 |
| --- | --- | --- |
| 已安装代理(`~/.claude/agents/`) | **约8,300个标记** | 每次对话,始终 |
| MCP服务器(空闲) | **约55个标记** | 每次对话 |
| MCP服务器(搜索中) | **约350个标记** | 仅在搜索时 |
| MCP服务器(使用代理) | **约2,700个标记** | 仅在启动代理时(中位数) |
这相当于**减少150倍**的基准上下文使用量。您可以获得相同的160多个代理,但您只需为实际使用的代理付费。
<details>
<summary>我们的测量方法</summary>
**已安装代理(8,300个标记):** 我们运行了代理-agents安装脚本(`install.sh --tool claude-code`),该脚本将162个代理文件复制到 `~/.claude/agents/`。然后打开一个新的Claude Code会话并运行 `/context`。Claude Code报告“自定义代理:8.3k标记” - 加载到每个对话中,无论是否使用代理。
**MCP空闲(55个标记):** 配置MCP服务器后, `/context`仅显示两个延迟工具名称(`agency_search`,`agency_browse`)和系统提示中的简要服务器描述。没有加载代理数据。
**MCP搜索(350个标记):** 通过在助手调用 `ToolSearch` 以解析 `agency_search` 和 `agency_browse` 工具时加载的完整JSON工具模式进行测量。使用 `@anthropic-ai/tokenizer` 进行计数。
**MCP使用代理(2,700个标记):** 测量所有145个代理文件的中位数标记数,使用 `@anthropic-ai/tokenizer`。只有您实际使用的单个代理文件被加载到上下文中。范围是 383–12,724 标记,具体取决于代理(p25:1,549,p75:3,584)。
</details>
## 快速入门
### 克劳德代码
作为插件:
```bash
/plugin marketplace add npupko/agency-mcp-server
/plugin install agency@agency-mcp-server
```
或通过CLI:
```bash
claude mcp add agency -- npx -y agency-mcp-server
```
### Cursor、Windsurf和其他MCP客户端
将以下内容添加到您的MCP配置中:
```json
{
"mcpServers": {
"agency": {
"command": "npx",
"args": ["-y", "agency-mcp-server"]
}
}
}
```
就这样。首次启动时会克隆模板到 `~/.cache/agency-mcp-server/` 并每24小时拉取更新。
### 验证其工作
询问您的助手:
> “搜索游戏经济设计师代理”
您应该会看到 `agency_search` 工具的结果。如果是第一次运行,模板将自动下载(约30秒)。
## 工作原理
您的助手获得四个工具:
1. **`agency_search(query, division?)`** -- 描述任务,获取匹配的代理和启动指令
2. **`agency_browse(division?)`** -- 探索部门和代理,查看可用内容
3. **`agency_status()`** -- 检查索引新鲜度:代理数量、上次更新时间、是否有更新可用
4. **`agency_update()`** -- 从git拉取最新模板,在不重启的情况下重建搜索索引
当您请求特定帮助时,您的助手会调用 `agency_search`,选择最佳匹配,并启动具有该专家完整系统提示的次级代理。您无需触摸配置文件即可获得专家回应。
### 可用内容
代理被组织成部门:
| 部门 | 示例 |
| --- | --- |
| 工程 | 软件架构师、DevOps工程师、技术作家 |
| 设计 | UI设计师、UX研究员、设计系统 |
| 游戏开发 | 游戏经济设计师、游戏机制设计师 |
| 营销 | 内容策略师、SEO专家、电子邮件营销 |
| 安全和专业 | 安全审计员、数据科学家、法律分析师 |
| ...及其他 | 学术、销售、战略、支持、测试、空间计算 |
## 配置
所有配置均通过MCP配置中的环境变量进行:
| 变量 | 默认值 | 描述 |
| --- | --- | --- |
| `AGENCY_AGENTS_PATH` | `~/.cache/agency-mcp-server/agency-agents` | 代理模板路径。设置此变量以使用您自己的模板,而不是自动克隆 |
| `AGENCY_REPO_URL` | `https://github.com/msitarzewski/agency-agents.git` | 克隆模板的Git仓库。指向您的分支 |
| `AGENCY_AUTO_UPDATE` | `true` | 设置为 `false` 以禁用自动拉取 |
| `AGENCY_UPDATE_INTERVAL` | `24` | 更新检查之间的小时数 |
### 使用您自己的模板
指向本地目录:
```json
{
"mcpServers": {
"agency": {
"command": "npx",
"args": ["-y", "agency-mcp-server"],
"env": {
"AGENCY_AGENTS_PATH": "/path/to/your/agent-templates"
}
}
}
}
```
或从您自己的仓库克隆:
```json
{
"mcpServers": {
"agency": {
"command": "npx",
"args": ["-y", "agency-mcp-server"],
"env": {
"AGENCY_REPO_URL": "https://github.com/yourorg/custom-agents.git"
}
}
}
}
```
### 模板格式
每个代理都是一个带有YAML前置信息的Markdown文件,按部门组织:
```
engineering/
software-architect.md
devops-engineer.md
design/
ui-designer.md
game-development/
game-economy-designer.md
```
```yaml
---
name: 软件架构师
description: 擅长系统设计的专家软件架构师...
---
完整的代理系统提示在这里。
```
服务器索引 `name` 和 `description` 字段用于搜索。完整的Markdown正文成为代理的系统提示。
## MCP接口
### 工具
- **`agency_search(query, division?)`** -- 按任务描述查找代理,返回具有文件路径和即用型启动模板的匹配结果
- **`agency_browse(division?)`** -- 列出所有部门,或列出特定部门内的代理
- **`agency_status()`** -- 检查索引新鲜度:代理数量、上次更新时间、是否到期
- **`agency_update()`** -- 在运行时拉取最新模板并重建搜索索引
### 资源
- **`agency://agents`** -- 完整的代理索引为JSON
- **`agency://divisions`** -- 部门列表,包含计数和示例
### 提示
- **`use-agent`** -- 描述任务,获取具有启动指令的最佳匹配代理
## 开发
```bash
npm install
npm run build
# 运行自动获取模板
node dist/index.js
# 运行本地模板
AGENCY_AGENTS_PATH=./my-agents node dist/index.js
# 类型检查
npm run typecheck
# MCP检查
npm run inspect
```
## 致谢
来自[@msitarzewski](https://github.com/msitarzewski)的[agency-agents](https://github.com/msitarzewski/agency-agents)代理模板。
## 许可证
MIT