Database Mcp

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 支持

安装

  1. 克隆仓库
  2. 安装依赖:
    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)

使用

  1. 启动服务:

    ./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
    
  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 许可证

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript