Skip to main content
Glama

MCP 服务器示例

此代码库包含一个用于教学目的的模型上下文协议 (MCP) 服务器实现。此代码演示了如何构建一个可与各种 LLM 客户端集成的功能性 MCP 服务器。

要遵循完整的教程,请参阅YouTube 视频教程

什么是 MCP?

MCP(模型上下文协议)是一种开放协议,它规范了应用程序向 LLM 提供上下文的方式。MCP 就像 AI 应用程序的 USB-C 端口一样,它提供了一种标准化的方式,将 AI 模型连接到不同的数据源和工具。

MCP 图

主要优点

  • 越来越多的预建集成可供您的 LLM 直接插入

  • 灵活地在 LLM 提供商和供应商之间切换

  • 保护基础架构内数据的最佳实践

Related MCP server: MCP Server Sample

架构概述

MCP 遵循客户端-服务器架构,其中主机应用程序可以连接到多个服务器:

  • MCP 主机:像 Claude Desktop、IDE 或 AI 工具这样的程序,需要通过 MCP 访问数据

  • MCP 客户端:与服务器保持 1:1 连接的协议客户端

  • MCP 服务器:通过标准化模型上下文协议公开特定功能的轻量级程序

  • 数据源:MCP 服务器可以访问的本地(文件、数据库)和远程服务(API)

核心 MCP 概念

MCP 服务器可以提供三种主要类型的功能:

  • 资源:客户端可以读取的类似文件的数据(例如 API 响应或文件内容)

  • 工具:可由 LLM 调用的函数(经用户批准)

  • 提示:预先编写的模板,帮助用户完成特定任务

系统要求

  • Python 3.10 或更高版本

  • MCP SDK 1.2.0 或更高版本

  • uv包管理器

入门

安装 uv 包管理器

在 MacOS/Linux 上:

curl -LsSf https://astral.sh/uv/install.sh | sh

之后请确保重新启动终端以确保uv命令被接收。

项目设置

  1. 创建并初始化项目:

# Create a new directory for our project uv init mcp-server cd mcp-server # Create virtual environment and activate it uv venv source .venv/bin/activate # On Windows use: .venv\Scripts\activate # Install dependencies uv add "mcp[cli]" httpx
  1. 创建服务器实现文件:

touch main.py

运行服务器

  1. 启动 MCP 服务器:

uv run main.py
  1. 服务器将启动并准备接受连接

连接到 Claude Desktop

  1. 从官方网站安装Claude Desktop

  2. 配置 Claude Desktop 以使用您的 MCP 服务器:

编辑~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "mcp-server": { "command": "uv", # It's better to use the absolute path to the uv command "args": [ "--directory", "/ABSOLUTE/PATH/TO/YOUR/mcp-server", "run", "main.py" ] } } }
  1. 重启Claude桌面

故障排除

如果您的服务器未被 Claude Desktop 接收:

  1. 检查配置文件路径和权限

  2. 验证配置中的绝对路径是否正确

  3. 确保 uv 已正确安装并可访问

  4. 检查 Claude Desktop 日志中是否有任何错误消息

执照

本项目遵循 MIT 许可证。详情请参阅LICENSE文件。

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alejandro-ao/mcp-server-example'

If you have feedback or need assistance with the MCP directory API, please join our Discord server