MCP Server Reference¶
Complete reference for the Distillery MCP server — all 22 tools, configuration options, and troubleshooting.
Starting the Server¶
stdio (local, default)¶
HTTP (team access)¶
See Operator Deployment for full HTTP setup with GitHub OAuth.
CLI Flags¶
distillery-mcp [OPTIONS]
Options:
--transport {stdio|http} Transport mode (default: stdio)
--host HOST Bind address (default: 0.0.0.0, env: DISTILLERY_HOST)
--port PORT Bind port (default: 8000, env: DISTILLERY_PORT)
--help Show this help message
Configuration¶
Distillery reads distillery.yaml from the current working directory, or from the path set in DISTILLERY_CONFIG.
See distillery.yaml.example for all available settings.
Available Tools¶
| Tool | Description |
|---|---|
distillery_status |
Database stats: total entries, breakdown by type/status, embedding model |
distillery_store |
Store a new knowledge entry with duplicate and conflict checks |
distillery_get |
Retrieve a single entry by UUID |
distillery_update |
Partially update an existing entry (with metadata re-validation) |
distillery_search |
Semantic search using cosine similarity; returns ranked results |
distillery_find_similar |
Find entries similar to given text (for deduplication) |
distillery_list |
List entries with optional filtering and pagination |
distillery_classify |
Classify an entry by type with LLM-based confidence scoring |
distillery_review_queue |
List entries pending manual review |
distillery_resolve_review |
Resolve a pending review entry (accept/reject/reclassify) |
distillery_check_dedup |
Check content for duplicates against existing entries |
distillery_check_conflicts |
Detect semantic contradictions with existing entries |
distillery_metrics |
Usage dashboard: entries, activity, search, quality, staleness |
distillery_quality |
Aggregate retrieval quality metrics from implicit feedback |
distillery_stale |
Surface entries not accessed within a configurable time window |
distillery_tag_tree |
Nested tree of all tags in use with entry counts |
distillery_type_schemas |
Metadata schema registry for all entry types |
distillery_watch |
List, add, or remove monitored feed sources |
distillery_poll |
Trigger a feed poll cycle (fetch, score, store) |
distillery_interests |
Return user's interest profile (top tags, domains, repos) |
distillery_suggest_sources |
Interest profile with suggestion context for source discovery |
distillery_rescore |
Re-score feed entries against current interest profile |
Verifying the Server¶
Call the distillery_status MCP tool from within Claude Code:
Expected response:
{
"status": "ok",
"total_entries": 0,
"entries_by_type": {},
"entries_by_status": {},
"database_size_bytes": null,
"embedding_model": "jina-embeddings-v3",
"embedding_dimensions": 1024,
"database_path": "/home/you/.distillery/distillery.db"
}
You can also run:
Troubleshooting¶
Server does not appear in Claude Code
- Check that the command path is correct:
which pythonorwhich distillery-mcp - Verify the settings JSON is valid (no trailing commas)
- Check
DISTILLERY_CONFIGpoints to a readable file
Embedding errors
- Confirm the API key environment variable is set and not empty
- Check that
api_key_envindistillery.yamlmatches the variable name
Database errors
- Ensure the parent directory of
database_pathexists, or use:memory:for testing - If you switch embedding models, you must create a new database — the schema records the model name and rejects mismatches
HTTP transport / GitHub OAuth
distillery-mcp --transport httpfails with missing credentials: setGITHUB_CLIENT_IDandGITHUB_CLIENT_SECRET, or setserver.auth.provider: noneindistillery.yamlfor local testing- OAuth login fails: verify the GitHub OAuth App callback URL matches your server's
DISTILLERY_BASE_URL - See Operator Deployment for GitHub OAuth App registration steps