Claude代理MCP服务器
一个集中式MCP(模型上下文协议)服务器,用于跨多个设备管理Claude代理定义、配置和自定义命令,而不会出现文件同步问题。
为什么存在
通过Nextcloud(或其他同步服务)同步Claude配置文件时,会出现文件锁定问题,原因如下:
- 克劳德密码锁定
history.jsonl,.update.lock,以及IDE文件 - 多个设备竞争相同的文件会导致同步冲突
- 会话数据不断变化,造成同步风暴
此MCP服务器通过以下方式解决了这些问题:
- 通过HTTP/stdio提供配置(无文件锁)
- 在SQLite数据库中集中代理定义
- 提供版本控制和冲突解决
- 在所有连接的Claude会话中启用实时更新
快速开始
地方发展
# Install dependencies
npm install
# Run migration to import existing configs
npm run migrate -- --source "G:/Nextcloud"
# Start development server
npm run devDocker部署
# Build and run
docker-compose up -d
# View logs
docker-compose logs -f claude-agents-mcp配置Claude代码
重要:MCP服务器已在您的 全局Claude配置文件:
- Linux/Mac:
~/.claude.json - 视窗:
C:\Users\\.claude.json
将MCP服务器配置添加到此文件中(Claude Code可能会在您首次构建服务器时自动添加):
{
"mcpServers": {
"claude-agents": {
"command": "node",
"args": ["/absolute/path/to/claude-agents-mcp/dist/index.js"],
"env": {
"CONFIG_DATA_PATH": "/absolute/path/to/claude-agents-mcp/data"
}
}
}
}备注:
- 使用 绝对路径 到内置服务器
- 服务器通过运行 标准 (克劳德代码启动时开始,退出时停止)
- 它不作为后台服务运行——数据保存在SQLite中,进程不
或通过HTTP API进行网络访问:
{
"mcpServers": {
"claude-agents": {
"url": "http://localhost:8765"
}
}
}MCP工具
代理管理
| 工具 | 说明 |
|---|---|
list_agents | 列出所有代理,可选择按类别筛选 |
get_agent | 检索特定代理定义 |
publish_agent | 创建或更新代理 |
delete_agent | 删除代理 |
search_agents | 按名称或内容搜索代理 |
全局配置
| 工具 | 说明 |
|---|---|
get_global_config | 获取CLAUDE.md、session_init或约束 |
set_global_config | 更新全局配置 |
自定义命令
| 工具 | 说明 |
|---|---|
list_commands | 列出所有自定义斜线命令 |
get_command | 检索命令定义 |
publish_command | 创建或更新命令 |
delete_command | 删除命令 |
项目上下文
| 工具 | 说明 |
|---|---|
get_project_context | 获取项目特定设置 |
set_project_context | 保存项目上下文 |
公用事业
| 工具 | 说明 |
|---|---|
get_sync_history | 查看最近的更改 |
HTTP API终结点
运行API服务器时(src/api.ts):
GET /api/agents # List all agents
GET /api/agents/:category # List agents by category
GET /api/agent/:name # Get agent content
POST /api/agent # Create/update agent
DELETE /api/agent/:name # Delete agent
GET /api/config/:type # Get global config
POST /api/config/:type # Set global config
GET /api/commands # List commands
GET /api/command/:name # Get command
POST /api/command # Create/update command
DELETE /api/command/:name # Delete command
GET /api/project/:id # Get project context
POST /api/project/:id # Set project context
GET /api/search?q=query # Search agents
GET /api/history?limit=50 # Sync history
GET /health # Health check代理类别
| 类别 | 描述 |
|---|---|
roles | 基于角色的代理(高级架构师等) |
contexts | 特定于上下文的提示(通用编码等) |
tasks | 任务导向型代理(重构、审查等) |
community | 社区贡献的代理人 |
brahma | Brahma系列专业代理商 |
迁移
从Nextcloud导入现有配置:
npm run migrate -- --source "G:/Nextcloud" --data "./data"这将导入:
- 来自的所有代理定义
AgentConfigs/.claude/agents/ - 来自的代理模板
AgentPrompts/ - 全局配置(CLAUDE.md、SESSION_INIT.md、AGENT_CONSTRAINTS.md)
- 自定义命令来自
.claude/commands/
目录结构
claude-agents-mcp/
├── src/
│ ├── index.ts # MCP server (stdio)
│ ├── api.ts # HTTP API wrapper
│ ├── db.ts # SQLite storage layer
│ └── migrate.ts # Migration script
├── data/
│ └── config.db # SQLite database
├── docker-compose.yml
├── Dockerfile
└── Dockerfile.api环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
CONFIG_DATA_PATH | ./data | 数据目录路径 |
API_PORT | 8765 | HTTP API端口 |
NODE_ENV | development | 环境模式 |
发展
# Watch mode
npm run dev
# Build
npm run build
# Run migration
npm run migrate
# Start production
npm start许可证
麻省理工学院
