关于 MCP-OS · Model Context Protocol Orchestration System
MCP-OS 是用于按任务检索 MCP 服务的编排系统,面向希望精简 LLM 工具上下文的开发者。当前阶段通过向量检索选出相关服务,并仅注入匹配项的描述;按需启停等能力仍在路线图中。
主要功能
- 01按任务向量检索 MCP 服务
- 02仅注入匹配服务描述
- 03支持可插拔向量后端
- 04提供 HTTP 与 SSE 检索服务
适用场景
- 01为任务筛选相关 MCP 服务
- 02减少提示词中的工具描述
- 03替换或自定义向量存储后端
MCP 相关
该项目提供 MCP Retriever 服务,可通过 MCP 配置或 REST 端点检索匹配任务的 MCP 服务。运行时启停和策略沙箱仍属规划功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP-OS · Model Context Protocol 编排系统
让你的大模型专注于解决任务,而不是在 MCP 的海洋中摸索。
✨ 项目愿景
随着 Model Context Protocol(MCP) 生态蓬勃发展,数百个 MCP 服务带来了三个常见难题:
| 痛点 | 描述 |
|---|---|
| 提示词膨胀 | 冗长的 MCP 描述挤占上下文窗口;模型花在挑选工具上的 token 比花在规划/分析上的还多。 |
| 连接管理 | 我们必须持续跟踪哪些 MCP 服务处于活动状态,以及它们是否满足当前任务的需求。 |
| 资源与安全 | 始终运行的 MCP 服务会占用内存并暴露接口,从而扩大攻击面。 |
MCP-OS 的目标是:
“像操作系统管理进程那样管理 MCP——按需加载,空闲时卸载。”
🌟 当前阶段:MCP-Retriever(已完成 ✅)
- 向量检索 — 嵌入任务描述,并从向量索引中检索 Top-k 个 MCP。
- 精简提示词模板 — 仅注入 Top-k 个 MCP 描述,平均节省约 70 % 的提示词 token。
- 可插拔后端 — 默认使用
openai/embeddings;可替换为 FAISS、Qdrant、Milvus 等。
📖 详情请参阅
/packages/retriever。
🛣️ 路线图
| 里程碑 | 功能 | 状态 |
|---|---|---|
| v0.1 | MCP-Retriever – 向量搜索 | ✅ 已发布 |
| v0.2 | MCP-Retriever - 轻量版 | ⏳ 进行中 |
| v0.3 | 健康检查守护进程 – 自动心跳与清理 | ⏳ 进行中 |
| v0.4 | 运行时管理器 – 按需启动/停止 MCP | 🗓 计划中 |
| v1.0 | 策略沙箱 – 精细化授权、速率与成本控制 | 🗓 计划中 |
⚙️ 快速开始
1. 克隆并安装
git clone https://github.com/your-org/mcp-os.git
cd mcp-os
npm install # or npm / yarn
2. 构建向量索引
# Scan local / remote MCP metadata and create an index
npm run build:index --src ./mcp_list.json --out ./index
3. 启动检索器服务
npm run start:retriever
# Default listens on 127.0.0.1:5500 (HTTP + SSE)
4. 将其接入你的大模型/Agent
// Example: Claude Desktop
{
"mcpServers": {
"mcp-os": {
"command": "/absolute/path/to/mcp-os/bin/retriever.js"
}
}
}
或者调用 REST 端点:
curl -X POST http://localhost:5500/match \
-H "Content-Type: application/json" \
-d '{"task": "Scrape a web page and extract its title"}'
示例响应:
{
"matches": [
{
"id": "web-scraper",
"score": 0.89,
"functions": ["fetchHtml", "querySelector"]
}
]
}
📂 仓库结构
mcp-os/
├─ packages/
│ ├─ retriever/ # Phase 1: vector retrieval
│ ├─ health-check/ # Phase 2: heartbeat daemon (WIP)
│ └─ runtime-manager/ # Phase 3: load/unload (planned)
├─ scripts/ # CLI helpers
├─ examples/ # Usage demos
└─ docs/ # Architecture & deep dives
🧩 MCP 列表格式
mcp_list.json 描述 MCP 元数据:
{
"web-scraper": {
"name": "Web Scraper MCP",
"description": "Fetches HTML and parses DOM.",
"functions": ["fetchHtml", "querySelector"]
},
"calc": { ... }
}
❓ 常见问题
检索效果不佳——如何调整?
- 提高
topK以提升召回率。 - 换用更强大的嵌入模型。
- 优化任务文本规范化规则。
如何接入我自己的向量存储?
实现 VectorStore 接口:src/store/yourStore.ts。
🤝 参与贡献
- Fork 此仓库
- 创建分支
feature/awesome-stuff - 提交 PR 并关联相关问题
- 等待 CI 和评审 🎉
📜 许可证
🙏 致谢
- 感谢 Model Context Protocol 社区制定开放规范
- 感谢 MCP Inspector 提供调试工具
- 感谢所有提交问题或 PR 的人!❤️
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。