gaussdbdocs-mcp-server

gaussdbdocs-mcp-server

Local MCP server for GaussDB documentation semantic search and read-only database introspection.

Category
访问服务器

README

gaussdbdocs-mcp-server

Local MCP server for GaussDB documentation semantic search + read-only metadata access. Apache-2.0 · Python 3.12 · Qdrant 1.12 · MCP 1.x

English · 中文


English

What is this?

A Model-Context-Protocol server that gives Claude Desktop / Cursor (and any other MCP client) two capabilities against a GaussDB instance:

  1. Hybrid semantic search over the GaussDB documentation corpus — dense (BGE-large-zh-v1.5) + sparse (BM25) + Reciprocal Rank Fusion (k=60). Built for the database's high identifier density (GUC / WAL / XID / TOAST etc.).
  2. Read-only introspection of a live GaussDB instance — metadata tools (list_databases, list_schemas, list_tables, etc.) and EXPLAIN for query plans. DML/DDL/DCL are rejected at the Python layer BEFORE any SQL leaves the process.

One-command install

git clone https://github.com/songmenglin-dev/gaussdbdocs-mcp-server.git
cd gaussdbdocs-mcp-server
./setup.sh            # or: ./setup.sh v1   # pin a snapshot
docker compose ps     # confirm qdrant + mcp-server both healthy

setup.sh validates Docker availability, copies .env.example → .env, downloads the index-v*.tar.gz snapshot from GitHub Releases into the named index_data volume, and brings up the stack. Target: ≤ 10 minutes on a clean Linux box.

Architecture

.chm → parse_chm → chunk → BGE + BM25 → Qdrant (named vectors: dense + sparse)
                                  ↓
                       export snapshot → GitHub Releases (BUILD)
                                  ↓
                  setup.sh downloads index-v*.tar.gz (RUN)
                                  ↓
                       import_snapshot → Qdrant storage
                                  ↓
              MCP server (stdio / SSE) — hybrid retrieval + DB tools

MCP tools (11 total)

Tool Requires Description
query_gaussdb_docs(query, top_k) — Hybrid retrieval
search_sql_reference(query, edition?, top_k) — SQL syntax lookup (filtered to doc_type=sql_reference)
search_admin_guide(query, edition?, top_k) — Operational guidance lookup
compare_gaussdb_editions(topic, top_k_per_side) — Paired evidence across distributed / centralized
list_databases GAUSSDB_DSN Enumerate databases the role can see
list_schemas(schema?) GAUSSDB_DSN Schemas (default: all)
list_tables(schema?) GAUSSDB_DSN Tables (default: user schemas)
list_indexes(table) GAUSSDB_DSN Indexes on a table
describe_table(table) GAUSSDB_DSN Columns + types + nullability + defaults
show_performance_views GAUSSDB_DSN pg_stat_* performance views
explain_query(sql) GAUSSDB_DSN EXPLAIN only — EXPLAIN ANALYZE is rejected

The DB tools are only registered when GAUSSDB_DSN is configured; without it, the docs surface (4 tools) is the entire tool list.

Configuration

All config via env vars (see .env.example):

QDRANT_HOST=qdrant               # service hostname
QDRANT_PORT=6333
QDRANT_GRPC_PORT=6334
INDEX_ARCHIVE=/data/index.tar.gz
EMBEDDING_MODEL=BAAI/bge-large-zh-v1.5
BM25_MODEL=Qdrant/bm25
RETRIEVAL_MODE=hybrid           # hybrid | dense | sparse
RRF_K=60
MCP_TRANSPORT=stdio             # stdio | sse
MCP_SSE_PORT=8080
GAUSSDB_DSN=postgresql://user:pass@host:5432/db  # optional
LOG_LEVEL=INFO

Development

make test-unit     # fast unit tests
make test          # full suite (in-memory Qdrant)
make lint          # ruff
make build-index   # run the BUILD pipeline
make docker-build  # production image

Project status

Batch What Status
1 Scaffold + config + logging ✅
2 CHM parse + chunk ✅
3 Embedding + Qdrant index + snapshot export ✅
4 Snapshot import + hybrid RRF + keyword_critical regression + domain tools ✅
5 MCP server (stdio + SSE) ✅
6 GaussDB read-only connector + DB tools ✅
7 Docker / Compose / setup.sh / CI / Release 🚧
8 Eval harness ⏳
9 Coverage gate + community files ⏳

License

Apache-2.0 — see LICENSE.


中文

这是什么?

一个 Model-Context-Protocol (MCP) 服务器,给 Claude Desktop / Cursor(以及任何兼容 MCP 的客户端)提供两个能力对接 GaussDB:

  1. GaussDB 文档语料库的混合语义检索 — dense(BGE-large-zh-v1.5) + sparse(BM25) + Reciprocal Rank Fusion(k=60)。专为数据库文档的高专有名词密度(GUC / WAL / XID / TOAST 等)调优。
  2. 活 GaussDB 实例的只读内省 — 元数据工具(list_databases、list_schemas、list_tables 等)和 EXPLAIN 看查询计划。DML/DDL/DCL 在 Python 层 SQL 离开进程前 就被拒绝。

一键安装

git clone https://github.com/songmenglin-dev/gaussdbdocs-mcp-server.git
cd gaussdbdocs-mcp-server
./setup.sh             # 或 ./setup.sh v1 钉特定版本
docker compose ps      # 确认 qdrant + mcp-server 都 healthy

setup.sh 校验 Docker 可用性、把 .env.example 拷成 .env、从 GitHub Releases 下载 index-v*.tar.gz 到命名卷 index_data、然后启动整套栈。目标:干净 Linux 机器 ≤ 10 分钟上线。

架构

.chm → parse_chm → chunk → BGE + BM25 → Qdrant(named vectors: dense + sparse)
                                  ↓
                  export snapshot → GitHub Releases(BUILD)
                                  ↓
            setup.sh 下载 index-v*.tar.gz(RUN)
                                  ↓
                 import_snapshot → Qdrant storage
                                  ↓
           MCP server(stdio / SSE)— 混合检索 + DB 工具

开发

make test-unit   # 快速单元测试
make test        # 全套(in-memory Qdrant)
make lint        # ruff
make build-index # 跑 BUILD pipeline
make docker-build

许可证

Apache-2.0 — 见 LICENSE。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

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

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

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

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
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 模型以安全和受控的方式获取实时的网络信息。

官方
精选