MCP转储
一组模型上下文协议(MCP)服务器、客户端和实验,用于学习、原型制作和比较运行时(Cloudflare Workers、Python等)的实现风格。
目录
- 概述
- 存储库结构
- 什么是MCP?
- 项目总结
- 快速开始
- 开发环境
- 贡献
- 免责声明
______________________________________________________________________
1.概述
这个monorepo托管了多个MCP服务器和客户端实现,探索不同的工具栈(Python+ uvTypeScript+Cloudflare Workers)和代理模式(LLM支持的分析、反应式代理、工具调用)。它旨在作为游乐场和参考。
2.存储库结构
MCP-dump/
├── ai-agent-postgres-mcp/ # AI agent using MCP to analyze a Postgres database
│ ├── ai_agent_postgres_mcp.ipynb
│ ├── main.py
│ └── README.md
├── mcp-hello/ # Minimal MCP server (Cloudflare Workers / JS)
│ ├── src/
│ ├── test/
│ ├── package.json
│ └── README.md
├── mcp-files/ # New Python MCP workspace (managed via uv)
│ ├── pyproject.toml # Root Python project (workspace style)
│ ├── uv.lock
│ ├── examples/ # Example Python clients & agents
│ │ └── clients/
│ │ ├── base.py
│ │ ├── gemini.py
│ │ └── react_agent.py
│ ├── mcp-server/ # Python MCP server implementation
│ │ ├── pyproject.toml
│ │ └── src/mcp_server/
│ │ ├── cli.py
│ │ ├── config.py
│ │ ├── helpers.py
│ │ ├── mcp.py
│ │ ├── tools.py
│ │ └── __init__.py
│ └── mcp-hello/ # (Experimental) parallel minimal example in Python
│ └── README.md
└── README.md注:mcp-files/mcp-hello是一个与根独立的Python风格的最小示例mcp-helloCloudflare Workers实现。他们有意探索不同运行时中的类似概念。
3.什么是MCP?
模型上下文协议(MCP)规范了工具、代理和大型语言模型如何交换上下文信息、资源和工具调用结果。其目的是:
- 提供可预测的、类型化的交换
- 减少临时工程胶
- 支持更丰富、有状态的多步代理行为
4.项目总结
ai-agent-postgres-mcp:演示如何通过MCP将AI代理连接到Postgres进行会话查询和分析。mcp-hello(Cloudflare/Workers):展示边缘环境中部署的最小TypeScript MCP服务器。mcp-files/mcp-server:一个带有工具抽象、CLI入口点和强类型助手的Python MCP服务器。mcp-files/examples/clients:Python客户端示例(包括基本的反应式代理模式和Gemini集成占位符)。mcp-files/mcp-hello:Cloudflare示例的轻量级Python模拟(实验性)。
5.快速入门
A.Cloudflare Workers MCP服务器(mcp-hello 根)
- 输入目录:
cd mcp-hello- 安装deps(pnpm/npm/yarn):
npm install- 运行测试:
npm test- (可选)使用Wrangler发布/开发:
npx wrangler devB.Python MCP工作区(mcp-files)
此工作区使用 uv 用于快速解决和执行。
- 导航:
cd mcp-files- 运行Python MCP服务器(CLI):
uv run mcp-server- 尝试一个客户端示例(反应式代理):
uv run examples/clients/react_agent.py- 通过调用帮助来探索可用工具:
uv run mcp-server --helpC.Postgres人工智能代理(ai-agent-postgres-mcp)
跟随当地 README.md 用于数据库连接设置。通常,您会:
cd ai-agent-postgres-mcp
uv run main.py # or python main.py depending on your environment6.开发环境
| 图层 | 技术 | 注释 |
|---|---|---|
| 边缘服务器 | Cloudflare Workers | 用途 workers-mcp +Wrangler开发服务器 |
| Python服务器 | uv+pyproject | 快速锁文件(uv.lock),键入包装布局 |
| 工具 | LLM客户端(Gemini占位符) | 通过扩展 tools.py 在Python服务器中 |
推荐:
- 安装
uv对于Python:https://docs.astral.sh/uv/ - 使用常规提交保持原子提交(feature/homer/docs)。
- 使用
uv lock --upgrade在Python工作区中更新deps时。
7.贡献
欢迎捐款。建议的捐款类型:
- 新的MCP工具模块(
mcp-files/mcp-server/src/mcp_server/tools.py) - 其他运行时适配器(Rust、Go等)
- 代理策略示例(规划、增强检索、流媒体)
- 文档改进和图表
工作流程:
- 分叉&分支从
main. - 实现+添加最少的文档/测试。
- 运行棉绒/测试(如适用)。
- 公开公关,明确描述和理由。
8.免责声明
这些实施是实验性的,不能保证生产级。为了清楚起见,可以有意简化安全性、稳健性和性能问题。
______________________________________________________________________
如果你觉得这很有用,可以随时提出问题或想法,以获得更多的MCP实验方向。
