Foxy Contexts 使用说明

项目简介

Foxy Contexts 是一个使用 Golang 编写的库,旨在帮助开发者以声明式的方式快速构建 MCP (Model Context Protocol) 服务器。它简化了 MCP 服务器的开发流程,让开发者可以专注于定义资源 (Resources)、工具 (Tools) 和 Prompt 模板 (Prompts),而无需过多关注底层协议和框架细节。

主要功能点

  • 声明式服务器构建: 通过简单的 Go 代码声明即可定义 MCP 服务器,无需编写大量的样板代码。
  • 资源 (Resources) 管理: 支持静态和动态资源,允许 MCP 客户端访问和获取上下文数据。
  • 工具 (Tools) 注册与执行: 方便地注册工具函数,供 LLM 客户端调用外部功能。
  • Prompt 模板 (Prompts) 定义: 支持创建和管理 Prompt 模板,实现可定制的 LLM 交互模式。
  • 多种传输协议: 内置支持 Stdio 和 SSE 传输协议,方便与不同类型的 MCP 客户端集成。
  • 依赖注入 (Dependency Injection): 基于 Uber FX 框架,方便地管理和注入依赖,提高代码可维护性和可测试性。
  • 功能测试框架: 提供 'foxytest' 包,用于编写和运行 MCP 服务器的功能测试。

安装步骤

由于 Foxy Contexts 是一个 Golang 库,你需要先安装 Golang 环境。

  1. 安装 Golang: 如果你的机器上还没有安装 Golang,请访问 Golang 官网 下载并安装适合你操作系统的 Golang 版本。
  2. 获取 Foxy Contexts 库: 使用 'go get' 命令获取 Foxy Contexts 库:
    go get github.com/strowk/foxy-contexts

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令 (command) 和参数 (args) 才能连接。以下是一个基于 'examples/simple_great_tool/main.go' 示例生成的配置信息:

{
  "serverName": "great-tool-server",  // MCP 服务器名称,与代码中 'WithName' 方法设置的一致
  "command": "go",                   // 启动服务器的命令,这里使用 'go run' 运行 main.go 文件
  "args": [                         // 命令参数
    "run",
    "main.go"
  ],
  "transport": "stdio"              // (可选) 传输协议,默认为 stdio,如果使用 SSE,需要配置为 "sse"
}

基本使用方法

  1. 编写 MCP 服务器代码: 参考 'examples/' 目录下的示例代码,例如 'examples/simple_great_tool/main.go',定义你的工具、资源或 Prompt。
  2. 构建服务器: 在你的服务器代码目录中,使用 'go build' 命令构建可执行文件(如果需要)。或者,你可以直接使用 'go run main.go' 运行示例代码。
  3. 启动服务器: 运行构建好的可执行文件或使用 'go run main.go' 命令启动服务器。
  4. 配置 MCP 客户端: 在 MCP 客户端中,配置上面生成的 JSON 配置信息,指定连接到你的 MCP 服务器。
  5. 使用 MCP 客户端连接并测试: 使用 MCP 客户端连接到你启动的服务器,并测试已定义的工具、资源或 Prompt。 例如,可以使用 MCP Inspector 进行连接和测试。

信息

分类

开发者工具