Token导航 LogoToken导航TokenDH.com
Hyancie MCP logo
运维云端未说明官方级别未说明来源级核验

Hyancie MCP

MCP Server

一个动态可配置的MCP服务器,用于将现有HTTP API封装为MCP工具,无需修改Go源代码,通过编辑配置文件即可添加和配置新工具。

工具数

2

提示词数

0

GitHub Stars

1

资源数

0
Go云端部署Docker

安装说明

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

作者 / 组织

liu599

提供方

liu599

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

动态可配置MCP服务器

该项目提供了一个用Go编写的动态、可配置的MCP(模型上下文协议)服务器。它的主要目的是包装现有的HTTP API,并将其作为MCP工具公开,而不需要对Go源代码进行任何更改。只需编辑即可添加和配置新工具 config.json 文件。

特性

  • 声明性工具创建:完全在a中定义工具 config.json 文件。
  • 无需Go编程:只需编辑配置即可添加新工具。
  • HTTP方法支持:与合作 GET, POST, PUT,以及其他标准HTTP方法。
  • 灵活的标题:添加任意数量的自定义HTTP头,非常适合API密钥、承载令牌或任何其他身份验证方案。
  • 强大的响应映射:一个灵活的系统,可以将复杂的JSON响应(包括嵌套对象和数组)解析为模型的干净、人类可读的输出。

运作原理

服务器充当人工智能模型和任何外部HTTP API之间的桥梁。当模型调用工具时,服务器会在中查找工具的定义 config.json,构造适当的HTTP请求,将其发送给目标API,然后根据映射规则解析响应,然后将格式化的结果返回给模型。

sequenceDiagram
    participant Model as AI Model
    participant MCPServer as hyancie-mcp Server
    participant Config as config.json
    participant API as External HTTP API

    Model->>+MCPServer: Call tool('get_weather_cn', {city: 'Beijing'})
    MCPServer->>+Config: Read tool definition
    Config-->>-MCPServer: Return tool details (URL, auth, etc.)
    MCPServer->>+API: Make HTTP GET request to api.example.com/weather?city=Beijing
    API-->>-MCPServer: Return JSON weather data
    MCPServer->>+Config: Read output_mapping rules
    Config-->>-MCPServer: Return mapping rules
    MCPServer->>-Model: Return formatted result: "温度:22|湿度:50|..."

img.png

入门指南

先决条件

  • 去1.18或更高。

构建

要生成可执行文件,请从项目根目录运行以下命令:

go build -o hyancie-mcp.exe ./cmd/hyancie

执行

服务器可以在两种传输模式下运行: stdio (用于与父进程进行本地通信)或 sse (使用服务器发送事件公开HTTP服务器)。

标准模式(默认):

./hyancie-mcp.exe

SSE模式:

您可以指定SSE服务器的地址。

./hyancie-mcp.exe -t sse --sse-address 0.0.0.0:8001 --sse-base-url https://xx.com
标志简短描述默认值(从 config.json)
--transport-t运输类型(stdiosse)stdio
--sse-addressSSE服务器监听的内部主机和端口0.0.0.0:8001
--sse-base-urlSSE服务器的面向公众的基本URL(例如,K8s Ingress)。http://localhost:8001

配置(config.json 深潜)

此文件是服务器的核心。它定义了服务器的身份及其提供的工具。

重要提示:config.json 文件必须位于与编译的可执行文件相同的目录中(例如。, hyancie-mcp.exe).服务器将在启动时在那里查找它。

根域

  • server_name (string):您的MCP服务器的名称。
  • server_version (string):服务器的版本。
  • sse_address (string):SSE服务器的默认地址。
  • mcp_tools (array):工具定义对象的数组。

工具对象(mcp_tools[])

中的每个对象 mcp_tools array定义了一个工具。

  • tool_name (string,必填):工具的唯一标识符(例如。, get_weather_cn).
  • description (string,必填):对工具功能的清晰描述。这就是AI模型用来决定何时使用该工具的原因。
  • input_schema (object,必填):使用JSON模式定义工具的参数。

- type:应该是“对象”。 - properties:一个对象,其中每个键都是一个参数名称,值是一个定义其值的模式 typedescription。您还可以添加 default 如果模型没有为非必需的参数提供回退值,请在此处输入键以提供回退值。 - required:列出强制参数的字符串数组。

  • request (object,必填):配置传出的HTTP请求。

- method (string):HTTP方法(例如“GET”、“POST”)。 - url (字符串):API终结点。对于 GET 请求,使用 {placeholder} 在URL中插入参数的语法 POST/PUT,论点来自 input_schema 作为JSON请求体发送。

  • headers (array,可选):一个对象数组,用于定义随请求一起发送的自定义HTTP标头。这是处理身份验证的标准方法(例如,API密钥、承载令牌)。

- 数组中的每个对象都必须有一个 name (字符串)和a value (字符串)。

  • output_mapping (数组,必需):一个强大的系统,用于将API的JSON响应解析为模型的基于文本的平面格式。

- json_key (string):从JSON响应中提取的密钥。支持嵌套对象的点表示法(main.temp)数组索引(weather[0].description). - description (string):提取值的人类可读标签(例如“温度”)。 - type (string):可以 "primitive""array". - primitive:用于提取字符串、数字或布尔值等简单值。 - array:用于处理对象列表。 - limit (整数,可选):与 type: "array" 限制数组中处理的项目数量。 - items (数组,可选):与 type: "array"。这是一个嵌套 output_mapping 它定义了如何处理数组中的每个对象。

使用示例

示例1:简单GET请求(get_weather_cn)

此工具获取天气数据。这 city 参数插入到URL中,并添加自定义标头进行身份验证。输出映射从JSON响应中提取简单的嵌套值。

配置:

{
  "tool_name": "get_weather_cn",
  "description": "根据城市名称获取实时天气信息。",
  "request": {
    "method": "GET",
    "url": "https://api.example.com/weather?city={city}&unit=metric"
  },
  "headers": [
    {
      "name": "X-Api-Key",
      "value": "your-secret-api-key-goes-here"
    }
  ],
  "input_schema": { ... },
  "output_mapping": [
    { "json_key": "main.temp", "description": "温度", "type": "primitive" },
    { "json_key": "main.humidity", "description": "湿度", "type": "primitive" },
    { "json_key": "weather[0].description", "description": "天气状况", "type": "primitive" }
  ]
}

结果: 温度:22|湿度:50|天气状况:clear sky

示例2:复杂数组处理(food-info-search)

此工具执行搜索并处理结果列表。这 output_mapping 为了 results 密钥类型为 array。它迭代前3个项目,并对每个项目应用嵌套 items 映射以提取 title, url,以及 content.

配置:

{
  "tool_name": "food-info-search",
  "description": "食品网页搜索工具。提取并格式化前3个搜索结果。",
  "request": { ... },
  "input_schema": { ... },
  "output_mapping": [
    {
      "json_key": "results",
      "type": "array",
      "description": "搜索结果",
      "limit": 3,
      "items": [
        { "json_key": "title", "description": "标题", "type": "primitive" },
        { "json_key": "url", "description": "链接", "type": "primitive" },
        { "json_key": "content", "description": "简介", "type": "primitive" }
      ]
    }
  ]
}

结果: 搜索结果:[项1:{标题:..., 链接:...} | 项2:{标题:..., 链接:...} | 项3:{标题:..., 链接:...}]

客户端

Python客户端示例可在 client/ 目录。请查看 client/README.md 有关如何使用它的说明。

许可证

该项目根据GPLv2.0许可证获得许可。

目录标签

目录标签

Go云端部署DockerHTTPAPI封装混合部署动态配置JSON配置响应映射AI工具集成

接入字段

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

未说明

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

api-key

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明api-key部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP