mcpField
M
MCP Tools

MCP Tools

本地服务
github.com/michaelnugent开发工具381 周前更新

关于 MCP Tools

MCP Tools 是面向开发者的 Go 代理和服务端,用于连接 MCP 客户端与远程端点或本地 MCP 可执行文件。服务端可发现多个可执行文件提供的工具,并通过 HTTP 或 stdio 提供给客户端。

主要功能

  1. 01将 MCP 请求转发到 HTTP 端点
  2. 02从目录加载 MCP 可执行文件
  3. 03发现工具并为其添加命名空间
  4. 04通过 HTTP 或 stdio 服务客户端
  5. 05使用 Make 构建代理和服务端二进制文件

适用场景

  1. 01连接 MCP 客户端与远程 HTTP 服务
  2. 02汇集多个本地 MCP 可执行文件的工具
  3. 03通过代理测试示例 MCP 工具

MCP 相关

代理在 stdin/stdout 与 HTTP 端点之间转发 MCP 请求。服务端发现 MCP 可执行文件提供的工具,并通过 HTTP 或 stdio 暴露给客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 工具

此代码仓库包含用于处理 Model Context Protocol(MCP)的工具。

MCP 代理

一种 Model Context Protocol 代理,可将请求转发到 HTTP 端点。

概述

MCP 代理将 stdin 中的数据转发到指定的 HTTP 端点,并将响应返回到 stdout。它实现了一个简单的代理,可用于与远程 MCP 兼容服务通信。

为什么使用 golang?

此代码在客户端运行。许多语言都需要安装运行时和一组正确的库才能实现这一点。Go 会将代码编译为单个可执行文件。这降低了部署难度、用户支持请求、运行时更新导致的问题以及其他常见问题,而这些问题通常可以通过提供 HTTP 端点而不是进行部署来避免。

用法
./mcp-proxy [options]
选项
  • -endpoint:要将请求代理到的 HTTP 端点(默认值:"http://localhost:8080")
  • -content-type:HTTP 请求的 Content-Type 标头(默认值:"application/json")
  • -timeout:HTTP 请求超时时间,单位为秒(默认值:30)
  • -buffer:读取 stdin 时使用的缓冲区大小,单位为 KB(默认值:64)
示例
./mcp-proxy -endpoint="https://api.example.com/mcp" -content-type="application/json"

MCP 服务

一种从目录加载和管理 MCP 可执行文件,并通过 HTTP 或 stdio 向客户端提供这些文件的服务。

概述

MCP 服务从目录加载 MCP 可执行文件,并向客户端提供服务。当客户端请求工具列表时,服务会返回所有已加载 MCP 提供的工具,并以 MCP 名称作为命名空间。服务可以在 HTTP 模式或 stdio 模式下运行。

用法
./mcp-server [options]
选项
  • -mcp-dir:包含 MCP 可执行文件的目录(默认值:"./mcps")
  • -http:HTTP 服务地址(默认值:":8080")
  • -name:MCP 服务名称(默认值:"MCP Server")
  • -version:MCP 服务版本(默认值:"1.0.0")
  • -stdio:使用 stdio 而非 HTTP(默认值:false)
MCP 目录结构

服务需要一个包含 MCP 可执行文件的目录。每个可执行文件都必须通过 stdio 实现 MCP 协议。服务将会:

  1. 扫描目录中的可执行文件
  2. 运行每个可执行文件,以发现其提供的工具
  3. 使用带命名空间的名称(mcpname.toolname)向客户端提供这些工具

使用 Make 构建和运行

此项目包含一个 Makefile,可简化各组件的构建和运行。

构建

构建所有组件(代理、服务和示例):

make

或者构建指定组件:

make build-proxy    # Build only the proxy
make build-server   # Build only the server
make build-examples # Build only the example MCPs
运行

以 HTTP 模式启动 MCP 服务(构建示例并将其复制到 mcps 目录后):

make run-server

以 stdio 模式启动 MCP 服务:

make run-server-stdio

运行代理以连接到本地 MCP 服务:

make run-proxy
测试

使用基本的 tools/list 请求测试代理(需要服务正在运行):

make test-proxy

通过代理测试指定的示例工具(需要服务正在运行):

make test-hello   # Test the hello tool
make test-add     # Test the calculator's add tool
示例 MCP

此代码仓库包含示例 MCP,用于演示如何实现 MCP 兼容工具:

  • hello-mcp:提供一个 "hello" 工具的简单 MCP
  • calculator-mcp:提供数学运算的 MCP

构建示例并将其安装到 mcps 目录:

make examples
开发任务

格式化 Go 代码:

make fmt

运行 Go vet 进行代码分析:

make vet

更新并整理 Go 依赖项:

make tidy

清理构建产物:

make clean

将二进制文件安装到 GOPATH/bin:

make install

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。