Middleman: The Context Refiner MCP 🚀
Enterprise-grade context distillation for LLMs. Cut API costs by 95%.
Middleman是一个企业级的模型上下文协议(MCP)服务器,旨在充当混乱的原始数据和昂贵的LLM之间的“信号过滤器”。 它在进入AI之前会获得另一个MCP输出(例如维基百科),对其进行总结,并将其发送给AI以保存令牌。
现实世界影响
| 源数据 | 原始代币 | 中间人信号 | 代币减少 | 成本节约 |
|---|---|---|---|---|
| 维基百科(全文) | ~25000 | ~800 | 98.8% | 💰💰💰 |
| Reddit讨论 | ~15000 | ~600 | 96% | 💰💰💰 |
______________________________________________________________________
✨ 主要特点
- 本地文件处理: 局部高密度蒸馏
.txt,.log,以及.md文件夹。 - 手术焦点查询: 告诉中间人你到底在找什么(例如。, *“只关注星舰发动机的技术规格”*)以确保摘要具有相关性。
- XML结构化输出: 以严格格式返回数据
...模式,针对机器对机器通信进行了优化。 - 基于FastMCP构建: 模型上下文协议的健壮Python实现。
______________________________________________________________________
🛠️ 技术栈
| 组件 | 技术 |
|---|---|
| 运行时 | Python 3.10+ |
| 协议 | MCP(模型上下文协议) |
| 主引擎 | meta llama/lama-3.2.3-3b指令:免费(通过OpenRouter) |
| 编排 | FastMCP |
______________________________________________________________________
🚀 安装和设置
1.先决条件
- Python 3.10或更高版本
https://github.com/JithunMethusahan/middleman
2.克隆和安装
git clone https://github.com/JithunMethusahan/middleman.git
cd middleman
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt3.环境配置
在您的环境中设置API密钥:
export OPENROUTER_API_KEY="your_key_here"
# Windows: $env:OPENROUTER_API_KEY="your_key_here"4.验证连接:
运行附带的基准测试,以确保代理和压缩器正常工作:
python tests/experiment.py4.与克劳德桌面/光标集成
将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"middleman": {
"command": "/path/to/your/venv/bin/python",
"args": ["/path/to/middleman/server.py"],
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-..."
}
}
}
}5.连接下游工具(代理网关)
Middleman是一个通用代理。它不是用工具硬编码的;相反,它“包装”了其他MCP服务器。您可以通过根目录中的servers.json文件管理这些连接。
1.配置您的工具(servers.json)
将任何兼容MCP的服务器添加到此文件中。中间人将在后台自动启动这些程序并拦截其数据。
{
"fetch": {
"command": "python",
"args": ["-m", "mcp_server_fetch"]
},
"sqlite": {
"command": "uvx",
"args": ["mcp-server-sqlite", "--db-path", "test.db"]
}
}2.人工智能如何使用网关
主AI(Claude/Cursor)通过delegate_and_refine工具与中间人通信。此工具充当“安全管道”
工具参数:
1.target_server:在servers.json中定义的名称(例如“fetch”)。
2.target_tool:该服务器上的实际工具名称(例如,“fetch”或“query_db”)。
3.tool_kwargs_json:json格式的下游工具的参数。
4.focus_query:您希望中间人从由此产生的膨胀中提取的特定信号。
3.工作流程示例
当你要求人工智能研究一个主题时,其内部逻辑如下:
AI调用:委派和重新定义
(target_server="fetch", target_tool="fetch", tool_kwargs_json='{"url": "https://wiki..."}', focus_query="Founding date")Fetch服务器:下载15000个原始维基百科HTML令牌。
中间人:拦截15000个代币。.
Llama:将成立日期提取到一个20个标记的XML块中。meta Llama/lama-3.2.3-3b指令:免费
AI结果:仅接收20个标记的XML。代币节省:99.8%。
您可以免费使用的模型
1.🦙 Meta(拉玛家族)
Meta的开源模型目前主导着免费版
meta llama/lama-3.3-70b-instruction:免费(一般任务的首选)
meta llama/lama-3.2-3b指令:免费(速度极快,重量轻)
元美洲驼/lama-3.1-405b:免费(巨型模型,稍慢)
2.🌐 谷歌
google/gemini-2.0-flash-exp:免费(100万个代币上下文窗口)
3.🧠 深度求索
deepseek/deepseek-r1:免费(最适合深度逻辑思维)
🤝 贡献与定制
Middleman的设计是可扩展的。想要添加对PDF、YouTube成绩单或SQL数据库的支持吗?
- 分叉回购。
- 将您的工具添加到
server.py. - 提交拉取请求。
如需定制企业集成或咨询,请通过以下方式联系作者 .
______________________________________________________________________
📄 许可证
根据Apache许可证2.0版(“许可证”)许可; 除非遵守许可证,否则您不得使用此文件。 您可以在以下网址获得许可证副本:http://www.apache.org/licenses/LICENSE-2.0
