模型上下文协议服务器

MCP是一个开放标准,使AI应用能够安全连接到外部数据源和工具,为AI模型提供统一的服务交互协议。

  • by sagarsrc
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sagarsrc/exploring-mcp

使用说明

探索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

安装

  1. 克隆存储库:
git clone https://github.com/sagarsrc/exploring-mcp.git
cd exploring-mcp
  1. 同步依赖关系:
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集成

  1. 查找您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加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"
      ]
    }
  }
}
  1. 完全重新启动克劳德桌面

  2. 查找开发人员设置,查看MCP服务器是否已加载。

发展

添加新依赖项

uv add <package-name>

删除依赖项

uv remove <package-name>

运行脚本

uv run python src/your_script.py

学习资源

项目目标

该项目旨在:

  1. 了解MCP基础和架构
  2. 了解如何构建生产就绪的MCP服务器
  3. 探索基本示例之外的真实用例
  4. 记录行业采用和最佳实践