内容
<div align="center">
# 🪩 DiscoMCP
**您的代理,遇见您的工具和上下文。**
教任何AI代理如何安全地使用它连接的工具,只需一个命令。
[](https://github.com/ieranama/discomcp/actions/workflows/ci.yml)
[](https://github.com/ieranama/discomcp/releases)
[](#license)
</div>
代理在编码方面表现出色,但它们在您的工具中迷失了方向——它们不知道一百种操作中哪一种是重要的,您的數據如何连接,或者什么可以安全地触摸。所以它们会猜测,或者它们会冻结。
DiscoMCP解决了这个问题。指向任何MCP服务器,它都会为您提供一个技能,教您的代理如何使用它——不是一个通用的工具列表,而是您的工作流、您的数据、您实际使用的视图、表格和记录、回答您真正问题的序列,以及一个结果如何引导下一个结果。通过观察您自己的工作空间学习,无需进行任何更改。
工具目录告诉代理服务器有90种操作。DiscoMCP告诉它您实际使用的5种操作,按照您使用它们的顺序,针对真正存在的数据。
## 为什么团队使用它
| | |
| --- | --- |
| 🎯 **根据您的工作方式量身定制** | 不是一个通用的能力转储——而是您使用情况的配置文件:您的工作流、您的约定、您的工作空间中有意义的部分,基于您的数据实际情况。 |
| 🧭 **知道自己位置的代理** | 您的代理遵循回答实际问题的序列,并将一个结果链接到下一个,而不是在众多工具中猜测。 |
| 🔒 **有保证的只读** | 探索永远不会写入。它只在能够证明某一步是只读的情况下才会运行。 在它学习的过程中,什么都不会被删除或修改。 |
| ⚡ **一个命令,零设置** | 一个8MB的二进制文件。无需运行时,无需工具链——`npx`即可运行。 |
## 有保证的只读
这是让代理在真实系统上运行的关键部分。
DiscoMCP在**默认拒绝门控**后面进行探索:它只在能够证明某个操作是只读的情况下才会运行。会进行安全查找。任何可能写入、更改或删除的操作,即使工具声称它是无害的,也会被拒绝。所有保存的内容都会剥离秘密。
所以您的代理可以在不让您担心的情況下学习生产工具。
## 它有帮助吗?
相同的问题,相同的服务器,相同的模型——有和没有生成的技能。只读,针对真正广泛、不熟悉的服务器。 每行`n=2`。
| 任务 | 冷启动(无技能) | 有技能 | 代币 |
| --- | --- | --- | --- |
| 有针对性的查找 | ~12 次往返 | ~5 | **−28%** |
| 跨数据集推理 | ~10 次往返 | ~6 | **−44%** |
| 完整的管道跟踪 | ~10–13 次往返 | ~3 | **−57%** |
任务越难、越不熟悉,帮助越大:技能预先加载了冷启动代理必须通过试验重新发现的地图。两者都能找到正确答案——技能在更少的往返中就能找到正确答案。
_样本较小,仅用于方向参考——不是保证。对于琐碎的任务或狭窄的服务器,技能自身的提示成本可能会抵消其节省的成本;稳定的收益是减少往返次数和在复杂服务器上表现更稳定。完整方法见 [benchmarks/METRICS.md](benchmarks/METRICS.md)。_
## 开始使用
**1. 运行它** — 无需安装:
```bash
npx @ieranama/discomcp --help
```
**2. 将其指向服务器** — 整个配置只有几行:
```toml
[targets.example]
transport = "stdio"
command = "npx"
args = ["-y", "some-mcp-server"]
```
**3. 将其交给您的代理** 并让它进行探索:
```bash
discomcp serve --config ./discomcp.toml
```
您的代理进行探索;DiscoMCP让它保持安全并编写技能。结果存储在 `.discomcp/profiles/<server>/SKILL.md` — 准备好放入您的代理中。
## 内部实现
使用Rust构建:模型进行思考,小型确定性核心强制执行每项安全检查。生成的技能中的每个声明都标有其已知来源——声明、文档、观察或推断——以便代理永远不会将猜测误认为是事实。
- [架构](docs/ARCHITECTURE.md)
- [威胁模型](docs/THREAT_MODEL.md)
- [扩展指南](docs/EXTENDING.md)
- [配置示例](examples/config.toml)
- [贡献](CONTRIBUTING.md) · [安全策略](SECURITY.md)
## 许可证
根据 [Apache License, Version 2.0](LICENSE-APACHE) 或 [MIT License](LICENSE-MIT) 获得许可,您可以选择其一。
除非您明确声明,否则您根据Apache-2.0许可协议有意提交给DiscoMCP的任何贡献,将根据上述许可协议进行双重许可,不附加任何其他条款或条件。