探索MCP(模型上下文协议)-WIP
这是一个使用Python和FastMCP理解和构建MCP服务器的探索项目。 此存储库包含MCP服务器上一系列博客的支持文件。
- 博客第1部分:MCP:为什么这么炒作?
- 博客第二部分:加载。..
- 请继续关注即将推出的部分!
什么是MCP?
模型上下文协议(MCP)是一个开放标准,使AI应用程序能够安全地连接到外部数据源和工具。它为像Claude这样的人工智能模型提供了一种统一的方式,通过标准化的协议与各种服务进行交互。
项目结构
exploring-mcp/
├── src/
│ └── 000_dumb_mcp.py # Simple MCP server example
├── docs/ # Documentation and guides
├── pyproject.toml # Project dependencies
└── uv.lock # Lock file for reproducible builds设置
此项目使用 紫外线 用于快速、可靠的Python包管理。
先决条件
- Python 3.12或更高版本
- uv包管理器
安装紫外线:
curl -LsSf https://astral.sh/uv/install.sh | sh安装
- 克隆存储库:
git clone https://github.com/sagarsrc/exploring-mcp.git
cd exploring-mcp- 同步依赖关系:
uv sync这将创建一个虚拟环境并安装所有必需的依赖项。
运行示例
简单天气服务器(000_dumb_mcp.py)
一个带有天气工具和设置资源的基本MCP服务器。
使用STDIO运行(适用于Claude Desktop):
uv run python examples/000_dumb_mcp.py使用HTTP传输运行(用于web服务): 编辑 examples/000_dumb_mcp.py 并更改:
mcp.run(transport="http", host="127.0.0.1", port=8000)与Claude Desktop集成
- 查找您的Claude Desktop配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 视窗: %APPDATA%\Claude\claude_desktop_config.json
- 添加MCP服务器配置:
{
"mcpServers": {
"weather-server": {
"command": "/Users/YOUR_USERNAME/.local/bin/uv",
"args": [
"run",
"--with",
"fastmcp",
"python",
"/full/path/to/learning-mcp-server/examples/000_dumb_mcp.py"
]
}
}
}- 完全重新启动克劳德桌面
- 查找开发人员设置,查看MCP服务器是否已加载。
发展
添加新依赖项
uv add
删除依赖项
uv remove
运行脚本
uv run python src/your_script.py学习资源
项目目标
该项目旨在:
- 了解MCP基础和架构
- 了解如何构建生产就绪的MCP服务器
- 探索基本示例之外的真实用例
- 记录行业采用和最佳实践
