Token导航 LogoToken导航TokenDH.com
MCP Pos Server logo
数据服务未说明官方级别未说明来源级核验

MCP Pos Server

MCP Server

BD MCP Server是一个基于Node.js和TypeScript的MySQL只读数据库查询服务,通过MCP协议提供安全的SELECT/SHOW/DESCRIBE查询、表列表和表结构描述功能。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
数据分析只读访问TypeScript

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Juand4rck12

提供方

Juand4rck12

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

BD MCP 服务器

MCP服务器(模型上下文协议 - Anthropic)用于数据库——提供工具,以便从MCP代理/客户端以只读模式查询MySQL数据库。该项目使用Node.js + TypeScript构建,并使用pnpm进行管理。

摘要

这个仓库包含一个MCP服务器的实现,它:

  • 展示用于以下目的的工具:

- 执行安全的SELECT/SHOW/DESCRIBE查询。 - 列出表格。 - 描述表结构。

  • 美国 mysql2/promise 带有连接池。
  • 应用安全限制:

- 仅允许阅读查询。 - 预防写作中的关键词(或:避免在写作中使用特定关键词)。 - 添加 LIMIT 仅在SELECT中不使用 LIMIT

  • 向stderr记录日志并支持DEBUG(DEBUG=true)。

要求

  • Node.js 版本 >= 18
  • pnpm(注:pnpm是一个包管理器,全称为Performance Packager Manager,中文可译为“高性能包管理器”,但在此处直接保留原英文形式以指代其特定名称)
  • 从运行服务器的主机访问MySQL

环境变量

设置以下变量(示例 .env 文件未包含在仓库中):

建议创建具有只读权限的用户:

-- Conecta como root a MySQL
CREATE USER 'mcp_readonly_user'@'localhost' IDENTIFIED BY 'passmcp_readonly_password';

-- Otorga SOLO permisos de lectura
GRANT SELECT, SHOW VIEW ON your_database(s).* TO 'mcp_readonly_user'@'localhost';

-- Aplica los cambios
FLUSH PRIVILEGES;
  • MYSQL_HOST(默认:localhost)
  • MYSQL_PORT(默认:3306)
  • MYSQL_USER(MySQL用户名)
  • MYSQL_PASSWORD(MySQL密码)
  • MYSQL_DATABASE 翻译为中文是“MySQL 数据库”
  • 调试(可选, true 用于调试日志 (DEBUG)

Windows PowerShell 示例:

$env:MYSQL_HOST="db.example.com"
$env:MYSQL_USER="developer"
$env:MYSQL_PASSWORD="secret"
$env:MYSQL_DATABASE="mcp_pos"
$env:DEBUG="true"

安装

使用 pnpm:

pnpm install

编译 TypeScript:

pnpm build

执行

开发模式(如果已配置,则直接使用ts-node)或使用构建:

使用构建:

pnpm build
node dist/index.js

日志和输出:

  • 所有的日志都将输出到标准错误(stderr)。MCP 协议通过标准输入/标准输出(stdio 传输)进行通信。

展示的工具(tools)

  • 列出表(或“表列表”)

- 输入:{} - 输出:配置模式的表列表。

  • 描述表

- 输入:{ 表名: 字符串 } - 输出:表的架构/列。

  • 查询位置数据库(或查询工具)

- 输入:{ sql: 字符串, params?: 任意数组 } - 限制:仅限 SELECT/SHOW/DESCRIBE。 LIMIT 100 它仅添加到没有 LIMIT 的 SELECT 中。 - 输出:返回的行数、计数和执行时间。

使用示例(MCP有效载荷)

列出表格:

{
  "tool": "list_tables",
  "input": {}
}

描述表格:

{
  "tool": "describe_table",
  "input": { "tableName": "users" }
}

执行 SELECT:

{
  "tool": "query_pos_database",
  "input": { "sql": "SELECT id, name FROM users WHERE active = 1", "params": [] }
}

注:通话必须遵守您客户端/代理所使用的MCP协议。

故障排除

  • 在添加 LIMIT 时附近出现 SQL 语法错误:'LIMIT 100' SHOW/DESCRIBE解决方案:现在服务器只添加 LIMIT 一个没有 LIMIT 子句的 SELECT 语句。
  • 连接被拒绝:请检查凭据以及主机/端口是否可访问。
  • 如果表格未显示:请检查是否 MYSQL_DATABASE 指向正确的模式。

贡献

分支(Fork)-> 功能分支(feature branch)-> 向(目标)提交拉取请求(PR hacia) dev -> 审查 -> 合并到 main. 按照PR(构建、手动测试、环境变量配置)的检查清单进行。

许可证

麻省理工学院(MIT)

目录标签

目录标签

数据分析只读访问TypeScript数据库查询本地部署MySQL工具MCP协议Node.js服务

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP