Token导航 LogoToken导航

MCP Server · 文档知识

contextmine (Mayflower)

ContextMine是一款自托管的文档和代码索引服务,通过Model Context Protocol (MCP)集成,为AI助手提供准确、最新的上下文信息,支持代码理解、文档查找和代码库探索。

stdio官方级别未说明来源级核验工具 16
代码索引PythonClaudeClaude DesktopCursor

快速开始

作者 / 组织
mayflower
提供方
mayflower
运行时
Python

工具数量

16

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

16

仓库热度

收录来源

1 个

MCP World

选型结论

contextmine (Mayflower) 属于文档知识类 MCP Server,公开资料标注 16 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cursor,有可以直接复制的安装命令;接入前要先准备 OAuth 授权。

分类

文档知识

传输方式

stdio

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

安装命令

python -c "import secrets; print(secrets.token_urlsafe(32))"

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

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

ContextMine

Self-hosted documentation and code indexing with MCP integration.

Give your AI assistant accurate, up-to-date context from your own sources.

什么是ContextMine?

ContextMine为您的文档和代码库建立索引,使其可以通过 模型上下文协议(MCP)。将其连接到Claude Desktop、Cursor或任何兼容MCP的AI助手,为代码理解、文档查找和代码库探索提供丰富的上下文。

主要特点:

  • 混合搜索 -全文+向量相似度与RRF排名相结合,实现准确检索
  • 深度研究代理 -具有LSP和Tree sitter的多步AI代理,用于解决复杂的代码库问题
  • 代码智能 -通过Tree sitter进行符号提取、代码大纲和结构导航
  • 建筑驾驶舱 -只读提取每个集合/场景的双视图(Overview, Topology, Deep Dive, C4 Diff, Exports)
  • 严格的真实指标 -具有明确可用性状态的GitHub源代码的文件级LOC/复杂性/耦合/覆盖率
  • 信息采集 -自动索引文档站点
  • Git索引 -使用增量更新对GitHub存储库进行索引
  • 自托管 -您的数据保留在您的基础设施上

深度研究代理

深度研究代理不仅限于简单的搜索,还可以回答有关代码库的复杂问题。它使用迭代方法和多种工具:

工具说明
混合搜索BM25+基于RRF排序的向量相似性搜索
LSP转到定义跨文件跳转到符号定义
LSP查找参考查找符号的所有用法
LSP悬停获取类型信息和文档
树保姆轮廓提取文件结构(类、函数、方法)
树保姆查找符号按名称模式定位符号
图的遍历浏览调用图和依赖关系

代理人从多个来源收集证据,验证调查结果,并将综合答案与引用相结合。

快速开始

选择部署方法:

Docker Compose

# Clone the repository
git clone https://github.com/mayflower/contextmine.git
cd contextmine

# Copy environment template and configure
cp .env.example .env
# Edit .env with your API keys (see Configuration section)

# Start all services
docker compose up -d

# Run database migrations
docker compose exec api sh -c "cd /app/packages/core && alembic upgrade head"

Kubernetes(Helm)

对于生产部署,请使用GHCR的Helm图表:

# Create a values file with your configuration
cat > my-values.yaml  **备注**:管理UI和MCP客户端都使用相同的回调URL。服务器会自动将OAuth流路由到相应的处理程序。

### 生成安全密钥

Generate session secret

python -c "import secrets; print(secrets.token_urlsafe(32))"

Generate encryption key

python -c "import secrets; print(secrets.token_urlsafe(32))"


## 添加源

### Web文档

最适合:API文档、指南、参考文档

1. 在管理UI中创建集合
1. 添加类型为的源 **网络**
1. 输入基本URL(例如。, `https://docs.example.com/`)
1. 爬虫跟踪同一域内的链接

### GitHub存储库

最适合:源代码、README文件、内联文档

1. 添加类型为的源 **GitHub**
1. 以以下身份输入存储库 `owner/repo`
1. 可选择指定:
   - **分支**:默认为默认分支
   - **路径过滤器**:限于特定目录(例如。, `src/`, `docs/`)
1. 代码文件被解析为符号(函数、类、方法)

**符号提取支持的语言:**
Python、TypeScript、JavaScript、Go、Rust、Java、C、C++、Ruby、PHP

**支持严格真实指标的语言(双子城/城市):**
Python、TypeScript、JavaScript、Java、PHP

GitHub源代码的严格度量门行为:

1. 同步计算结构度量(`loc`, `complexity`, `coupling`)而不会阻碍报道。
1. 覆盖率从CI异步获取,并绑定到精确的提交SHA。
1. 覆盖率摄取是严格的:无效的令牌/有效载荷/SHA不匹配/路径不匹配导致摄取作业失败。
1. 只有在成功获取覆盖率后,城市指标才能完全准备就绪。

## 建筑

┌───────────────────────────────┐ ┌─────────────┐ │ FastAPI + React SPA │────▶│ PostgreSQL │ │ /api/* /mcp/* /* (frontend) │ │ pg4ai │ └───────────────────────────────┘ └─────────────┘ │ ┌──────┴──────┐ ▼ ▼ ┌─────────┐ ┌─────────┐ │ Prefect │ │ spider │ │ Worker │ │ _md │ └─────────┘ └─────────┘


- **API** (`apps/api`):FastAPI服务于的REST API `/api/*`MCP在 `/mcp/*`,以及React前端 `/*`
- **网络** (`apps/web`):React管理控制台(由API构建并提供服务)
- **工人** (`apps/worker`):使用Prefect进行后台同步作业
- **核心** (`packages/core`):共享模型、数据库和实用程序

## 发展

### 先决条件

- Python 3.12+
- Node.js 20+
- [紫外线](https://github.com/astral-sh/uv) 用于Python依赖管理
- Docker(适用于pg4ai:PostgreSQL+pgvector+Apache AGE)

### 地方发展设置

Start database

docker compose up -d postgres

Optional: verify vector + graph capabilities in postgres

./scripts/docker/smoke-pg4ai.sh

Install Python dependencies

uv sync --all-packages

Run migrations

cd packages/core DATABASE_URL=postgresql+asyncpg://contextmine:contextmine@localhost:5432/contextmine \ uv run alembic upgrade head cd ../..

Build frontend (one-time, or after frontend changes)

cd apps/web && npm install && npm run build && cd ../..

Start API server (serves both API and frontend)

STATIC_DIR=apps/web/dist uv run uvicorn apps.api.app.main:app --reload --port 8000


对于热重载的前端开发,请单独运行Vite-dev服务器:

Terminal 1: API server

uv run uvicorn apps.api.app.main:app --reload --port 8000

Terminal 2: Frontend dev server (proxies API requests to :8000)

cd apps/web && npm run dev


### 运行测试

All tests

uv run pytest -v

Specific test file

uv run pytest packages/core/tests/test_treesitter.py -v

With coverage

uv run pytest --cov=contextmine_core --cov-report=term-missing


### 代码质量

Linting

uv run ruff check .

Type checking

uvx ty check

Auto-format

uv run ruff format .

Pre-commit hooks

uv run pre-commit install uv run pre-commit run --all-files


## 容器图像

预构建映像可从GitHub容器注册表获得:

docker pull ghcr.io/mayflower/contextmine-api:latest docker pull ghcr.io/mayflower/contextmine-worker:latest docker pull ghcr.io/mayflower/contextmine-web:latest


## 故障排除

### MCP客户端中“未找到集合”

1. 确保您在管理UI中至少创建了一个集合
1. 检查集合可见性是否设置为 **全球** (或者您已通过身份验证)
1. 在MCP客户端提示时,验证您是否已完成GitHub OAuth流程

### 同步找不到文档

1. 请在以下位置查看Prefect UIhttp://localhost:4200关于工作状态
1. 对于GitHub源代码,确保存储库可访问
1. 对于web源,验证URL是否可访问并返回HTML

### 未提取符号

符号提取仅适用于支持的语言。检查:

1. 该文件具有可识别的扩展名(`.py`, `.ts`, `.js`, `.go`等等)
1. 同步已完成(同步期间提取符号)

### 驾驶舱概览显示 `N/A` 指标

1. 检查 `GET /api/twin/collections/{collection_id}/views/city`.
1. 检查 `metrics_status.reason`:
   - `awaiting_ci_coverage`:CI尚未推动报道。
   - `coverage_ingest_failed`:查看摄取作业诊断。
   - `no_real_metrics`:未生成结构度量快照。
1. 验证最新摄取作业:
   - `GET /api/sources/{source_id}/metrics/coverage-ingest/{job_id}`
1. 重新运行CI上传并匹配 `commit_sha=${{ github.sha }}` 以及有效的报告。

## 许可证

MIT许可证-请参阅 [许可证](LICENSE) 了解详情。

工具与能力

工具数量

16

资源数量

0

提示词数量

0

能力标签

文档索引Python本地部署代码索引AI助手集成自托管混合搜索代码智能

支持客户端

Claude DesktopClaudeCursor

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

典型使用场景

读长文档提问

把 PDF、Markdown 和笔记交给模型,按章节追问细节。

整理知识库

把零散资料归档、打标签,检索时更容易命中。

批量出摘要

提取要点,输出能直接引用的段落。

选择建议

值得选的地方

  • 工具数量 16 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在文档知识场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到OAuth 授权的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

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

MCP World · 本页

16stdio有1 个2026-05-17
Cherry Studio

MCP World

0未说明未标注1 个2026-05-17
Pdf Math Translate

MCP World

0stdio有1 个2026-05-17
report generation

MCP World

0stdio有1 个2026-05-17
Anything To Notebooklm

MCP World

0stdio有1 个2026-05-17

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

常见问题

5 条

contextmine (Mayflower) 怎么安装?

公开资料给出的安装命令是 python -c "import secrets; print(secrets.token_urlsafe(32))",运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

contextmine (Mayflower) 怎么在 Claude Desktop、Cursor 里配置?

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

contextmine (Mayflower) 收费吗?

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

contextmine (Mayflower) 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

contextmine (Mayflower) 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP