ExpertPack MCP
What it does
Serve ExpertPack knowledge packs over MCP with hybrid search, graph traversal and provenance.
- Connects Se ejecuta en tu computadora
- Account or key Needs GEMINI_API_KEY, AZURE_OPENAI_API_KEY
- Category Búsqueda y memoria de IA
Instalación
Elige la app de IA que usas y copia la configuración.
Pasó 2/3 revisiones · Funciona en tu computadora
Primero: ¿qué IA usas?
Elige tu app y los pasos aparecen abajo.
Funciona con Claude, pero hay que preparar algo antes
Necesitas una clave de ExpertPack MCP (créala en el sitio del autor) · Instala Python (uv) en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
Instala Python (uv)
Una sola vez; sirve para todos los servidores que necesitan Python (uv)
Regístrate y crea una clave de ExpertPack MCP
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Abre el archivo de configuración de la app de Claude de escritorio
SettingsDeveloperEdit Config
Pega esta configuración y guarda el archivo
{ "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" } } } }Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Cierra Claude y vuelve a abrirlo
Pruébalo
Usa ExpertPack MCP y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude dice que está usando ExpertPack MCP o muestra una herramienta de ExpertPack MCP en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
ChatGPT todavía no puede conectar ExpertPack MCP
ExpertPack MCP se instala en tu computadora, pero ChatGPT solo conecta servidores que funcionan en la web
Lo que puedes hacer en su lugar
A · Usa una app que pueda conectar ExpertPack MCP
- Necesitas una clave de ExpertPack MCP (créala en el sitio del autor) · Instala Python (uv) en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
- Necesitas una clave de ExpertPack MCP (créala en el sitio del autor) · Instala Python (uv) en tu computadora primero (una sola vez)
- Necesitas una clave de ExpertPack MCP (créala en el sitio del autor) · Instala Python (uv) en tu computadora primero (una sola vez) · No hay botón de un clic: pega la configuración y completa los valores tú
- Necesitas una clave de ExpertPack MCP (créala en el sitio del autor) · Instala Python (uv) en tu computadora primero (una sola vez) · No hay botón de un clic: pega la configuración y completa los valores tú
B · Otros en Búsqueda y memoria de IA que funcionan con ChatGPT
Elegidos entre los más usados de la misma categoría, solo los que se conectan con una dirección y sin clave
- Context7✓ ChatGPT
- AIHOT✓ ChatGPT
- Sui Knowledge Base (kapa.ai)✓ ChatGPT
Funciona con Claude Code, pero hay que preparar algo antes
Necesitas una clave de ExpertPack MCP (créala en el sitio del autor) · Instala Python (uv) en tu computadora primero (una sola vez)
Instala Python (uv)
Una sola vez; sirve para todos los servidores que necesitan Python (uv)
Regístrate y crea una clave de ExpertPack MCP
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Abre la Terminal
Mac: pulsa Command+Espacio y escribe Terminal · Windows: abre PowerShell
Pega este comando y pulsa Enter
claude mcp add --scope user ep --env GEMINI_API_KEY=your-value --env AZURE_OPENAI_API_KEY=your-value -- uvx ep-mcp serve --config your-value --transport stdioCambia “your-value” por tu clave antes de pulsar Enter
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Escribe /mcp en Claude Code
Deberías ver ExpertPack MCP en la lista como conectado
Pruébalo
Usa ExpertPack MCP y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude Code dice que está usando ExpertPack MCP o muestra una herramienta de ExpertPack MCP en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con Cursor, pero hay que preparar algo antes
Necesitas una clave de ExpertPack MCP (créala en el sitio del autor) · Instala Python (uv) en tu computadora primero (una sola vez) · No hay botón de un clic: pega la configuración y completa los valores tú
Instala Python (uv)
Una sola vez; sirve para todos los servidores que necesitan Python (uv)
Regístrate y crea una clave de ExpertPack MCP
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Abre el archivo de configuración MCP de Cursor
~/.cursor/mcp.json
Pega esta configuración, completa los valores vacíos y guarda
{ "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" } } } }Escribe tu clave
En la configuración de ExpertPack MCP, GEMINI_API_KEY, AZURE_OPENAI_API_KEY está vacío; añade tu clave y guarda
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Abre el chat de IA de Cursor en modo Agent
Pruébalo
Usa ExpertPack MCP y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Cursor dice que está usando ExpertPack MCP o muestra una herramienta de ExpertPack MCP en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Cursor el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con VS Code, pero hay que preparar algo antes
Necesitas una clave de ExpertPack MCP (créala en el sitio del autor) · Instala Python (uv) en tu computadora primero (una sola vez) · No hay botón de un clic: pega la configuración y completa los valores tú
Instala Python (uv)
Una sola vez; sirve para todos los servidores que necesitan Python (uv)
Regístrate y crea una clave de ExpertPack MCP
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Abre el archivo de configuración MCP de VS Code
MCP: Open User Configuration
Pega esta configuración, completa los valores vacíos y guarda
{ "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" } } } }Escribe tu clave
En la configuración de ExpertPack MCP, GEMINI_API_KEY, AZURE_OPENAI_API_KEY está vacío; añade tu clave y guarda
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Abre el chat de IA de VS Code en modo Agent
Pruébalo
Usa ExpertPack MCP y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si VS Code dice que está usando ExpertPack MCP o muestra una herramienta de ExpertPack MCP en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de VS Code el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Otras apps que usan MCP, como Windsurf, Zed o Gemini CLI, añaden servidores de forma distinta. Míralo en la lista de apps
Ver todas las apps que usan MCP →
La configuración JSON está en “Para desarrolladores”, abajo
Para desarrolladores: comandos de Terminal y configuración JSON
Instalado en tu computadora
Claude Code
claude mcp add --scope user ep --env GEMINI_API_KEY=your-value --env AZURE_OPENAI_API_KEY=your-value -- uvx ep-mcp serve --config your-value --transport stdioClaude Desktop (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"
}
}
}
}Cursor (~/.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"
}
}
}
}VS Code (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"
}
}
}
}Valores que debes completar
GEMINI_API_KEYsecreto envGemini API key for embeddings (or set AZURE_OPENAI_API_KEY when using Azure OpenAI)AZURE_OPENAI_API_KEYsecreto envAzure OpenAI key, if the config uses the Azure embedding provider
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
De un vistazo
- Descargas por semanai
- 20/sem
- Conexión
- Se ejecuta en tu computadora
- Última versióni
- 0.7.0
- Categoríai
- Búsqueda y memoria de IA
- Publicado en el registroi
- 21 oct 2026
- Último cambio de códigoi
- 20 oct 2026
- Creador
- brianhearn
- Paquetes
pypi: ep-mcp- Sitio web
- expertpack.ai
- Estado en el registro
- Activo
Qué apps pueden usarlo
Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.
Se ejecutan en tu computadora en
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Qué puede hacer
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisiones básicasi
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 12 nov 2026
- ✓ Superada
El creador coincide con el repo
El nombre en el registro se verificó con la cuenta de GitHub brianhearn, dueña del repo
- ✓ Superada
Sigue en mantenimiento
Último cambio de código: hace 23 días
- ! Precaución
Tiene licencia
GitHub no pudo identificar el tipo de licencia; abre el archivo para comprobarlo
- – No aplica
El endpoint responde
Este se ejecuta en tu computadora; no hay endpoint en internet
- – No aplica
Inicio de sesión con OAuth
Se ejecuta en tu computadora y usa ajustes locales en su lugar
- … Aún sin revisar
Sin instrucciones ocultas en las descripciones de herramientas
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Conversación
Pregunta, comparte un consejo o avisa de que no funciona. Ordenado por lo que la gente marcó como útil.
Aún no hay publicaciones. Sé la primera persona en preguntar o compartir.
Lo publicado aquí lo escriben usuarios, no el equipo de PopNx.
Reseñas de usuarios
Aún no hay reseñas
Comparado con otros en Búsqueda y memoria de IAi
- Más estrellas que el 76% de los otros 5997 servidores de esta categoría
- Publicado en el registro más recientemente que el 63% de los otros 5997 servidores de esta categoría
- Revisiones básicas iguales o mejores que el 48% de los otros 5997 servidores de esta categoría
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Preguntas frecuentes
¿Es seguro ExpertPack MCP?
Superó 2 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
¿Qué claves o códigos necesita?
Debes completar: GEMINI_API_KEY, AZURE_OPENAI_API_KEY
¿Se ejecuta en mi computadora o en la nube?
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
¿Sigue en mantenimiento?
El repo de GitHub cambió por última vez hace 23 días, y la última versión (0.7.0) llegó al registro hace 22 días.
¿Qué apps pueden usarlo?
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
¿Qué puedo usar en su lugar?
En la misma categoría: Context7, Codebase Memory, Ruflo
Otros de la misma categoría
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Ruflo
Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.
README del creador
Abrir el README
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
ep-mcp
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%.
Features
- Schema-aware hybrid retrieval: BM25 + vector search (sqlite-vec), metadata boosting, MMR re-ranking, adaptive threshold filtering, length penalty
- `requires:` expansion (schema v4.1 atomic-conceptual): When a top-K atom's frontmatter declares
requires: [B, C], the referenced atoms are auto-appended to results as additionalSearchResults flaggedrequires_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 themax_resultsslice so it never displaces top-K. - Intent-aware routing: Automatic query classification (ENTITY/HOW/WHY/WHEN/GENERAL) adjusts vector/BM25 fusion weights per query — no LLM required
- Query embedding cache: SQLite-backed cache keyed by
(model, dimension, sha256(query))— warm query latency drops from ~4s (live Gemini API) to ~1ms - Deep graph traversal: Optional multi-hop BFS expansion over knowledge graph edges with per-hop score decay and drift prevention
- Reserved-slot graph merge: Configurable protected slots in the final top-K reserved for graph-expanded neighbors so related files surface even against dominant core results
- BM25 fallback mode: Embedding provider outage degrades gracefully to lexical-only search (coverage + density + path + length scoring) instead of a hard error
- Cross-encoder reranker: Optional second-pass precision reranker (disabled by default, ~70ms warm latency when enabled)
- Provenance-first: Every result includes
id,content_hash,verified_at,source_file - Reconstruct mode (RFC-003): Opt-in
reconstruct=true/reconstruct: trueenriches results withfragment_id,line_range,original_markdown, span-levelcontent_hash,excerpt,stale, and byte offsets so agents can prove exactly what source text grounded an answer - EP-native chunking: Files are treated as atomic retrieval units (split at
##/###only for oversized content). Split chunks keep the original span ascontent/span_hash, carry a computedline_range, and record aheading_path(0.7.0+) - Heading paths (0.7.0+): every hit carries
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 siblings - Freshness (0.7.0+, ExpertPack Core 4.2): hits and
ep_readcarryverified_age_days,age_stale(verified_atolder than the file'srefreshor the manifestfreshness.refresh_cycle),expiredandexpires_at(volatile TTL).stalekeeps its old meaning — index drift (file changed since indexing, reconstruct mode only). Optional down-rank viaretrieval.freshness_penalty(default0.0= off) - Skills over MCP (0.7.0+, opt-in): set
mcp.skills.enabled: truein a pack'smanifest.yamlto declare theio.modelcontextprotocol/skillsextension (SEP-2640). Each pack becomes one skill atskill://{slug}/SKILL.md(generated) with every non-on_demandfile served verbatim atskill://{slug}/{path};skills/list/skills/getpublish the manifest with SHA-256 digests, sizes,ttlMsandcacheScope. Host support is still thin, so theep_*tools remain the primary path - Frontmatter aware: Strips metadata for embedding, extracts
type,tags,requires, etc. for boosting/expansion/filtering - Incremental indexing: Content-hash based staleness detection — only re-embeds changed files
- Multi-pack support: Path-based routing at
/packs/{slug}/mcp - Graph-aware retrieval: optional post-retrieval expansion via
_graph.yamladjacency, including accepted ontology/entity nodes when graph export provides them - `context_prefix` (RFC-004): sidecar situating strings are prepended at index time for embed + BM25 only; returned/reconstruct text stays the original atom body
- Tier / navigation filter:
retrieval_strategy: navigation,_index.md,source-coverage.md, andcontext.on_demandfiles are excluded from the RAG pool (still readable viaep_read/ resources) - Tools:
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_traverse- Multi-pack stdio support: All tools accept a
packparameter for routing when multiple packs are configured. Single-pack configs makepackoptional (defaults to the only configured pack). - Resources:
ep://{slug}/manifestep://{slug}/authorityep://{slug}/filesep://{slug}/file/{+path}(raw content with frontmatter)skill://{slug}/SKILL.md,skill://{slug}/{+path}(only whenmcp.skills.enabled: true)- Transports: Streamable HTTP (primary, cloud-ready), stdio (local dev)
- stdio multi-pack support (0.6.0+): When using
--transport stdiowith multiple packs configured, all tools accept an optionalpackparameter (slug string) to specify which pack to query. For single-pack configurations, thepackparameter 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. - HTTP endpoint:
GET /search(for non-MCP HTTP clients) - Golden retrieval eval (0.7.0+):
tests/eval/— YAML query sets (expectedbest-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-rootwithEP_EVAL_TODAY=2026-10-20and optionalEP_EVAL_MIN="recall@5=0.9,mrr=0.7", orpython tests/eval/golden_eval.py --golden --today 2026-10-20 - Auth: API key (Phase 1), designed for OAuth 2.1 (Phase 2)
Quick Start
Installation
git clone https://github.com/brianhearn/ep-mcp.git
cd ep-mcp pip install -e .[dev]
Configuration
Create config.yaml with at minimum:
server:
host: "127.0.0.1" port: 8000 log_level: "info"
Required for public Host headers (SDK v2 DNS-rebinding protection).
See DEPLOYMENT.md — omit and Streamable HTTP returns 421.
mcp_allowed_hosts:
- "localhost"
- "localhost:*"
- "127.0.0.1"
- "127.0.0.1:*"
packs:
- slug: "my-pack" path: "/path/to/your/expertpack" api_keys:
- "your-secret-key-here"
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).
Running
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 .
Environment Variables
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 |
Tech Stack
- Language: Python 3.12+
- MCP Framework: official
mcpSDK v2 (MCPServer, spec 2026-07-28, dual-era with 2025 clients) - Storage: SQLite with FTS5 + sqlite-vec
- Embeddings: Gemini (default), configurable Azure OpenAI / OpenAI providers
- Web: Starlette + Uvicorn (for Streamable HTTP)
- CLI: Click
See pyproject.toml for exact dependencies.
Project Structure
See ARCHITECTURE.md for detailed module breakdown, retrieval pipeline, indexing strategy, and design decisions.
Related
- [expertpack.ai](https://expertpack.ai) — Framework website, community packs, and documentation
- [ExpertPack](https://github.com/brianhearn/expert-pack) — Schema framework, validation tools, Obsidian compatibility, community packs
- [ExpertPacks](https://github.com/brianhearn/expert-packs) — Published knowledge packs (private)
- EasyTerritory MCP (future) — Domain-specific layer built on top of this repo +
ezt-designerpack
License
Apache 2.0 © 2026 Brian Hearn
Author
Brian Hearn — Built in 3 days (April 10–11, 2026).