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

Omnibase MCP

MCP Server

omnibase-mcp

为AI代理提供安全访问多种数据库的服务,支持PostgreSQL、MySQL、SQLite等多种数据库,通过单一MCP服务器实现统一管理。

工具数

14

提示词数

0

GitHub Stars

4

资源数

0
数据分析TypeScriptClaude多数据库支持ClaudeCursor

安装说明

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

作者 / 组织

itsJeremyMax

提供方

itsJeremyMax

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

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

命令预览

npx omnibase-mcp init

详细介绍

让您的AI代理安全访问每个数据库。PostgreSQL、MySQL、SQLite、ClickHouse、SQL Server和 50+更多 通过单个MCP服务器。适用于Claude Code、OpenCode、GitHub Copilot、Cursor和任何兼容MCP的客户端。

  • 一台服务器,每个数据库。 并排连接Postgres、MySQL、ClickHouse和SQL Server。你的经纪人选对了。
  • 默认情况下是安全的。 只读权限、查询分类、凭证隔离。特工们得到的是护栏,而不是脚枪。
  • 可共享配置。 一个YAML文件定义了连接、权限和自定义工具。提交它,你的整个团队都会获得相同的代理能力。

开始使用

1.添加到克劳德代码:

claude mcp add omnibase -- npx -y omnibase-mcp@latest

OpenCode, GitHub Copilot, Cursor, and other MCP clients

添加到MCP配置(.mcp.json):

{
  "mcpServers": {
    "omnibase": {
      "command": "npx",
      "args": ["-y", "omnibase-mcp"]
    }
  }
}

2.创建配置文件:

npx omnibase-mcp init

编辑 omnibase.config.yaml 使用您的数据库连接(完整配置指南):

connections:
  app:
    dsn: pg://localhost:5432/myapp    # or $DATABASE_URL from env
    permission: read-write
  analytics:
    dsn: clickhouse://localhost:9000/analytics
    permission: read-write
  warehouse:
    dsn: mysql://user:pass@localhost:3306/warehouse
    permission: read-only

就是这样。您的代理现在可以访问14个数据库工具,以及任何 定制工具 你定义。

Install from source (contributors)

git clone https://github.com/itsJeremyMax/omnibase.git
cd omnibase
pnpm install
pnpm build

然后将您的MCP客户端指向 node dist/src/index.js 随着 cwd 设置到您的项目目录。

你的代理人能做什么

在几秒钟内了解任何代码库的数据模型

You: "I just joined this project. Walk me through the data model."

您的代理连接到 app, analytics,以及 warehouse,发现所有三个中的表,跟踪外键关系,并返回完整的摘要:表名、列类型、行数以及所有内容的连接方式。过去读取迁移文件需要几个小时,而现在只需要几秒钟。

*使用的工具:list_connections、list_tables、get_schema、get_relations*

What you'd do manually

-- Connect to each database separately, then run:

-- app (Postgres)
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
SELECT column_name, data_type, is_nullable FROM information_schema.columns WHERE table_name = '...';
SELECT tc.table_name, kcu.column_name, ccu.table_name AS foreign_table
  FROM information_schema.table_constraints tc
  JOIN information_schema.key_column_usage kcu ON tc.constraint_name = kcu.constraint_name
  JOIN information_schema.constraint_column_usage ccu ON tc.constraint_name = ccu.constraint_name
  WHERE tc.constraint_type = 'FOREIGN KEY';
SELECT schemaname, relname, n_live_tup FROM pg_stat_user_tables;

-- analytics (ClickHouse — different syntax)
SELECT name FROM system.tables WHERE database = currentDatabase();
SELECT name, type, is_in_primary_key FROM system.columns WHERE table = '...';
-- ClickHouse doesn't have foreign keys, so no FK query available

-- warehouse (MySQL — yet another syntax)
SELECT table_name FROM information_schema.tables WHERE table_schema = DATABASE();
SELECT column_name, data_type, is_nullable FROM information_schema.columns WHERE table_name = '...';
SELECT table_name, column_name, referenced_table_name, referenced_column_name
  FROM information_schema.key_column_usage WHERE referenced_table_name IS NOT NULL;

-- Then manually stitch the results together across all three

跨数据库查询

You: "Compare our product inventory in warehouse with what customers
      actually ordered last quarter in app. What's sitting on shelves?"

您的代理查询 warehouse (MySQL)根据当前库存水平,从 app (Postgres),并按SKU连接结果。它识别出34种库存超过500件但订单少于10件的产品。您无法为此编写单个查询,因为数据存在于两个不同的数据库引擎中。

*使用的工具:list_connections、get_schema、execute_sql(跨应用程序和仓库)*

What you'd do manually

-- Terminal 1: warehouse (MySQL)
SELECT sku, product_name, quantity_on_hand
  FROM inventory
  WHERE quantity_on_hand > 0;
-- Copy results to a spreadsheet or temp file

-- Terminal 2: app (Postgres)
SELECT p.sku, SUM(oi.quantity) AS units_ordered
  FROM order_items oi
  JOIN products p ON oi.product_id = p.id
  JOIN orders o ON oi.order_id = o.id
  WHERE o.ordered_at >= NOW() - INTERVAL '3 months'
  GROUP BY p.sku;
-- Copy results to the same spreadsheet

-- Manually match SKUs across both result sets
-- Filter to high-stock, low-order items
-- Reformat into something useful

使用实时数据进行调试

You: "The /api/orders endpoint is returning wrong totals. Figure out why."

您的代理读取路由处理程序,查询订单表 app,然后检查 analytics 并发现预先计算的总数不同步。它将不匹配追溯到缺失的类别,更新分析表,再次点击端点,并确认响应现在是正确的。

*使用的工具:get_schema、execute_sql(跨应用程序和分析)*

安全调查生产问题

You: "Failed payments spiked 3x in the last hour. What's going on?"

您的代理在上探索付款模式 warehouse (只读),对交易的最后一小时进行分析,并确定所有故障共享一个支付提供商和错误代码。没有一行被修改。连接是只读的,因此即使代理尝试写入,也无法写入。

*使用的工具:get_schema、execute_sql(仓库只读)、get_distinct_values*

更多用例→

内置工具

您的代理可以开箱即用地获得14个工具,涵盖模式探索、参数化查询和执行计划分析。

All 14 tools

发现

工具它做什么
list_connections查看所有已配置的数据库及其状态
test_connectionPing特定数据库。失败时返回延迟和驱动程序错误
list_tables行数快速概览
get_schema摘要或详细列/索引/FK信息
search_schema按关键字查找表和列
get_relationships在整个数据库中映射外键
get_indexes列出具有列和唯一性的索引

查询

工具它做什么
execute_sql使用权限强制和参数化输入运行查询
explain_query查看查询计划而不执行
get_sample预览任何表中的行(注射安全)

分析

工具它做什么
get_table_stats列基数、空率、最小/最大值(采样)
get_distinct_values任何列都有不同的计数值

验证

工具它做什么
validate_query执行前检查语法、架构引用、权限并估计受影响的行

历史

工具它做什么
query_history查看最近的查询执行历史,按连接、状态和分页进行筛选

自定义工具

将SQL模板定义为整个团队都可以使用的MCP工具。将它们添加到您的配置中并提交。项目中的每个代理都有相同的功能,不需要代码。

tools:
  get_active_users:
    connection: app
    description: "Get all active users"
    sql: "SELECT * FROM users WHERE active = true"

链条工具与 compose 构建多步骤管道:

tools:
  active_user_orders:
    connection: app
    description: "Get orders for all active users"
    compose:
      - tool: get_active_users
        as: users
      - sql: "SELECT * FROM orders WHERE user_id IN ({users.id})"
        as: orders

自定义工具已上线 omnibase.config.yaml 除了你的关系。将其提交到您的仓库,您的团队将共享相同的工具、权限和数据库访问权限。

完整的自定义工具指南→

配置

数据库DSN
PostgreSQLpg://user:pass@host:5432/dbname
MySQLmysql://user:pass@host:3306/dbname
ClickHouseclickhouse://host:9000/dbname
SQLitesqlite:./path/to/db.db
SQL Servermssql://user:pass@host/dbname

安全

每个查询在到达数据库之前都会被解析和分类。您的代理永远看不到凭据,无法运行危险的功能,并尊重您设置的权限级别。

  • 凭证永远不会到达代理人手中。DSN解析服务器端
  • 默认情况下为只读。明确选择写入
  • 所有发动机的危险功能都被阻断
  • 多语句查询被拒绝
  • 根据架构缓存验证表名

安全深度挖掘与架构→

命令行界面

npx omnibase-mcp status           # health dashboard
npx omnibase-mcp tools list       # list custom tools
npx omnibase-mcp upgrade          # upgrade to latest

完整CLI参考→

发展

贡献.md 用于设置、测试和约定。

pnpm test                          # unit tests
pnpm test:integration              # cross-database tests (needs Docker)
cd sidecar && go test ./... -v     # Go sidecar tests

许可证

Apache 2.0。看 许可证

免责声明

本软件按“原样”提供,不提供任何形式的保修。作者和贡献者对使用此工具造成的任何损害、数据丢失或问题不承担责任。Omnibase对真实数据库执行SQL查询。始终检查代理生成的查询,尽可能使用只读权限,并在生产环境中使用前进行彻底测试。使用此软件即表示您对其使用承担全部责任。

目录标签

目录标签

数据分析TypeScriptClaude多数据库支持数据库管理本地部署AI代理安全查询

支持客户端

ClaudeCursor

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

omnibase-mcp

工具数量(toolCount,工具数)

14

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP