Skip to content

sjzsdu/tong-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP Go 工具集

基于Go语言开发的MCP(Model Context Protocol)工具集,包含命令行客户端和服务器,用于AI模型与工具的连接和通信。

功能特性

客户端功能

  • 🔍 服务发现:自动或手动发现MCP服务
  • 📋 工具��表:列出服务提供的所有工具及其描述
  • 🚀 工具调用:调用MCP服务的工具并获取结果
  • 📊 状态监控:查看服务状态和健康信息

服务器功能

  • 🧰 工具管理:基于mcp-go的工具注册和调用机制
  • 🔌 多协议支持:支持HTTP协议
  • 🧩 插件系统:允许动态加载和管理工具
  • ⚙️ 配置管理:灵活的配置选项

安装

从源代码构建

go install github.com/sjzsdu/tong-mcp/cmd/mcp@latest

从发布版本下载

请访问GitHub Releases页面下载最新版本。

使用方法

客户端命令

发现服务

mcp client discover

列出服务提供的工具

mcp client list-tools <service-url>

调用工具

mcp client call <service-url> <tool-name> [params...]

获取服务状态

mcp client status <service-url>

服务器命令

启动服务器

mcp server start [options]

选项:

  • -a, --addr:服务器监听地址(默认:localhost:8080)
  • -p, --protocol:服务器协议(默认:http)

添加工具

mcp server add-tool <tool-path>

列出服务器上的工具

mcp server list-tools

配置文件

1. 工具集配置文件

配置文件支持YAML格式,默认查找位置:

  • 当前目录
  • $HOME/.mcp
  • /etc/mcp

配置示例:

client:
  default_protocol: http
  timeout: 30

server:
  default_addr: localhost:8080
  default_protocol: http
  tool_capabilities: true

plugins:
  plugin_dir: ./plugins
  enabled_plugins: []

2. MCP服务配置文件

MCP服务配置文件支持JSON格式,用于定义可用的MCP服务,默认查找位置:

  • 当前目录下的 mcp.json
  • $HOME/.mcp/mcp.json
  • /etc/mcp/mcp.json

配置示例:

{
  "services": [
    {
      "name": "GitHub MCP Service",
      "url": "http://github.com/mcp",
      "version": "1.0.0",
      "description": "GitHub MCP服务,提供GitHub相关工具",
      "protocol": "http"
    },
    {
      "name": "本地MCP服务",
      "url": "http://localhost:8080",
      "version": "1.0.0",
      "description": "本地MCP服务,提供测试工具",
      "protocol": "http"
    }
  ]
}

3. 示例配置文件

项目提供了示例配置文件,位于 examples/ 目录下:

  • examples/mcp.json:包含不同连接方式的MCP服务配置
  • examples/detailed_mcp.json:包含更详细的服务配置,包括每个服务提供的工具信息

可以将这些示例配置文件复制到默认位置使用:

# 复制基本示例配置
cp examples/mcp.json ~/.mcp/mcp.json

# 复制详细示例配置
cp examples/detailed_mcp.json ~/.mcp/mcp.json

开发

项目结构

mcp/
├── cmd/
│   └── mcp/           # 主命令行入口
├── internal/
│   ├── cli/           # 命令行界面实现
│   ├── client/        # Client扩展功能
│   ├── server/        # Server扩展功能
│   ├── config/        # 配置管理
│   └── utils/         # 通用工具函数
├── pkg/
│   └── plugins/       # 插件系统
├── examples/          # 示例代码
├── go.mod
└── README.md

运行测试

go test ./...

构建项目

go build -o mcp ./cmd/mcp

依赖

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published