Database Mcp
# 数据库 MCP 服务 一个具有数据库功能的 MCP (Metoro 控制协议) 服务,通过 GORM 支持多种数据库类型。 ## 特性 - 支持多种数据库类型: - MySQL - PostgreSQL - SQLite - SQL Server - ClickHouse - 通过以下方式配置: - 配置文件 (YAML) - 命令行参数 - 环境变量 - MCP 协议集成 - GORM ORM 支持 ## 安装 1. 克隆仓库 2. 安装依赖: ```bash go mod tidy ``` ## 配置 ### 配置文件 (config.yaml) 创建一个 `config.yaml` 文件,结构如下: ```yaml database: type: "mysql" # mysql, postgres, sqlite, sqlserver, clickhouse host: "localhost" port: 3306 username: "root" password: "password" database: "mydb" ssl_mode: "disable" # for postgres file: "database.db" # for sqlite ``` ### 命令行参数 您可以使用命令行参数覆盖配置文件中的设置: ```bash ./database-mcp --config=config.yaml \ --db-type=mysql \ --db-host=localhost \ --db-port=3306 \ --db-user=root \ --db-pass=password \ --db-name=mydb \ --db-ssl-mode=disable \ --db-file=database.db ``` 可用的命令行参数: - `--config`: 配置文件路径 (默认: "config.yaml") - `--db-type`: 数据库类型 (mysql, postgres, sqlite, sqlserver, clickhouse) - `--db-host`: 数据库主机 - `--db-port`: 数据库端口 - `--db-user`: 数据库用户名 - `--db-pass`: 数据库密码 - `--db-name`: 数据库名称 - `--db-ssl-mode`: SSL 模式 (适用于 PostgreSQL) - `--db-file`: 数据库文件 (适用于 SQLite) ## 用法 1. 启动服务: ```bash ./database-mcp ``` 2. 服务将: - 从文件和/或命令行加载配置 - 初始化数据库连接 - 启动 MCP 服务器 - 注册可用的工具和资源 ## MCP 配置 要使用 MCP 服务,请在您的 MCP 客户端中配置 MCP 端点: ``` http://127.0.0.1:8080/sse ``` 这将把您的 MCP 客户端连接到本地运行在 8080 端口的服务。 ## MCP 工具 该服务提供以下 MCP 工具: 1. `get_tables`: 获取数据库中的所有表 - 返回一个包含表名和注释的表列表 2. `get_table_detail`: 获取关于特定表的详细信息 - 参数: - `table_name`: 要获取详细信息的表名 - 返回表信息,包括: - 表名和注释 - 列信息(名称、类型、注释、是否可为空、默认值) 3. `execute_sql`: 执行 SQL 查询 - 参数: - `query`: 要执行的 SQL 查询 - 返回: - 对于 SELECT 查询:一个结果数组 - 对于其他查询:受影响的行数 ## 许可证 MIT 许可证
xavieryang007
README
数据库 MCP 服务
一个具有数据库功能的 MCP (Metoro Control Protocol) 服务,通过 GORM 支持多种数据库类型。
特性
- 支持多种数据库类型:
- MySQL
- PostgreSQL
- SQLite
- SQL Server
- ClickHouse
- 通过以下方式配置:
- 配置文件 (YAML)
- 命令行参数
- 环境变量
- MCP 协议集成
- GORM ORM 支持
安装
- 克隆仓库
- 安装依赖:
go mod tidy
配置
配置文件 (config.yaml)
创建一个 config.yaml 文件,结构如下:
database:
type: "mysql" # mysql, postgres, sqlite, sqlserver, clickhouse
host: "localhost"
port: 3306
username: "root"
password: "password"
database: "mydb"
ssl_mode: "disable" # for postgres
file: "database.db" # for sqlite
命令行参数
您可以使用命令行参数覆盖配置文件中的设置:
./database-mcp --config=config.yaml \
--db-type=mysql \
--db-host=localhost \
--db-port=3306 \
--db-user=root \
--db-pass=password \
--db-name=mydb \
--db-ssl-mode=disable \
--db-file=database.db
可用命令行参数:
--config: 配置文件路径 (默认: "config.yaml")--db-type: 数据库类型 (mysql, postgres, sqlite, sqlserver, clickhouse)--db-host: 数据库主机--db-port: 数据库端口--db-user: 数据库用户名--db-pass: 数据库密码--db-name: 数据库名称--db-ssl-mode: SSL 模式 (用于 PostgreSQL)--db-file: 数据库文件 (用于 SQLite)
使用
-
启动服务:
./database-mcp --db-type=mysql --db-host=127.0.0.1 --db-port=3306 --db-user=dbuser --db-pass=passwd --db-name=dbname --db-ssl-mode=disable --mode=http -
服务将:
- 从文件和/或命令行加载配置
- 初始化数据库连接
- 启动 MCP 服务器
- 注册可用的工具和资源
MCP 配置
要使用 MCP 服务,请在您的 MCP 客户端中配置 MCP 端点:
http://127.0.0.1:8080/sse
这将把您的 MCP 客户端连接到本地运行在 8080 端口的服务。
MCP 工具
该服务提供以下 MCP 工具:
get_tables: 获取数据库中的所有表- 返回一个包含表名和注释的表列表
get_table_detail: 获取有关特定表的详细信息- 参数:
table_name: 要获取详细信息的表名
- 返回表信息,包括:
- 表名和注释
- 列信息(名称、类型、注释、是否可为空、默认值)
- 参数:
execute_sql: 执行 SQL 查询- 参数:
query: 要执行的 SQL 查询
- 返回:
- 对于 SELECT 查询:结果数组
- 对于其他查询:受影响的行数
- 参数:
许可证
MIT 许可证
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。
Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。
Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。