名称: mcps
描述: MCP CLI 管理器 - 管理 MCP 服务器并调用工具
主页: https://github.com/maplezzk/mcps
元数据: {"clawdbot":{"emoji":"🔌","requires":{"bins":["mcps"]},"install":[{"id":"npm","kind":"node","package":"@maplezzk/mcps","bins":["mcps"],"label":"安装 mcps"}]}}
一个用于管理和调用 MCP(模型上下文协议)服务器的强大命令行工具。
npm install -g @maplezzk/mcps
# 添加 fetch 服务器(网页抓取)
mcps add fetch --command uvx --args mcp-server-fetch
# 添加 PostgreSQL 服务器
mcps add postgres --command npx --args @modelcontextprotocol/server-postgres --env POSTGRES_CONNECTION_STRING="${DATABASE_URL}"
# 添加 GitLab 服务器
mcps add gitlab --command npx --args gitlab-mcp-server
# 添加 SSE 服务器
mcps add remote --type sse --url http://localhost:8000/sse
# 添加 HTTP 服务器
mcps add http-server --type http --url http://localhost:8000/mcp
{
"servers": [
{
"name": "fetch",
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
},
{
"name": "postgres",
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "${DATABASE_URL}"
}
},
{
"name": "gitlab",
"type": "stdio",
"command": "npx",
"args": ["gitlab-mcp-server"],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "${GITLAB_TOKEN}",
"GITLAB_API_URL": "https://gitlab.com/api/v4"
}
}
]
}
注意:敏感数据请使用环境变量(格式为 ${VAR_NAME})。
# 1. 添加一个 MCP 服务器
mcps add fetch --command uvx --args mcp-server-fetch
# 2. 启动守护进程
mcps start
# 3. 检查状态
mcps status
# 4. 列出可用工具
mcps tools fetch
# 5. 调用工具
mcps call fetch fetch url="https://example.com"
| 命令 | 描述 |
|---|---|
mcps ls |
列出所有已配置的服务器 |
mcps add <名称> --command <命令> --args <参数> |
添加新服务器 |
mcps rm <名称> |
移除服务器 |
mcps update [名称] |
更新服务器配置 |
mcps update <名称> --disabled true |
禁用服务器 |
| 命令 | 描述 |
|---|---|
mcps start [--verbose] |
启动守护进程(--verbose 模式用于调试) |
mcps stop |
停止守护进程 |
mcps restart [服务器] |
重启守护进程或特定服务器 |
mcps status |
检查守护进程状态 |
| 命令 | 描述 |
|---|---|
mcps tools <服务器> [--simple] |
列出可用工具 |
mcps call <服务器> <工具> [参数...] |
调用工具 |
# 字符串值按原样发送
mcps call fetch fetch url="https://example.com"
# 数字和布尔值自动解析
mcps call fetch fetch max_length=5000 follow_redirects=true
# 发送:{ "max_length": 5000, "follow_redirects": true }
# JSON 对象(外部使用单引号)
mcps call my-server createUser user='{"name": "Alice", "age": 30}'
# 对于 SQL ID、代码或不应解析的字符串,使用 --raw
mcps call my-db createOrder --raw order_id="12345" sku="ABC-001"
# 发送:{ "order_id": "12345", "sku": "ABC-001" }
# 包含特殊字符的 SQL
mcps call alibaba-dms createDataChangeOrder --raw \
database_id="123" \
script="DELETE FROM table WHERE id = 'xxx';" \
logic="true"
# 从 JSON 字符串
mcps call my-server createUser --json '{"name": "Alice", "age": 30}'
# 从文件
mcps call my-server createUser --json params.json
# 抓取网页内容
mcps call fetch fetch url="https://example.com" max_length=5000
# 深度抓取(跟踪链接)
mcps call fetch fetch url="https://example.com" follow_redirects=true max_depth=2
# 过滤抓取
mcps call fetch fetch url="https://news.example.com" include_tags='["article", "p"]' exclude_tags='["script", "style"]'
# 查询数据(自动解析参数)
mcps call postgres query sql="SELECT * FROM users WHERE active = true LIMIT 10"
# 保持参数为字符串(使用 --raw)
mcps call postgres query --raw sql="SELECT * FROM orders WHERE id = '12345'"
# JSON 对象参数
mcps call my-server createUser user='{"name": "Alice", "age": 30, "tags": ["admin", "user"]}'
# 从文件加载 JSON
mcps call my-server createUser --json user.json
# 混合参数(部分自动解析,部分保持原始)
mcps call my-server update --raw id="123" data='{"name": "Updated"}'
# 查看所有服务器配置
mcps ls
# 检查活动连接
mcps status
# 重启单个服务器
mcps restart postgres
# 重启所有服务器
mcps restart
# 禁用服务器(不删除配置)
mcps update my-server --disabled true
# 移除服务器
mcps rm my-server
# 仅显示工具名称(简单模式)
mcps tools postgres --simple
# 按关键词过滤工具
mcps tools postgres --tool query --tool describe
# 查找包含 "create" 的工具
mcps tools postgres --tool create
~/.mcps/mcp.jsonMCPS_CONFIG_DIR:配置目录MCPS_PORT:守护进程端口(默认:4100)MCPS_VERBOSE:详细日志模式问:如何检查服务器状态?
mcps status # 检查活动连接
mcps ls # 检查所有配置(包括已禁用的)
问:服务器连接失败?
mcps start --verbose # 查看详细日志
mcps restart my-server # 重启特定服务器
问:如何快速查找工具?
mcps tools my-server --tool 关键词 # 按关键词过滤
mcps tools my-server --simple # 仅显示名称
问:参数中包含特殊字符(如 SQL)?
# 使用 --raw 保持字符串格式
mcps call alibaba-dms createDataChangeOrder --raw \
database_id="123" \
script="DELETE FROM table WHERE id = 'xxx';" \
logic="true"
问:守护进程启动缓慢?
- 首次启动会加载所有服务器,10-15 秒是正常的
- 后续启动会更快(约 2 秒)
- 使用 mcps ls 可在不启动守护进程的情况下检查配置