Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Serve ExpertPack knowledge packs over MCP with hybrid search, graph traversal and provenance.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
GEMINI_API_KEY, AZURE_OPENAI_API_KEY标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"ep": {
"command": "uvx",
"args": [
"ep-mcp",
"serve",
"--config",
"your-value",
"--transport",
"stdio"
],
"env": {
"GEMINI_API_KEY": "your-value",
"AZURE_OPENAI_API_KEY": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add ep --env GEMINI_API_KEY=your-value --env AZURE_OPENAI_API_KEY=your-value -- uvx ep-mcp serve --config your-value --transport stdio运行前请先填写空着的值。
这个服务器需要在启动命令中填入值,请复制设置后自行填写。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"ep": {
"command": "uvx",
"args": [
"ep-mcp",
"serve",
"--config",
"your-value",
"--transport",
"stdio"
],
"env": {
"GEMINI_API_KEY": "your-value",
"AZURE_OPENAI_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器需要在启动命令中填入值,请复制设置后自行填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"ep": {
"type": "stdio",
"command": "uvx",
"args": [
"ep-mcp",
"serve",
"--config",
"your-value",
"--transport",
"stdio"
],
"env": {
"GEMINI_API_KEY": "your-value",
"AZURE_OPENAI_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 brianhearn 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:GEMINI_API_KEY, AZURE_OPENAI_API_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.7.0)于17天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Expertise-as-a-Service over the Model Context Protocol.
An MCP server that turns any ExpertPack into a live, queryable knowledge service. Any MCP-compatible agent (Claude Desktop, Cursor, Windsurf, Claude.ai, custom hosts) can connect and retrieve high-quality, provenance-rich domain expertise via standardized tools.
[🌐 expertpack.ai](https://expertpack.ai) · [📦 ExpertPack Framework](https://github.com/brianhearn/expert-pack) · [📖 Architecture](ARCHITECTURE.md)
97.6% retrieval hit rate / 0 full misses on a 22-question benchmark against a production v4.1 atomic-conceptual pack (658 chunks). Prior v4.0 baseline on the same pack and eval set: 65.1%.
requires: [B, C], the referenced atoms are auto-appended to results as additional SearchResults flagged requires_expanded=True. Directional (A→B does not imply B→A), transitive up to 2 hops, capped at 3 atoms and 3,500 cumulative tokens, appended after the max_results slice so it never displaces top-K.(model, dimension, sha256(query)) — warm query latency drops from ~4s (live Gemini API) to ~1msid, content_hash, verified_at, source_filereconstruct=true / reconstruct: true enriches results with fragment_id, line_range, original_markdown, span-level content_hash, excerpt, stale, and byte offsets so agents can prove exactly what source text grounded an answer##/### only for oversized content). Split chunks keep the original span as content/span_hash, carry a computed line_range, and record a heading_path (0.7.0+)heading_path (e.g. ["Routing", "Setup", "Ports"]) so an H3 hit keeps its H2 parent; ep_read(path, section=..., neighbors=true) reads just that section plus its previous/next siblingsep_read carry verified_age_days, age_stale (verified_at older than the file's refresh or the manifest freshness.refresh_cycle), expired and expires_at (volatile TTL). stale keeps its old meaning — index drift (file changed since indexing, reconstruct mode only). Optional down-rank via retrieval.freshness_penalty (default 0.0 = off)mcp.skills.enabled: true in a pack's manifest.yaml to declare the io.modelcontextprotocol/skills extension (SEP-2640). Each pack becomes one skill at skill://{slug}/SKILL.md (generated) with every non-on_demand file served verbatim at skill://{slug}/{path}; skills/list / skills/get publish the manifest with SHA-256 digests, sizes, ttlMs and cacheScope. Host support is still thin, so the ep_* tools remain the primary pathtype, tags, requires, etc. for boosting/expansion/filtering/packs/{slug}/mcp_graph.yaml adjacency, including accepted ontology/entity nodes when graph export provides themretrieval_strategy: navigation, _index.md, source-coverage.md, and context.on_demand files are excluded from the RAG pool (still readable via ep_read / resources)ep_search — primary hybrid retrieval toolep_read — load a whole atom by path or provenance id (consume-loop step 2)ep_list_topics — browse pack structure and available content typesep_graph_traversepack parameter for routing when multiple packs are configured. Single-pack configs make pack optional (defaults to the only configured pack).ep://{slug}/manifestep://{slug}/authorityep://{slug}/filesep://{slug}/file/{+path} (raw content with frontmatter)skill://{slug}/SKILL.md, skill://{slug}/{+path} (only when mcp.skills.enabled: true)--transport stdio with multiple packs configured, all tools accept an optional pack parameter (slug string) to specify which pack to query. For single-pack configurations, the pack parameter is optional and defaults to the only configured pack. This allows MCP hosts (Cursor, Claude Desktop) to use a single stdio process for multiple packs instead of requiring one process per pack.GET /search (for non-MCP HTTP clients)tests/eval/ — YAML query sets (expected best-first, must_not, category) scored as recall@1/3/5, MRR and must_not violations per pack and category. Skipped in the default run; pytest tests/eval -m golden --golden --packs-root with EP_EVAL_TODAY=2026-10-20 and optional EP_EVAL_MIN="recall@5=0.9,mrr=0.7", or python tests/eval/golden_eval.py --golden --today 2026-10-20git clone https://github.com/brianhearn/ep-mcp.git
cd ep-mcp pip install -e .[dev]
Create config.yaml with at minimum:
server:
host: "127.0.0.1" port: 8000 log_level: "info"
mcp_allowed_hosts:
packs:
embedding: provider: "gemini" # "gemini" (default) or "azure-openai" model: "gemini-embedding-001"
For the full configuration reference — embedding providers, retrieval tuning (mmr_lambda, min_score, default_max_results, graph expansion, reranker, requires: expansion, etc.), production systemd setup, and deployment gotchas — see [DEPLOYMENT.md](DEPLOYMENT.md).
ep-mcp serve --config config.yaml
The server builds/updates the SQLite index (FTS5 + sqlite-vec) on startup. 0.5.0 requires a rebuild of existing indexes (index_features=context_prefix_v1+nav_filter_v1); startup does this automatically, or delete /.ep-mcp/ first.
The GET /search HTTP endpoint is available at:
GET /search?q= &pack= &n=10
Add &reconstruct=true to include original markdown spans and provenance blocks for verification.
with header Authorization: Bearer .
Only the key for your configured embedding provider is required.
| Variable | Required | Description |
|---|---|---|
GEMINI_API_KEY | If embedding.provider: gemini | Gemini embedding API key |
AZURE_OPENAI_ENDPOINT | If embedding.provider: azure-openai | Azure OpenAI resource endpoint |
AZURE_OPENAI_API_KEY | If embedding.provider: azure-openai | Azure OpenAI API key |
EP_MCP_KEY_{SLUG} | Optional | Per-pack API key override (uppercase slug, hyphens→underscores) |
EP_MCP_REMOTE_HOST | Optional | Deploy target for scripts/deploy.sh |
EP_MCP_REMOTE_SRC | Optional | Remote source path for deploy.sh |
EP_MCP_REMOTE_SITE_PKG | Optional | Remote site-packages path for deploy.sh |
mcp SDK v2 (MCPServer, spec 2026-07-28, dual-era with 2025 clients)See pyproject.toml for exact dependencies.
See ARCHITECTURE.md for detailed module breakdown, retrieval pipeline, indexing strategy, and design decisions.
ezt-designer packApache 2.0 © 2026 Brian Hearn
Brian Hearn — Built in 3 days (April 10–11, 2026).