温度数据MCP服务器

一个基于Go的MCP服务器,提供指定位置的温度数据,通过HTTP服务代理请求。

  • by omaciel
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 omaciel/go-mcp-temperature-server

使用说明

温度MCP服务器示例

该项目演示了如何在Go中构建一个简单的MCP(模型上下文协议)服务器,为给定位置提供温度数据。服务器暴露了一个 get_temperature 该工具通过MCP将请求代理到底层HTTP温度服务。

特性

  • 使用以下工具实现MCP服务器 mark3labs/mcp-go 图书馆。
  • 注册工具(get_temperature)接受a location 参数。
  • 将温度请求代理到本地或远程HTTP服务。
  • 用于教育目的的文档化代码。

项目结构

  • main.go:主要入口点。设置MCP服务器,注册工具,并实现处理程序逻辑。
  • go.mod, go.sum:转到依赖关系管理的模块文件。

用法

先决条件

  • 转到1.18或更高版本
  • 本地运行的HTTP温度服务 http://localhost:8080/temperature?location=<LOCATION> (您可以使用自己的实现或 go温度服务器)

运行MCP服务器

  1. 克隆存储库或将源文件复制到Go工作区。

  2. 安装依赖项:

    go mod tidy
    
  3. 构建MCP服务器:

    go build -o mcp-temperature-server main.go
    
  4. 确保您的HTTP温度服务正在端口8080上运行。

  5. 启动MCP服务器:

    ./mcp-temperature-server
    

示例请求

您可以使用MCP兼容的客户端或集成来调用 get_temperature 带有位置参数的工具,例如:

{
  "tool": "get_temperature",
  "params": { "location": "Chapel Hill" }
}

示例响应

响应将以纯文本形式呈现,包含一个带有位置和温度的JSON对象:

Temperature for Chapel Hill: {"location":"Chapel Hill","temperature":18.25}

示例 mcp_config.json 用于Windsurf IDE

要将此项目与Windsurf IDE一起使用,请创建 .codeium/windsurf/mcp_config.json 主目录(或项目根目录)中包含以下内容的文件:

{
  "mcpServers": {
    "temperature": {
      "command": "./ABSOLUTE/PATH/TO/YOUR/REPO/go-mcp-temperature-server/go-mcp-temperature-server",
      // <-- Modify this to match your checkout location and leave the initial ./ alone
      "args": [],
      "env": {
        "WEATHER_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}
  • 替换 YOUR_API_KEY_HERE 使用您的实际天气API键。
  • 服务器二进制文件的路径应与您的项目结构相匹配。
  • 此配置可确保MCP服务器在启动时使用正确的环境变量进行身份验证。

运作原理

  • MCP服务器定义了一个名为 get_temperature.
  • 当被调用时,它会提取 location 参数,然后在以下位置查询HTTP服务 http://localhost:8080/temperature?location=<LOCATION>&units=metric&appid=<YOUR_API_KEY>.
  • 结果以纯文本形式(含JSON内容)返回给MCP客户端。

定制

  • 要使用不同的HTTP温度服务,请修改 endpoint 变量in main.go.
  • 后端温度服务需要API密钥作为 appid 查询参数(例如。, ...&appid=YOUR_API_KEY).如果收到500内部服务器错误,请检查后端服务日志,确保API密钥有效并作为查询参数传递。
  • 要添加更多工具或功能,请使用MCP服务器API注册其他工具和处理程序。

许可证

麻省理工学院或您的项目中指定的。


有关MCP的更多信息,请参阅 mark3labs/mcp go.