项目简介
Poem是一个使用Rust语言构建的全功能、易用的Web框架。该仓库包含了Poem框架及其一系列子模块,其中'poem-mcpserver'模块专门用于实现Model Context Protocol (MCP) 服务器。它提供了一套机制,允许开发者基于Poem框架构建符合MCP规范的后端应用,以标准化的方式为LLM客户端提供所需的上下文信息和服务能力。
主要功能点
- 提供MCP服务基础框架: 利用Poem框架的网络和请求处理能力,构建MCP服务器的底层通信和路由。
- 支持资源托管与访问: 允许定义、托管和管理各种类型的数据资源,并为LLM客户端提供标准的访问接口。
- 集成工具调用能力: 支持注册和管理外部工具(如API、函数等),LLM客户端可以通过MCP协议请求服务器执行这些工具。
- 实现Prompt模板功能: 允许定义可参数化的Prompt模板,服务器根据客户端请求渲染并返回最终的Prompt内容。
- 遵循JSON-RPC协议: 与MCP客户端通过标准化的JSON-RPC协议进行交互,确保互操作性。
- 支持多种传输协议: 利用Poem框架的能力,理论上可支持Stdio、SSE、WebSocket等多种传输方式。
安装步骤
- 确保Rust环境已安装: 访问Rust官方网站(rust-lang.org)下载并安装Rust编程语言及其工具链(如Cargo)。
- 创建或修改您的Rust项目: 使用'cargo new your_mcp_server'命令创建一个新的项目,或者在现有项目的'Cargo.toml'文件中添加'poem-mcpserver'作为依赖。具体依赖声明可能需要根据您使用的Poem版本和所需功能进行调整。
- 编写服务器逻辑: 在您的Rust项目中,使用'poem-mcpserver'提供的结构和宏定义您的资源、工具和Prompt模板,并编写相应的处理逻辑。
- 构建项目: 运行'cargo build'或'cargo build --release'命令编译您的服务器应用。
- 运行服务器: 执行编译生成的可执行文件,例如 './target/release/your_mcp_server'。
服务器配置
Poem MCP服务器一旦运行,可以通过配置其监听的地址和端口(具体取决于您在代码中的实现)来接受MCP客户端的连接。
MCP客户端需要配置连接信息来与您的Poem MCP服务器建立通信。典型的配置信息通常包括:
- 服务器名称 (server name): 一个标识符,用于在客户端列表中显示(例如,'"MyCompany Poem MCP"')。
- 启动命令 (command): 客户端在需要时启动服务器的命令行路径(例如,'/usr/local/bin/my_poem_mcp_server' 或 './my_poem_mcp_server.exe')。
- 启动参数 (args): 传递给启动命令的参数列表(例如,'["--port", "8080", "--config", "/etc/my_mcp/config.yaml"]')。
- 连接类型/地址: 例如,指定通过 TCP 连接到特定的主机和端口(如 'tcp://127.0.0.1:12345'),或者其他支持的传输方式。
这些配置信息不是在MCP服务器代码中固定死的,而是MCP客户端(如LiteLLM、OpenAI Assistants等)根据用户提供的设置来连接MCP服务器的方式。您需要在您的服务器文档中清晰说明用户需要配置哪些信息。
基本使用方法
- 编译并启动您的Poem MCP服务器应用。
- 在兼容MCP协议的LLM客户端中,配置连接到您的服务器所需的各项信息(如服务器名称、启动命令、地址/端口等)。
- 通过LLM客户端向服务器发送MCP请求,例如请求加载特定资源以获取上下文,请求调用注册的工具执行某个任务,或者请求渲染带有特定参数的Prompt模板。
- 服务器接收到请求后,将执行相应的处理逻辑,并通过JSON-RPC协议将结果(如资源内容、工具执行结果、渲染后的Prompt等)返回给客户端。
信息
分类
AI与计算