协作MCP服务器
MCP(模型上下文协议)服务器,用于通过shell命令管理多个AI服务。
特性
- 多种AI服务:使用自定义名称和别名配置和管理多个AI服务
- Shell命令执行:将AI服务作为shell命令执行(而不是API调用)
- 灵活的配置:命令、型号、格式和选项的每个服务配置
- 角色与个性:自动将角色和个性注入提示中
- 推理模式:支持具有推理能力的独立推理模型
- 流JSON支持:解析和格式化流json输出
- 服务管理:用于管理服务的运行时MCP工具
- 双重运输:支持stdio(本地)和HTTP(远程)连接
安装
npm install
npm run build配置
服务已在中配置 config/services.json示例:
{
"services": [
{
"name": "제니",
"aliases": ["jenny"],
"command": "gemini",
"model": "gemini-2.5-fresh",
"inferenceModel": "gemini-2.5-pro",
"options": {
"promptFlag": "-p",
"modelFlag": "-m",
"dirFlag": "-d",
"inputFormat": "text",
"outputFormat": "text"
},
"env": {},
"role": "assistant",
"personality": "친근하고 도움이 되는",
"workingDir": null
}
]
}配置选项
name:唯一服务名称aliases:服务的替代名称(可选)command:要执行的Shell命令model:要使用的默认模型inferenceModel:推理模型/推理模式(可选)options:
- promptFlag:如何传递提示(-p 或 positional) - modelFlag:模型标志(例如。, -m) - dirFlag:目录标志(例如。, -d) - inputFormat: text 或 stream-json (默认值: text) - outputFormat: text 或 json (默认值: text) - inputFormatFlag:输入格式的标记(例如。, --input-format,可选) - outputFormatFlag:输出格式的标记(例如。, --output-format,可选)
env:环境变量(支持${VAR_NAME}替代)role:默认角色(例如。,assistant)personality:个性描述(添加到提示中)workingDir:工作目录(null=使用process.cwd()动态)
用法
标准模式(默认)
npm start
# or
MCP_TRANSPORT=stdio npm startHTTP模式
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 npm startMCP工具
chat_with_service:使用已配置的服务聊天
- service:服务名称或别名 - prompt:提示发送 - useInference:使用推理模型(可选) - model:覆盖模型(可选)
list_services:列出所有已配置的服务
get_service_config:获取服务配置
- nameOrAlias:服务名称或别名
add_service:添加新服务
- serviceConfig:服务配置对象
update_service:更新服务
- nameOrAlias:服务名称或别名 - updates:部分服务配置
remove_service:删除服务
- nameOrAlias:服务名称或别名
发展
npm run dev # Development mode with tsx
npm run build # Build TypeScript许可证
麻省理工学院
