项目简介

本项目是一个基于Encore框架构建的Model Context Protocol (MCP) 服务器示例,专注于提供天气信息查询功能。它演示了如何使用MCP协议构建应用后端,向LLM客户端提供结构化的上下文信息和工具调用能力。该示例代码结构清晰,类型安全,并附带完善的测试用例,方便开发者学习和参考。

主要功能点

  • 天气信息服务: 提供城市天气查询功能,返回包括温度、天气状况、湿度和风速等详细信息。
  • MCP服务器实现: 使用Model Context Protocol SDK构建MCP服务器,遵循MCP协议标准。
  • 工具注册与调用: 注册 'get-weather' 工具,允许MCP客户端通过标准协议调用天气查询功能。
  • Stdio传输协议: 使用标准输入输出 (Stdio) 作为MCP服务器的传输协议,简化部署和测试。
  • JSON-RPC通信: 通过JSON-RPC协议与MCP客户端进行通信,处理请求和返回响应。
  • 开发脚手架Encore: 利用Encore框架简化后端开发、本地运行和云端部署流程。

安装步骤

  1. 安装Encore CLI: 如果尚未安装Encore CLI,请根据Encore官方文档进行安装。Encore CLI是运行和部署此项目的必要工具。

  2. 克隆仓库: 将 'encore-mcp-example' 仓库克隆到本地:

    git clone https://github.com/leofmarciano/encore-mcp-example.git
    cd encore-mcp-example
  3. 运行服务器: 使用Encore CLI启动MCP服务器:

    encore run

    服务器成功启动后,可以通过Encore的本地开发者仪表盘(通常在 http://localhost:9400/ )查看运行状态。

服务器配置

对于MCP客户端,需要配置以下信息以连接到此MCP服务器。配置信息通常以JSON格式提供,例如:

{
  "serverName": "Weather MCP Demo",
  "transport": "stdio",
  "command": "encore",
  "args": ["run"]
}

配置参数说明:

  • 'serverName': MCP服务器的名称,此处为 "Weather MCP Demo"。
  • 'transport': 使用的传输协议,此处为 "stdio" (标准输入输出)。
  • 'command': 启动MCP服务器的命令,此处为 "encore"。
  • 'args': 启动命令的参数列表,此处为 '["run"]',指示Encore CLI运行项目。

注意: MCP客户端需要能够执行 'encore run' 命令来启动和连接到服务器。请确保Encore CLI已安装并添加到系统PATH环境变量中。

基本使用方法

  1. 启动MCP服务器: 按照上述安装步骤启动MCP服务器。

  2. 使用MCP客户端: 使用任何兼容MCP协议的客户端,例如仓库中提供的 'test-mcp.js' 脚本或 '@modelcontextprotocol/sdk/client' SDK 构建的客户端。

  3. 调用工具: 通过MCP客户端调用已注册的 'get-weather' 工具,并传递城市名称作为参数。例如,使用 'test-mcp.js' 脚本可以测试天气查询功能:

    ./scripts/run-mcp-test.sh

    客户端将发送请求到MCP服务器,服务器会调用天气服务并返回天气信息。

通过以上步骤,开发者可以快速上手并体验此Encore天气MCP服务器示例,了解MCP服务器的构建和使用方式。

信息

分类

网页与API