内容
# MCP-OS · 模型上下文协议编排系统
> **让您的大型语言模型专注于解决任务,而不是在一堆MCP中徘徊。**
> **👉 [查看中文版 README](./README_zh-CN.md)**
---
## ✨ 项目愿景
随着**模型上下文协议 (MCP)** 生态系统的爆炸式增长,数百个MCP服务器带来了三个常见的头痛问题:
| 痛点 | 描述 |
| ---- | ---- |
| **提示膨胀** | 冗长的MCP描述挤占了上下文窗口;模型花费更多的token在选择工具上,而不是**规划/分析**。 |
| **连接卫生** | 我们必须不断跟踪*哪些* MCP是活跃的,以及*它们是否*满足当前任务。 |
| **资源与安全** | 始终在线的MCP服务器消耗内存并暴露接口,增加了攻击面。 |
**MCP-OS** 旨在:
> *“以操作系统管理进程的方式管理MCP——按需加载,闲置时卸载。”*
---
## 🌟 当前阶段:MCP-Retriever(已完成 ✅)
1. **向量检索** — 嵌入任务描述并从向量索引中检索Top-k MCP。
2. **精简提示模板** — 仅注入*Top-k* MCP描述,平均节省约70%的提示token。
3. **可插拔后端** — 默认使用 `openai/embeddings`;可替换为FAISS、Qdrant、Milvus等。
> 📖 详细信息见 [`/packages/retriever`](./packages/retriever)。
---
## 🛣️ 路线图
| 里程碑 | 特性 | 状态 |
| ------ | ---- | ---- |
| **v0.1** | **MCP-Retriever** – 向量搜索 | ✅ 已发布 |
| **v0.2** | **MCP-Retriever** - 轻量版 | ⏳ 进行中 |
| **v0.3** | **健康检查守护进程** – 自动心跳与修剪 | ⏳ 进行中 |
| **v0.4** | **运行时管理器** – 按需启动/停止MCP | 🗓 计划中 |
| **v1.0** | **策略沙箱** – 细粒度授权、速率、成本 | 🗓 计划中 |
---
## ⚙️ 快速开始
### 1. 克隆并安装
```bash
git clone https://github.com/your-org/mcp-os.git
cd mcp-os
npm install # 或 npm / yarn
```
### 2. 构建向量索引
```bash
# 扫描本地/远程MCP元数据并创建索引
npm run build:index --src ./mcp_list.json --out ./index
```
### 3. 启动检索服务器
```bash
npm run start:retriever
# 默认监听127.0.0.1:5500 (HTTP + SSE)
```
### 4. 将其接入您的LLM / Agent
```jsonc
// 示例:Claude Desktop
{
"mcpServers": {
"mcp-os": {
"command": "/absolute/path/to/mcp-os/bin/retriever.js"
}
}
}
```
或者调用REST端点:
```bash
curl -X POST http://localhost:5500/match \
-H "Content-Type: application/json" \
-d '{"task": "抓取网页并提取其标题"}'
```
示例响应:
```json
{
"matches": [
{
"id": "web-scraper",
"score": 0.89,
"functions": ["fetchHtml", "querySelector"]
}
]
}
```
---
## 📂 仓库结构
```
mcp-os/
├─ packages/
│ ├─ retriever/ # 阶段 1:向量检索
│ ├─ health-check/ # 阶段 2:心跳守护进程(进行中)
│ └─ runtime-manager/ # 阶段 3:加载/卸载(计划中)
├─ scripts/ # CLI助手
├─ examples/ # 使用示例
└─ docs/ # 架构与深入探讨
```
---
## 🧩 MCP列表格式
`mcp_list.json` 描述MCP元数据:
```json
{
"web-scraper": {
"name": "网页抓取MCP",
"description": "抓取HTML并解析DOM。",
"functions": ["fetchHtml", "querySelector"]
},
"calc": { ... }
}
```
---
## ❓ 常见问题
<details>
<summary>检索质量差——我该如何调整?</summary>
* 增加 `topK` 以提高召回率。
* 切换到更强的嵌入模型。
* 精炼任务文本规范化规则。
</details>
<details>
<summary>我该如何接入自己的向量存储?</summary>
实现 `VectorStore` 接口:`src/store/yourStore.ts`。
</details>
---
## 🤝 贡献
1. **Fork** 仓库
2. 创建分支 `feature/awesome-stuff`
3. 打开PR并链接相关问题
4. 等待CI + 审核 🎉
---
## 📜 许可证
[Apache License v2](./LICENSE)
---
## 🙏 感谢
- **模型上下文协议** 社区提供的开放规范
- [MCP Inspector](https://github.com/modelcontextprotocol/inspector) 用于调试
- 所有提交问题或PR的人——谢谢你们!❤️
连接信息
猜你喜欢
everything-claude-code
完整的 Claude Code 配置集合 - agents、skills、hooks、commands、rules、MCPs。来自 Anthropic...
MarkItDown
将文件和办公文档转换为Markdown的Python工具。
awesome-claude-skills
一份精心整理的 Claude Skills、资源和工具列表,用于定制 Claude AI 工作流程
antigravity-awesome-skills
Claude Code/Antigravity/Cursor 的 130 多个 Agentic Skills 终极合集。 经过实战检验、高性能的 AI...
context-mode
MCP 是用于工具访问的协议。我们是上下文的虚拟化层。
claude-context-mode
claude-context-mode插件减少MCP上下文膨胀,节省高达99%的tokens。