mcpField
M
MCP Server Example

MCP Server Example

本地服务
github.com/alejandro-ao开发工具16278 周前更新

关于 MCP Server Example

这是一个用于教学的简单 MCP 服务示例,用于搜索文档,配套视频教程。代码展示了如何构建可与多种 LLM 客户端集成的基础 MCP 服务,并说明了如何在 Claude Desktop 中进行配置。

主要功能

  1. 01基于 Python 与 uv 的服务实现
  2. 02提供资源、工具和提示词三类能力的说明
  3. 03包含 Claude Desktop 配置步骤
  4. 04附带常见问题排查指南

适用场景

  1. 01学习如何构建 MCP 服务
  2. 02将本地文档搜索服务接入 Claude Desktop

MCP 相关

该项目是一个 MCP 服务示例,演示如何实现服务端并将其接入 Claude Desktop 等 MCP 主机应用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 服务示例

此代码仓库包含一个用于教学目的的 Model Context Protocol(MCP)服务实现。本代码演示了如何构建一个功能完善的 MCP 服务,并将其集成到各种大模型客户端中。

如需完整教程,请参阅 YouTube 视频教程。

什么是 MCP?

MCP(Model Context Protocol)是一种开放协议,用于标准化应用程序向大模型提供上下文的方式。可以把 MCP 想象成 AI 应用的 USB-C 接口——它提供了一种标准化方式,将 AI 模型连接到不同的数据源和工具。

MCP 示意图

主要优势
  • 不断扩大的预构建集成列表,大模型可直接接入
  • 可灵活切换大模型提供商和供应商
  • 在你的基础设施内保护数据的最佳实践

架构概览

MCP 采用客户端-服务架构,宿主应用程序可以连接到多个服务:

  • MCP 宿主:Claude Desktop、IDE 或 AI 工具等程序,可通过 MCP 访问数据
  • MCP 客户端:与服务保持一对一连接的协议客户端
  • MCP 服务:轻量级程序,通过标准化的 Model Context Protocol 暴露特定功能
  • 数据源:MCP 服务可访问的本地数据(文件、数据库)和远程服务(API)

MCP 核心概念

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

  • 资源:客户端可读取的类文件数据(例如 API 响应或文件内容)
  • 工具:大模型可以调用的函数(需获得用户批准)
  • 提示词:帮助用户完成特定任务的预先编写模板

系统要求

  • 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 Desktop

故障排除

如果 Claude Desktop 未能识别你的服务:

  1. 检查配置文件路径和权限
  2. 确认配置中的绝对路径正确
  3. 确保 uv 已正确安装且可正常使用
  4. 检查 Claude Desktop 日志中是否有错误消息

许可证

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。