关于 MCP Server (Go)
MCP Server (Go) 是 Go 实现的服务,允许客户端通过 JSON-RPC 查询 SQLite 数据库。它提供查询和列出表的工具,并支持 SSE 通信及令牌认证。
主要功能
- 01使用 SQL 查询 SQLite
- 02列出数据库表
- 03JSON-RPC 2.0 接口
- 04SSE 通信
- 05令牌认证
适用场景
- 01对 SQLite 数据库执行 SQL 查询
- 02查看数据库中的表
MCP 相关
它通过 JSON-RPC 向 MCP 客户端提供查询和列出表的工具,并使用 SSE 通信。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 服务(Go)
一个使用 Go 实现的 Model Context Protocol(MCP)服务,可通过 JSON-RPC 接口提供数据库查询功能。
功能
- JSON-RPC 2.0 协议实现
- 用于实时通信的服务器发送事件(SSE)
- SQLite 数据库集成
- 基于工具的架构,便于扩展功能
- 支持身份验证
可用工具
-
查询工具
- 对数据库执行 SQL 查询
- 以表格形式返回结果
-
列出表工具
- 列出数据库中的所有可用表
入门指南
前提条件
- Go 1.x
- SQLite3
安装
- 克隆仓库:
git clone <repository-url>
cd mcp_server_go
- 安装依赖项:
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:执行指定工具
使用示例
- 初始化连接:
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {}
}
- 列出可用工具:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}
- 执行查询:
{
"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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。