Token导航 LogoToken导航

MCP Server · 搜索检索

Company MCP

提供数据库模式的全文搜索、语义搜索和模式检索功能,适用于数据库文档管理和数据分析场景。

stdio官方级别未说明来源级核验工具 0
Python全文搜索数据分析

快速开始

作者 / 组织
nstjuliana
提供方
nstjuliana

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Company MCP 属于搜索检索类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

数据库上下文MCP服务器

提供以下功能的FastMCP服务器 数据库模式上下文 通过搜索和元数据工具。此MCP提供预索引数据库文档——它确实 不 连接到实际的数据库。

目的

该服务器从JSON/PMarkdown文件中索引数据库模式(表、列、关系),并提供:

  • FTS5全文搜索:BM25排名关键字搜索
  • 向量相似性搜索:使用OpenAI嵌入的语义搜索
  • 模式检索:从索引的JSON文件中获取表/列定义
  • 关系发现:查找表之间的连接路径

数据结构

目录布局

data/
├── index/
│   └── index.db              # SQLite index with FTS5 + vector search
└── map/
    ├── postgres_production/
    │   └── domains/
    │       ├── authentication/
    │       │   └── tables/
    │       │       ├── auth.users.json
    │       │       ├── auth.users.md
    │       │       ├── auth.sessions.json
    │       │       └── ...
    │       ├── payments/
    │       │   └── tables/
    │       │       ├── public.payments.json
    │       │       ├── public.merchants.json
    │       │       └── ...
    │       ├── realtime/
    │       ├── security/
    │       └── storage/
    └── snowflake_production/
        └── domains/
            ├── payments/
            │   └── tables/
            │       └── PUBLIC.DABSTEP_PAYMENTS.json
            └── workflow/
                └── tables/
                    ├── PUBLIC.DABSTEP_TASKS.json
                    ├── PUBLIC.DABSTEP_SUBMISSIONS.json
                    └── PUBLIC.DABSTEP_TASK_SCORES.json

JSON模式文件格式

每个表都记录在具有以下结构的JSON文件中:

{
  "table": "payments",
  "schema": "public",
  "database": "postgres_production",
  "description": "Payment transactions processed through the system...",
  "row_count": 138236,
  "columns": [
    {
      "name": "payment_id",
      "type": "character varying",
      "nullable": false,
      "description": "Unique identifier for each payment transaction..."
    }
  ],
  "primary_key": ["payment_id"],
  "foreign_keys": [],
  "indexes": [
    {
      "index_name": "payments_pkey",
      "columns": ["payment_id"],
      "is_unique": true
    }
  ]
}

______________________________________________________________________

索引数据库架构

SQLite索引数据库(data/index/index.db)包含以下表格:

documents --主要文件索引

存储所有索引内容(表和列)。

列类型描述
idINTEGER主键
doc_type文本'table' 或 'column'
database_name文本'postgres_production' 或 'snowflake_production'
schema_nameTEXT模式(例如。, 'auth', 'public', 'PUBLIC')
table_nameTEXT表名
column_nameTEXT列名(用于列文档)
domainTEXT业务领域类别
contentTEXT完整的JSON/Markdown内容
summaryTEXT生成的摘要
keywordsTEXTJSON关键字数组
file_pathTEXT中源文件的路径 data/map/
content_hashTEXTSHA256用于变化检测
indexed_at日期时间索引时
parent_doc_idINTEGERFK到父级(用于列)

documents_fts --FTS5全文搜索

BM25排名文本搜索的虚拟表。

CREATE VIRTUAL TABLE documents_fts USING fts5(
    content, summary, keywords,
    content='documents', content_rowid='id'
);

documents_vec --矢量嵌入

用于语义相似性搜索的虚拟表(需要sqlite-vec扩展)。

CREATE VIRTUAL TABLE documents_vec USING vec0(
    document_id INTEGER PRIMARY KEY,
    embedding float[1536]  -- OpenAI text-embedding-3-small
);

keywords --提取的搜索词

带有频率计数的缓存关键字。

列类型描述
idINTEGER主键
term文本关键字
source_type文本'table' 或 'column'
frequency整数发生次数

index_weights --搜索排名配置

doc_typefts_weightvec_weightboost
表1.01.01.5
列0.80.81.0
关系1.01.01.2

index_metadata --索引配置

元数据的键值存储,如 embedding_model, embedding_dimensions, document_count, last_full_index.

______________________________________________________________________

快速开始

1.安装依赖项

pip install -r requirements.txt

2.设置环境(可选,用于矢量搜索)

创建 .env 使用您的OpenAI API密钥文件:

OPENAI_API_KEY=sk-your-api-key-here

3.初始化数据库

python setup_db.py

这创造了 data/index/index.db 与:

  • FTS5全文搜索索引
  • 用于语义搜索的向量嵌入(如果提供了OpenAI密钥)
  • 预先计算的关键字

4.运行服务器

python server.py

或者使用Docker:

docker build -t db-context-mcp .
docker run -p 8000:8000 --env-file .env db-context-mcp

MCP端点服务于 http://localhost:8000/mcp.

5.使用Python客户端进行测试

python client.py

______________________________________________________________________

Docker编写部署

对于完整部署 MCP服务器 和 SFTP服务器:

Docker Compose快速入门

# 1. Copy environment template
cp .env.example .env

# 2. Edit .env with your configuration
#    - Set a secure SFTP_PASSWORD
#    - Add OPENAI_API_KEY for vector search

# 3. Start all services
docker-compose up -d

服务

服务端口描述
MCP服务器8000数据库上下文MCP端点
SFTP服务器2222SFTP访问 /data 目录

SFTP访问

连接到SFTP服务器以进行程序化文件访问:

# Connect via SFTP
sftp -P 2222 datauser@localhost

# Default credentials (change in .env):
# User: datauser
# Password: changeme

文件可在以下网址访问 /home/datauser/data/ 哪个映射到 ./data 目录。

环境变量

变量默认值描述
MCP_PORT8000MCP服务器HTTP端口
OPENAI_API_KEY-用于矢量搜索的OpenAI API键
SFTP_PORT2222SFTP服务器端口
SFTP_USERdatauserSFTP用户名
SFTP_PASSWORDchangemeSFTP密码

Docker命令

# Start all services
docker-compose up -d

# View logs
docker-compose logs -f

# Stop all services
docker-compose down

# Rebuild after changes
docker-compose up -d --build

# View service status
docker-compose ps

______________________________________________________________________

可用工具(共14个)

发现工具

工具说明
list_databases列出所有带有表计数和模式的索引数据库
list_domains列出所有具有表计数的业务域
list_tables列出所有表,可选择按数据库/域筛选
list_databases

了解索引中可用的数据库。

list_databases()

退货:

{
  "databases": [
    {"name": "postgres_production", "table_count": 37, "domains": [...], "schemas": [...]},
    {"name": "snowflake_production", "table_count": 4, "domains": [...], "schemas": [...]}
  ]
}
list_domains

列出所有具有表计数的业务域。

list_domains(
    database: str = ""    # Optional: filter by database
)

退货: {domains: [{name, description, table_count, databases}]}

list_tables

列出带有元数据的可用表。

list_tables(
    database: str = "",   # Optional: filter by database
    domain: str = ""      # Optional: filter by domain
)

退货: 列表 {name, title, database, schema, domain, summary, file_path}

______________________________________________________________________

搜索工具

工具说明
search_ftsFTS5全文搜索,BM25排名
search_vector基于OpenAI嵌入的语义向量搜索
search_db_map基于令牌的索引表快速搜索
search_tables查找与自然语言查询匹配的表
search_fts

使用SQLite FTS5进行全文搜索,BM25排名。

search_fts(
    query: str,           # Search text (supports AND, OR, NOT, "exact phrase")
    database: str = "",   # Optional: filter by database
    domain: str = "",     # Optional: filter by domain
    doc_type: str = "",   # Optional: filter by type ("table" or "column")
    limit: int = 10       # Max results (1-50)
)

退货: 结果与 id, table_name, summary, file_path, bm25_rank

search_vector

使用OpenAI嵌入的语义搜索。查找具有相似含义的文档。

search_vector(
    query: str,           # Natural language query
    database: str = "",   # Optional: filter by database
    domain: str = "",     # Optional: filter by domain
    doc_type: str = "",   # Optional: filter by type
    limit: int = 10       # Max results (1-50)
)

退货: 结果与 id, table_name, summary, file_path, distance

注: 需要 OPENAI_API_KEY 环境变量。

search_db_map

对内存表索引进行基于令牌的快速搜索。

search_db_map(
    query: str,           # Free-text search string
    top_k: int = 3        # Number of results
)

退货: 列表 {id, title, score, snippet}

search_tables

使用标记重叠匹配查找与查询相关的表。

search_tables(
    query: str,           # Search text
    database: str = "",   # Optional: filter by database
    domain: str = "",     # Optional: filter by domain
    limit: int = 5        # Max results (1-20)
)

退货: {tables: [...], total_matches, tokens_used}

______________________________________________________________________

架构工具

工具说明
list_columns获取特定表的列
get_table_schema从JSON文件获取完整的模式详细信息
get_domain_overview获取域中的所有表
list_columns

获取表的列定义。

list_columns(
    table: str,           # Table name (e.g., "merchants", "DABSTEP_PAYMENTS")
    database: str = ""    # Optional: filter by database
)

退货: {table, columns: [{name, type, nullable, description}], file_path}

get_table_schema

从源JSON文件中检索完整的模式详细信息。

get_table_schema(
    table: str,                    # Table name
    database: str = "",            # Optional: filter by database
    include_samples: bool = False  # Include sample values if available
)

退货: 完整的架构包括:

  • name, database, schema, description
  • columns 带有类型和描述
  • primary_key, foreign_keys, indexes
  • related_tables, file_path
get_domain_overview

获取业务域中所有表的摘要。

get_domain_overview(
    domain: str,          # Domain name (e.g., "payments", "authentication")
    database: str = ""    # Optional: filter by database
)

退货: {domain, description, databases, tables: [{name, description}]}

______________________________________________________________________

关系工具

工具说明
get_join_path查找两个表之间的连接路径
get_common_relationships列出基于FK的连接模式
get_join_path

通过外键遍历找到两个表之间的连接路径。

get_join_path(
    source_table: str,    # Starting table
    target_table: str,    # Target table
    database: str = "",   # Optional: filter by database
    max_hops: int = 3     # Maximum join hops
)

退货: {source, target, found, hop_count, path: [...], sql_snippet}

get_common_relationships

根据外键列出常用的连接模式。

get_common_relationships(
    database: str = "",   # Optional: filter by database
    domain: str = "",     # Optional: filter by domain
    limit: int = 10       # Max relationships
)

退货: {relationships: [{source_table, target_table, join_sql, description}]}

______________________________________________________________________

实用工具

工具说明
add(a, b)返回a+b(连接测试)
echo(message)返回消息(连接测试)

______________________________________________________________________

示例用法

发现可用数据

# List all databases
list_databases()
# → postgres_production (37 tables), snowflake_production (4 tables)

# List tables in a specific database
list_tables(database="snowflake_production")

# List business domains
list_domains()

搜索表格

# FTS5 search
search_fts(query="payment fraud", limit=5)

# Semantic search
search_vector(query="tables related to financial transactions", limit=3)

# Search within a specific database
search_fts(query="merchant", database="postgres_production")

获取架构详细信息

# Get schema for a table (auto-detects database)
get_table_schema(table="payments")

# Get schema from specific database
get_table_schema(table="payments", database="postgres_production")
get_table_schema(table="DABSTEP_PAYMENTS", database="snowflake_production")

# Get columns only
list_columns(table="merchants", database="postgres_production")

探索关系

# Find join path between tables
get_join_path(
    source_table="merchants",
    target_table="payments",
    database="postgres_production"
)

# Get common relationships in a domain
get_common_relationships(domain="payments")

______________________________________________________________________

建筑

┌─────────────────────────────────────────────────────────────┐
│                     MCP Client                              │
└─────────────────────────────────────────────────────────────┘
                            │
                            ▼
┌─────────────────────────────────────────────────────────────┐
│                   FastMCP Server                            │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐ │
│  │ search_fts  │  │search_vector│  │ Schema Tools        │ │
│  └──────┬──────┘  └──────┬──────┘  └──────────┬──────────┘ │
│         │                │                     │            │
│         ▼                ▼                     ▼            │
│  ┌─────────────────────────────┐    ┌─────────────────────┐│
│  │   data/index/index.db      │    │   data/map/*.json   ││
│  │  ┌───────────┐ ┌─────────┐ │    │   (source schemas)  ││
│  │  │   FTS5    │ │ Vectors │ │    └─────────────────────┘│
│  │  └───────────┘ └─────────┘ │                            │
│  └─────────────────────────────┘                            │
└─────────────────────────────────────────────────────────────┘
                            │
                            ▼ (vector search only)
                   ┌────────────────┐
                   │  OpenAI API    │
                   │  (embeddings)  │
                   └────────────────┘

______________________________________________________________________

索引内容摘要

数据库表域架构
postgres-production37分析、身份验证、客户、通用、消息传递、支付身份验证、公共、实时、存储、保险库
雪花_生产4一般,付款公共

总计: 41个表格,428个索引文档(表格+列)

______________________________________________________________________

备注

  • 没有数据库连接:此MCP仅提供预索引上下文,它不连接到实际的Postgres或Snowflake数据库。
  • 矢量搜索 需要 OPENAI_API_KEY 在运行时生成查询嵌入。
  • FTS5搜索 在没有OpenAI的情况下,使用预构建的索引即可工作。
  • 数据库参数:使用 database="postgres_production" 或 database="snowflake_production" 当表名可能重叠时,以特定数据库为目标。
  • 跑 setup_db.py 在将新的JSON文件添加到 data/map/ 重建索引。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

数据库搜索Python本地部署模式检索语义搜索全文搜索数据分析

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Company MCP

MCP World · 本页

0stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Company MCP 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Company MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Company MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Company MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Company MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP