MCP配置管理工具

mcpcm是一个用于管理MCP服务器配置的Monorepo项目,包含TypeScript CLI和FastAPI后端,支持本地配置管理和远程数据查询。

  • by AsteriskZuo
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 AsteriskZuo/mcpcm

使用说明

mcpcm Monorepo

英语 | 简体中文

mcpcm 是一个包含以下内容的monorepo:

  • 用于跨AI代理管理MCP服务器配置的TypeScript CLI。
  • 用于接收安装事件和查询共享MCP记录的FastAPI后端。

仓库结构

  • cli/: mcpcm CLI包(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 <keyword> 查询 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 --reload

API默认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 cursor

3.将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 -- <command>
npm run build
npm run type-check
npm test
npm run format:check

主要CLI命令:

  • add
  • update
  • del
  • list
  • find
  • sync

APIapi/)

uv sync
uv run uvicorn main:app --reload
uv run pytest
uv run ruff check .
uv run ruff format .

环境变量

命令行界面

  • MCPPCM_SERVER_URL:遥测和在线查找的后端基本URL
  • MCPPCM_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 /health
  • POST /v1/ingest/mcp-servers
  • GET /v1/query/mcp-servers

细节: api/docs/api-contract.md

开发说明

  • 有关回购范围内的贡献和工作流规则,请参阅 AGENTS.md.
  • 有关模块特定规则,请参阅:
    • cli/AGENTS.md
    • api/AGENTS.md