mcpField
M
MCP Server (Go)

MCP Server (Go)

本地服务
github.com/pyljain数据库080 周前更新

关于 MCP Server (Go)

MCP Server (Go) 是 Go 实现的服务,允许客户端通过 JSON-RPC 查询 SQLite 数据库。它提供查询和列出表的工具,并支持 SSE 通信及令牌认证。

主要功能

  1. 01使用 SQL 查询 SQLite
  2. 02列出数据库表
  3. 03JSON-RPC 2.0 接口
  4. 04SSE 通信
  5. 05令牌认证

适用场景

  1. 01对 SQLite 数据库执行 SQL 查询
  2. 02查看数据库中的表

MCP 相关

它通过 JSON-RPC 向 MCP 客户端提供查询和列出表的工具,并使用 SSE 通信。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

MCP 服务(Go)

一个使用 Go 实现的 Model Context Protocol(MCP)服务,可通过 JSON-RPC 接口提供数据库查询功能。

功能

  • JSON-RPC 2.0 协议实现
  • 用于实时通信的服务器发送事件(SSE)
  • SQLite 数据库集成
  • 基于工具的架构,便于扩展功能
  • 支持身份验证

可用工具

  1. 查询工具

    • 对数据库执行 SQL 查询
    • 以表格形式返回结果
  2. 列出表工具

    • 列出数据库中的所有可用表

入门指南

前提条件
  • Go 1.x
  • SQLite3
安装
  1. 克隆仓库:
git clone <repository-url>
cd mcp_server_go
  1. 安装依赖项:
go mod download
配置

服务使用简单的基于令牌的身份验证系统。预期令牌在服务配置中硬编码为 "abcd"。

运行服务
go run main.go

服务将在端口 8777 上启动。

API 文档

身份验证

所有请求都必须包含 Authorization 标头,格式如下:

Authorization: Bearer <token>
端点
1. 根端点(/)
  • 方法:GET
  • 用途:建立服务器发送事件(SSE)连接
  • 响应:返回用于消息通信的端点 URL
2. 消息端点(/messages/{sessionID})
  • 方法:POST
  • 用途:处理客户端请求
  • 支持的方法:
    • initialize:初始化连接
    • tools/list:列出可用工具
    • tools/call:执行指定工具
使用示例
  1. 初始化连接:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {}
}
  1. 列出可用工具:
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list",
  "params": {}
}
  1. 执行查询:
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "query",
    "arguments": {
      "query": "SELECT * FROM your_table"
    }
  }
}

项目结构

mcp_server_go/
├── main.go              # Main server implementation
├── pkg/
│   ├── messages/        # Message structures
│   ├── methods/         # Request handling methods
│   └── tools/           # Tool implementations
└── mcp.db              # SQLite database file

评论

支持 Markdown

第一次接触 MCP?

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

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