项目简介
本项目 'Custom-MCP-Server-Demo' 是一个使用 Python 构建的 MCP (Model Context Protocol) 服务器的演示示例。它旨在帮助开发者理解如何构建自定义服务器,并通过 MCP 协议与客户端进行通信。这个演示服务器实现了一个简单的 AI 便签应用后端,展示了如何通过 MCP 协议管理资源(便签内容)、注册工具(添加、读取便签)和定义 Prompt 模板(生成便签总结提示)。
主要功能点
- 资源管理: 通过 'resource' 装饰器,将便签数据文件 'NOTES.txt' 暴露为可访问的资源,客户端可以获取最新的便签内容。
- 工具注册与执行: 通过 'tool' 装饰器,注册了 'add_note' (添加便签) 和 'read_notes' (读取所有便签) 两个工具,允许客户端调用这些函数来操作便签数据。
- Prompt 模板定义: 通过 'prompt' 装饰器,定义了 'note_summary_prompt' (便签总结提示) Prompt 模板,用于生成请求 LLM 总结便签内容的提示语。
- 简单的会话管理和请求处理: 使用 'FastMCP' 框架处理客户端连接和 MCP 协议消息,简化服务器开发。
安装步骤
- 克隆仓库:
git clone https://github.com/Eltaf-azizi/Custom-MCP-Server-Demo.git cd Custom-MCP-Server-Demo - 运行服务器:
服务器默认会在本地启动。python server.py
服务器配置
MCP 客户端需要配置以下 JSON 格式信息以连接到此服务器:
{ "server name": "AI Sticky Notes", "command": "python", "args": ["server.py"] }
- server name: 服务器名称,这里设置为 "AI Sticky Notes",用于在客户端标识服务器。
- command: 启动服务器的命令,这里使用 'python' 解释器。
- args: 启动命令的参数,这里指定运行 'server.py' 文件。
注意: 请确保你的 Python 环境中可以执行 'python server.py' 命令来启动服务器。客户端根据以上配置信息,即可通过 Stdio (标准输入输出) 或其他 'FastMCP' 支持的协议与服务器建立连接并进行通信。
基本使用方法
- 启动服务器: 按照安装步骤运行 'python server.py' 启动 MCP 服务器。
- 配置 MCP 客户端: 在 MCP 客户端中,添加上述服务器配置信息。客户端将根据配置连接到服务器。
- 客户端交互: 客户端连接成功后,可以向服务器发送 MCP 请求,例如:
- 调用工具: 客户端可以发送请求调用 'add_note' 工具来添加新的便签,或调用 'read_notes' 工具来读取所有便签内容。
- 获取资源: 客户端可以请求访问 'notes://latest' 资源来获取最新的便签。
- 获取 Prompt: 客户端可以请求获取 'note_summary_prompt' Prompt 模板,并将其用于与 LLM 的交互,以总结便签内容。
请注意,这是一个演示项目,主要用于展示 MCP 服务器的基本概念和功能。实际应用中可能需要更完善的错误处理、安全机制和协议实现。
信息
分类
开发者工具