MCP Tools

MCP Tools

一个用于模型上下文协议 (MCP) 的代理服务器和工具管理器,它促进 LLM 应用程序和远程 MCP 兼容服务之间的通信。

michaelnugent

开发者工具
访问服务器

README

MCP 工具

此仓库包含用于处理模型上下文协议 (MCP) 的工具。

MCP 代理

一个用于模型上下文协议的代理,将请求转发到 HTTP 端点。

概述

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

为什么选择 golang?

此代码在客户端运行。 许多语言需要安装运行时和正确的库才能执行此操作。 Go 编译成单个可执行文件。 这减少了部署困难、用户支持请求、运行时中断更新或其他通常通过提供 http 端点而不是部署来解决的问题。

用法

./mcp-proxy [选项]

选项

  • -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 [选项]

选项

  • -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    # 仅构建代理
make build-server   # 仅构建服务器
make build-examples # 仅构建示例 MCP

运行

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

make run-server

在 stdio 模式下启动 MCP 服务器:

make run-server-stdio

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

make run-proxy

测试

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

make test-proxy

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

make test-hello   # 测试 hello 工具
make test-add     # 测试计算器的 add 工具

示例 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

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript