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 等)进行开发与调试。

服务器信息