CentralMind/Gateway

CentralMind/Gateway

来自您数据库的 MCP-Server,针对 LLM 和 AI 代理进行了优化。 支持 PostgreSQL、MySQL、ClickHouse、Snowflake、MSSQL、BigQuery、Oracle Database、SQLite、ElasticSearch、DuckDB。

远程shell执行
AI记忆系统
数据库交互
AI集成系统
高级AI推理
访问服务器

README

<div align="center">

构建二进制文件   <a href="https://discord.gg/XFhaUG4F5x"><img src="https://dcbadge.limes.pink/api/server/https://discord.gg/XFhaUG4F5x" height="20"></a>   <a href="https://t.me/+TM3T1SikjzA4ZWVi"><img src="https://img.shields.io/badge/telegram-%E2%9D%A4%EF%B8%8F-252850?style=plastic&logo=telegram" height=20></a>    <a href="https://docs.centralmind.ai"><img src="https://img.shields.io/badge/完整文档-blue?style=for-the-badge&logo=rocket&logoColor=white" height="20"></a>

</div>

<h2 align="center">CentralMind Gateway: 在几分钟内创建 API 或 MCP 服务器</h2>

🚀 通过 GitHub Codespaces 进行交互式演示

使用 GitHub Codespaces 部署

什么是 Centralmind/Gateway

通过 MCP 或 OpenAPI 3.1 协议将您的数据库暴露给 AI-Agent 的简单方法。

docker run --platform linux/amd64 -p 9090:9090 \
  ghcr.io/centralmind/gateway:v0.2.6 start \
  --connection-string "postgres://db-user:db-password@db-host/db-name?sslmode=require"

这将为您运行一个 API:

INFO Gateway 服务器启动成功!         
INFO 用于 AI 代理的 MCP SSE 服务器正在运行:http://localhost:9090/sse 
INFO 带有 Swagger UI 的 REST API 可在以下位置获得:http://localhost:9090/ 

您可以在您的 AI 代理中使用它:

mcp-raw-cursor-setup.png

Gateway 将生成 AI 优化的 API。

为什么选择 Centralmind/Gateway

AI 代理和 LLM 驱动的应用程序需要快速、安全地访问数据,但传统的 API 和数据库并非为此目的而构建。我们正在构建一个 API 层,该层可以自动为您的结构化数据生成安全、LLM 优化的 API。

我们的解决方案:

  • 过滤掉 PII 和敏感数据,以确保符合 GDPR、CPRA、SOC 2 和其他法规
  • 添加可追溯性和审计功能,确保 AI 应用程序不是黑盒,并且安全团队保持控制
  • 针对 AI 工作负载进行优化,支持具有增强元信息的模型上下文协议 (MCP),以帮助 AI 代理理解 API,以及内置的缓存和安全功能

我们的主要用户是部署 AI 代理以进行客户支持、分析的公司,他们需要模型访问数据,而无需直接 SQL 访问数据库,从而消除安全性、合规性和性能风险。

demo

特性

  • 自动 API 生成 – 使用基于表模式和采样数据的 LLM 自动创建 API
  • 🗄️ 结构化数据库支持 – 支持 <a href="https://docs.centralmind.ai/connectors/postgres/">PostgreSQL</a>、<a href="https://docs.centralmind.ai/connectors/mysql/">MySQL</a>、<a href="https://docs.centralmind.ai/connectors/clickhouse/">ClickHouse</a>、<a href="https://docs.centralmind.ai/connectors/snowflake/">Snowflake</a>、<a href="https://docs.centralmind.ai/connectors/mssql/">MSSQL</a>、<a href="https://docs.centralmind.ai/connectors/bigquery/">BigQuery</a>、<a href="https://docs.centralmind.ai/connectors/oracle/">Oracle Database</a>、<a href="https://docs.centralmind.ai/connectors/sqlite/">SQLite</a>、<a href="https://docs.centralmind.ai/connectors/sqlite/">ElasticSearch</a>
  • 🌍 多协议支持 – 提供 REST 或 MCP 服务器(包括 SSE 模式)的 API
  • 📜 API 文档 – 自动生成的 Swagger 文档和 OpenAPI 3.1.0 规范
  • 🔒 PII 保护 – 实施 <a href="https://docs.centralmind.ai/plugins/pii_remover/">regex 插件</a> 或 <a href="https://docs.centralmind.ai/plugins/presidio_anonymizer/">Microsoft Presidio 插件</a> 以进行 PII 和敏感数据编辑
  • 灵活的配置 – 通过 YAML 配置和插件系统轻松扩展
  • 🐳 部署选项 – 作为二进制文件或 Docker 容器运行,并提供即用型 <a href="https://docs.centralmind.ai/helm/gateway/">Helm chart</a>
  • 🤖 多 AI 提供商支持 - 支持 OpenAI, Anthropic, Amazon Bedrock, Google Gemini & Google VertexAI
  • 📦 本地和本地部署 – 通过可配置的 AI 端点和模型支持 <a href="https://docs.centralmind.ai/providers/local-models/">自托管 LLM</a>
  • 🔑 行级安全性 (RLS) – 使用 <a href="https://docs.centralmind.ai/plugins/lua_rls/">Lua 脚本</a> 进行细粒度数据访问控制
  • 🔐 身份验证选项 – 内置支持 <a href="https://docs.centralmind.ai/plugins/api_keys/">API 密钥</a> 和 <a href="https://docs.centralmind.ai/plugins/oauth/">OAuth</a>
  • 👀 全面监控 – 与 <a href="https://docs.centralmind.ai/plugins/otel/">OpenTelemetry (OTel)</a> 集成,用于请求跟踪和审计跟踪
  • 🏎️ 性能优化 – 实施基于时间和 <a href="https://docs.centralmind.ai/plugins/lru_cache/">LRU 缓存</a> 策略

工作原理

<div align="center">

img.png

</div>

1. 连接和发现

Gateway 连接到您的结构化数据库(如 PostgreSQL),并自动分析模式和数据样本,以根据您的提示生成优化的 API 结构。 LLM 仅在发现阶段用于生成 API 配置。该工具使用 AI 提供商 生成 API 配置,同时通过 PII 检测确保安全性。

2. 部署

Gateway 支持多种部署选项,从独立二进制文件、docker 或 <a href="https://docs.centralmind.ai/example/k8s/">Kubernetes</a>。查看我们的 <a href="https://docs.centralmind.ai/docs/content/getting-started/launching-api/">启动指南</a> 以获取详细说明。该系统使用 YAML 配置和插件进行轻松自定义。

3. 使用和集成

通过 REST API 或具有内置安全功能的模型上下文协议 (MCP) 访问您的数据。 Gateway 与 AI 模型和应用程序(如 <a href="https://docs.centralmind.ai/docs/content/integration/langchain/">LangChain</a>、<a href="https://docs.centralmind.ai/docs/content/integration/chatgpt/">OpenAI</a> 和 <a href="https://docs.centralmind.ai/docs/content/integration/claude-desktop/">Claude Desktop</a>)无缝集成,使用函数调用或通过 MCP 使用 <a href="https://docs.centralmind.ai/docs/content/integration/cursor/">Cursor</a>。您还可以 <a href="https://docs.centralmind.ai/plugins/otel/">设置遥测</a> 到 otel 格式的本地或远程目标。

文档

入门

  • <a href="https://docs.centralmind.ai/docs/content/getting-started/quickstart/">快速入门指南</a>
  • <a href="https://docs.centralmind.ai/docs/content/getting-started/installation/">安装说明</a>
  • <a href="https://docs.centralmind.ai/docs/content/getting-started/generating-api/">API 生成指南</a>
  • <a href="https://docs.centralmind.ai/docs/content/getting-started/launching-api/">API 启动指南</a>

附加资源

  • <a href="https://docs.centralmind.ai/docs/content/integration/chatgpt/">ChatGPT 集成指南</a>
  • <a href="https://docs.centralmind.ai/connectors/">数据库连接器文档</a>
  • <a href="https://docs.centralmind.ai/plugins/">插件文档</a>

如何构建

# 克隆存储库
git clone https://github.com/centralmind/gateway.git

# 导航到项目目录
cd gateway

# 安装依赖项
go mod download

# 构建项目
go build .

API 生成

Gateway 使用 LLM 模型来生成您的 API 配置。请按照以下步骤操作:

  1. 选择我们支持的 AI 提供商之一:

Google Gemini 提供慷慨的免费套餐。您可以通过访问 Google AI Studio 获取 API 密钥:

登录后,您可以在 AI Studio 的 API 部分创建一个 API 密钥。免费套餐包括慷慨的每月令牌分配,使其可用于开发和测试目的。

配置 AI 提供商授权。对于 Google Gemini,设置一个 API 密钥。

export GEMINI_API_KEY='yourkey'
  1. 运行发现命令:
./gateway discover \
  --ai-provider gemini \
  --connection-string "postgresql://neondb_owner:MY_PASSWORD@MY_HOST.neon.tech/neondb?sslmode=require" \
  --prompt "为我生成一个很棒的只读 API"
  1. 监控生成过程:
INFO 🚀 API 发现过程
INFO 步骤 1:读取配置
INFO ✅ 步骤 1 完成。完成。

INFO 步骤 2:发现数据
INFO 发现的表:
INFO   - payment_dim:3 列,39 行
INFO   - fact_table:9 列,1000000 行
INFO ✅ 步骤 2 完成。完成。

# 其他步骤和输出...

INFO ✅ 所有步骤完成。完成。

INFO --- 执行统计 ---
INFO 总耗时:1m10s
INFO 使用的令牌:16543(估计成本:$0.0616)
INFO 处理的表:6
INFO 创建的 API 方法:18
INFO 具有 PII 数据的列总数:2
  1. gateway.yaml 中查看生成的配置:
api:
  name: Awesome Readonly API
  description: ''
  version: '1.0'
database:
  type: postgres
  connection: YOUR_CONNECTION_INFO
  tables:
    - name: payment_dim
      columns: # 表列
      endpoints:
        - http_method: GET
          http_path: /some_path
          mcp_method: some_method
          summary: Some readable summary
          description: 'Some description'
          query: SQL Query with params
          params: # 查询参数

运行 API

在本地运行

./gateway start --config gateway.yaml rest

Docker Compose

docker compose -f ./example/simple/docker-compose.yml up

MCP 协议集成

Gateway 实现了 MCP 协议,可与 Claude 和其他工具无缝集成。有关详细的设置说明,请参阅我们的 <a href="https://docs.centralmind.ai/docs/content/integration/claude-desktop/">Claude 集成指南</a>。

  1. 构建 gateway 二进制文件:
go build .
  1. 配置 Claude Desktop 工具配置:
{
  "mcpServers": {
    "gateway": {
      "command": "PATH_TO_GATEWAY_BINARY",
      "args": ["start", "--config", "PATH_TO_GATEWAY_YAML_CONFIG", "mcp-stdio"]
    }
  }
}

路线图

它总是会发生变化,路线图将高度依赖于用户反馈。目前, 我们正在计划以下功能:

数据库和连接性

  • 🗄️ 扩展的数据库集成 - Redshift、S3(Iceberg 和 Parquet)、Oracle DB、Microsoft SQL Server、Elasticsearch
  • 🔑 SSH 隧道 - 能够使用 jumphost 或 ssh bastion 来隧道连接

增强的功能

  • 🔍 高级查询功能 - 复杂的过滤语法和聚合函数作为参数
  • 🔐 增强的 MCP 安全性 - API 密钥和 OAuth 身份验证

平台改进

  • 📦 模式管理 - 自动模式演变和 API 版本控制
  • 🚦 高级流量管理 - 智能速率限制、请求限制
  • ✍️ 写入操作支持 - 插入、更新操作

推荐服务器

Playwright MCP Server

Playwright MCP Server

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

官方
精选
TypeScript
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
AIO-MCP Server

AIO-MCP Server

🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。

精选
本地
Knowledge Graph Memory Server

Knowledge Graph Memory Server

为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。

精选
本地
Hyperbrowser

Hyperbrowser

欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:

精选
本地
https://github.com/Streen9/react-mcp

https://github.com/Streen9/react-mcp

react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。

精选
本地
MCP Atlassian

MCP Atlassian

适用于 Atlassian Cloud 产品(Confluence 和 Jira)的 Model Context Protocol (MCP) 服务器。此集成专为 Atlassian Cloud 实例设计,不支持 Atlassian Server 或 Data Center 部署。

精选