MCP Server Examples for Beginners
使用说明
- 项目简介
- 该仓库提供了多语言的 MCP 服务器实现示例与解决方案,面向初学者演示如何用 Model Context Protocol 构建可与 LLM 互动的后端服务器。核心功能包括暴露资源、注册工具、定义和渲染提示模板,以及通过不同传输协议与客户端通信。
- 主要功能点
- 实现 MCP 的核心能力:处理工具(Tools)、资源(Resources)和提示(Prompts),并与客户端进行 JSON-RPC 风格的请求/响应交互。
- 多语言示例:Python、TypeScript/JavaScript、Java、C#、Rust、Go 等多种语言实现,覆盖常见的服务器搭建方式。
- 支持多种传输协议:stdio、SSE、HTTP 流、Streamable HTTP 等,用于不同运行环境下的 MCP 服务交互。
- 提供示例工具与资源,如简单的加法工具、文本生成/完成任务、动态资源读取等,便于理解 MCP 的用法。
- 包含若干“解决方案”目录,提供完整可运行的服务端实现,便于直接学习和参考。
- 安装步骤(按语言/示例逐步执行)
- 选择一种语言和示例目录,进入对应目录后按照语言的常规方式安装依赖并运行脚本,例如 Python、TypeScript、Java、C#、Rust 等。
- 一般运行方式可参考各语言示例中的主入口脚本(如 python server.py、node 构建输出、或 java/rust/go 的启动方式)。
- 服务器配置(MCP 客户端连接所需信息,JSON 格式)
下面提供一个示例配置,描述一个 Python MCP 服务的启动信息。该配置用于 MCP 客户端在启动时知道如何启动服务器、以及服务器的名称等元信息。请注意,MCP 客户端本身不需要修改,此配置仅用于描述服务器端启动信息。
{
"server_name": "Python MCP Demo Server",
"command": "python",
"args": ["04-PracticalImplementation/samples/python/server.py"]
}
配置项说明:
- server_name: MCP 服务器的名称,便于在客户端日志中辨识。
- command: 启动服务器所使用的可执行程序。
- args: 启动程序的参数,数组形式,通常包含要执行的脚本路径。
- 基本使用方法
- 在客户端配置好服务器信息后,启动 MCP 客户端并连接到该服务器。之后可以通过工具(Tools)调用、通过资源(Resources)读取、或者通过 prompts 获取模板化交互等,观察 MCP 如何向 LLM 提供上下文和能力。
- 可选地,结合示例中的不同传输方式(stdio、SSE、HTTP streaming 等)进行开发与调试。