mcpcm Monorepo
mcpcm 是一个包含以下内容的monorepo:
- 用于跨AI代理管理MCP服务器配置的TypeScript CLI。
- 用于接收安装事件和查询共享MCP记录的FastAPI后端。
仓库结构
cli/:mcpcmCLI包(Types/Node.js)api/:mcpcm-server后端(Python/FastAPI+SQLite)docs/:共享笔记(例如OpenSpec用法)docker/:容器资产(保留)
组件如何协同工作
- 本地配置管理:
- mcpcm add, update, del, list, find (本地模式)对代理配置文件进行操作。
- 可选后端集成:
- mcpcm add 可以上传安装遥测数据到 POST /v1/ingest/mcp-servers. - mcpcm find --online 查询 GET /v1/query/mcp-servers.
集 MCPPCM_SERVER_URL (或 MCPPCM_API_BASE_URL)以启用来自CLI的后端调用。
先决条件
- Node.js
>=18(为cli/) - python
>=3.11(为api/) uv(Python包管理器/运行器)
快速开始
1.运行API服务器
cd api
uv sync
uv run uvicorn main:app --reloadAPI默认URL: http://127.0.0.1:8000\ 健康检查: GET /health
2.运行CLI
cd cli
npm install
npm run dev -- --help例子:
npm run dev -- add '{"mcpServers":{"my-server":{"command":"node","args":["/path/to/server"]}}}' --agent cursor3.将CLI连接到API(可选,但建议使用)
export MCPPCM_SERVER_URL=http://127.0.0.1:8000
cd cli
npm run dev -- find --online my-server关键命令
CLI(cli/)
npm run dev --
npm run build
npm run type-check
npm test
npm run format:check主要CLI命令:
addupdatedellistfindsync
APIapi/)
uv sync
uv run uvicorn main:app --reload
uv run pytest
uv run ruff check .
uv run ruff format .环境变量
命令行界面
MCPPCM_SERVER_URL:遥测和在线查找的后端基本URLMCPPCM_API_BASE_URL:后端基本URL的回退别名MCPPCM_TELEMETRY_TIMEOUT_MS:遥测请求超时(ms,默认值3000)
API
MCPPCM_HOST(默认值:127.0.0.1)MCPPCM_PORT(默认值:8000)MCPPCM_DATABASE_URL(默认值:sqlite:///./data/mcpcm.db)MCPPCM_MAX_INGEST_PAYLOAD_BYTES(默认值:65536)
API终点
GET /healthPOST /v1/ingest/mcp-serversGET /v1/query/mcp-servers
细节: api/docs/api-contract.md
开发说明
- 有关回购范围内的贡献和工作流规则,请参阅
AGENTS.md. - 有关模块特定规则,请参阅:
- cli/AGENTS.md - api/AGENTS.md
