Token导航 LogoToken导航TokenDH.com
MCP Talker logo
AI代理未说明官方级别未说明来源级核验

MCP Talker

MCP Server

一个通用的Golang实现的MCP协议客户端,可连接MCP服务器并通过任何OpenAI兼容的LLM API与暴露的工具进行交互。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
AI代理GoClaudeLLM交互Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aliok

提供方

aliok

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP通话器

MCP(模型上下文协议)客户端的通用Golang实现,连接到MCP服务器,并使用任何与OpenAI兼容的LLM API通过聊天与公开的工具进行交互。

特性

  • 通过流式HTTP连接到MCP服务器
  • 适用于任何与OpenAI兼容的API(OpenAI、Anthropic、Google Gemini等)
  • 记录所有HTTP流量(请求和响应)以进行调试
  • 针对严格LLM验证器(尤其是Gemini)的高级模式清理:

- 清理工具名称(删除有问题的字符,转换 mcp__foo__bar-bazfoo_bar_baz) - 从描述中删除表情符号和非ASCII字符 - 从描述中删除标记格式 - 确保 additionalProperties: false 对于对象模式 - 添加缺失项 properties 用于严格验证的字段

  • 使用自动工具调用实现代理循环
  • 交互式聊天界面,支持完整的工具调用
  • 通过命令行标志完全可配置

先决条件

  • 转到1.21或更高版本
  • 正在运行的MCP服务器(例如。,http://localhost:8090/mcp)
  • 您选择的LLM提供商的API密钥(OpenAI、Anthropic、Google等)

安装

  1. 克隆存储库或导航到项目目录:
cd mcp-talker
  1. 安装依赖项:
go mod download
  1. 设置环境变量:
export LLM_API_KEY="your-api-key-here"

用法

应用程序需要以下命令行标志:

  • -api-base-url:与OpenAI兼容的API的基本URL(必需)
  • -model:要使用的模型标识符(必需)
  • -mcp-url:MCP服务器的URL(默认值:“http://localhost:8090/mcp")
  • -max-turns:最大对话回合数(默认值:5)
  • -system-prompt:助手的自定义系统提示(默认值:“您是一个有用的助手,可以访问工具。”)

例子

使用OpenAI:

export LLM_API_KEY=sk-...
go run main.go \
  -api-base-url https://api.openai.com/v1 \
  -model gpt-4

使用谷歌双子座:

export LLM_API_KEY=your-gemini-api-key
go run main.go \
  -api-base-url https://generativelanguage.googleapis.com/v1beta/openai \
  -model gemini-2.5-flash

使用Anthropic(如果OpenAI兼容端点可用):

export LLM_API_KEY=sk-ant-...
go run main.go \
  -api-base-url https://api.anthropic.com/v1 \
  -model claude-3-5-sonnet-20241022

使用自定义配置:

export LLM_API_KEY=your-api-key
go run main.go \
  -api-base-url https://api.openai.com/v1 \
  -model gpt-4 \
  -mcp-url http://localhost:9000/mcp \
  -max-turns 10 \
  -system-prompt "You are a helpful coding assistant."

建筑

构建应用程序:

go build -o mcp-talker

然后运行:

./mcp-talker -api-base-url https://api.openai.com/v1 -model gpt-4

交互式使用

跑步后,您可以与助手聊天。需要时,它将自动使用MCP服务器提供的工具。

类型 quitexit 退出应用程序。

配置标志

标志说明必填默认
-api-base-urlOpenAI兼容的API基础URL
-model型号标识符(例如gpt-4、gemini-2.5-flash)
-mcp-urlMCP服务器URLhttp://localhost:8090/mcp
-max-turns每个用户输入的最大对话次数5
-system-prompt助手的系统提示You are a helpful assistant with access to tools.

建筑

该应用程序包括:

  1. 记录仪:记录所有请求和响应以进行调试的HTTP中间件
  2. sanctizeToolName():将MCP工具名称转换为LLM兼容格式(例如。, mcp__flights__get_api-airports-searchflights_get_api_airports_search)
  3. cleanToolDescription():从工具描述中删除表情符号、非ASCII字符和标记格式
  4. cleanSchema():递归清理JSON模式,以确保与严格的LLM验证器兼容:

- 删除有问题的字段(title, examples, default, $schema) - 确保所有对象都具有 type: "object"additionalProperties: false - 确保所有对象都具有 properties 字段(即使为空) - 清除架构属性中的描述

  1. main():协调MCP客户端连接、工具列表和交互式聊天循环

聊天循环实现了一个代理模式,其中:

  1. 用户提供输入
  2. LLM处理输入并决定调用哪些工具(如果有的话)
  3. 工具名称从经过净化的名称映射回原始MCP名称
  4. 工具通过MCP服务器执行
  5. 结果反馈给LLM
  6. LLM提供最终答案或进行额外的工具调用
  7. 重复步骤2-6,直到 max-turns 直到提供最终答案为止

API兼容性

该工具适用于任何实现OpenAI聊天完成API格式的API。已知的兼容提供商:

  • 开放人工智能: https://api.openai.com/v1
  • 谷歌双子座: https://generativelanguage.googleapis.com/v1beta/openai
  • Azure OpenAI: https://.openai.azure.com/openai/deployments/
  • 其他与OpenAI兼容的端点

注意:某些提供程序可能具有不同的身份验证机制或API略有变化。该工具通过API密钥使用标准的OpenAI SDK身份验证。

依赖项

  • mcp走 -用于模型上下文协议的MCP Go SDK
  • 去开 -用于Go的OpenAI API客户端(与OpenAI兼容的API兼容)

故障排除

没有可用的工具

确保您的MCP服务器正在运行,并且可以通过指定的URL访问 -mcp-url.

API错误

  • 验证您的 LLM_API_KEY 环境变量设置正确
  • 检查一下 -api-base-url 对于您的提供商来说是正确的
  • 确保 -model 标识符对您的提供商有效

“MALFORMED_FUNCTION_CALL”错误(Gemini)

如果您看到以下错误 finish_reason: "function_call_filter: MALFORMED_FUNCTION_CALL" 使用Gemini时:

  • 这通常是由严格的模式验证要求引起的
  • 该工具会自动清理工具名称和模式,以实现Gemini兼容性
  • 如果仍然遇到问题,工具名称或模式可能包含验证器拒绝的字符
  • 检查日志以查看发送到API的内容

架构错误

一些LLM对JSON模式格式更严格。此工具包括专门为Gemini等严格验证器设计的广泛模式清理:

  • 对工具名称进行清理,以删除有问题的字符
  • 描述中没有表情符号和标记
  • 对象架构包括必需的 additionalPropertiesproperties 字段

如果您在其他LLM提供程序中遇到与架构相关的错误,您可能需要调整 cleanSchema()sanitizeToolName() 满足提供商特定要求的功能。

许可证

麻省理工学院

目录标签

目录标签

AI代理GoClaudeLLM交互MCP协议本地部署工具调用Golang实现OpenAI兼容

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP