lore-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DB_HOST | No | PostgreSQL host (required if DB_BACKEND=postgres) | |
| DB_NAME | No | PostgreSQL database name (required if DB_BACKEND=postgres) | |
| DB_PORT | No | PostgreSQL port (required if DB_BACKEND=postgres) | |
| DB_USER | No | PostgreSQL user (required if DB_BACKEND=postgres) | |
| DB_BACKEND | No | Database backend: sqlite or postgres. Default: sqlite | sqlite |
| LORE_RRF_K | No | RRF constant for hybrid search. Default: 10 | 10 |
| DB_PASSWORD | No | PostgreSQL password (required if DB_BACKEND=postgres) | |
| LORE_EMBEDDING_MODEL | No | Model for embeddings. Default: all-MiniLM-L6-v2 | all-MiniLM-L6-v2 |
| LORE_SEMANTIC_SEARCH | No | Master switch to enable semantic search (true/false). Default: false | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| kb_addC | Add a knowledge base entry |
| kb_searchB | Search knowledge base. Lexical FTS5 (or LIKE fallback) by default; set semantic=true / hybrid=true / search_mode=hybrid to use vector embeddings + RRF fusion (requires LORE_SEMANTIC_SEARCH=true). |
| kb_getB | Get full KB entry by ID |
| kb_get_batchB | Fetch full content for multiple KB entries by ID. Use after kb_search to retrieve content without N+1 round trips. |
| kb_listC | List KB entries |
| kb_updateB | Update existing KB entry content, title, topic, tags, verified state, and trust_score |
| kb_deleteC | Delete existing KB entry from database |
| investigation_addC | Add an investigation entry (open or append to an ops investigation) |
| investigation_listD | List investigations |
| investigation_getB | Get a single investigation entry by ID |
| investigation_log_experimentC | Log a structured experiment within an investigation (hypothesis, methodology, results, conclusion) |
| investigation_list_experimentsA | List logged investigation experiments |
| investigation_delete_noteA | Hard-delete an investigation note by note_id (Issue #21). Requires confirm=True; in LORE_ENV=production also requires confirm_production=True. |
| investigation_delete_experimentA | Hard-delete an investigation experiment by experiment_id (Issue #21). Requires confirm=True; in LORE_ENV=production also requires confirm_production=True. |
| journal_appendC | Append journal entry |
| journal_listC | List journal entries |
| journal_getC | Get journal entry |
| journal_searchC | Full-text search across journal entry content (Issue #15) |
| journal_deleteA | Hard-delete a journal entry by entry_id (Issue #21). Requires confirm=True; in LORE_ENV=production also requires confirm_production=True. |
| snapshot_configD | Snapshot current config |
| kb_ingest_docC | Ingest single markdown file into KB with change detection |
| kb_ingest_dirC | Batch ingest directory of markdown files |
| kb_sync_statusC | Check sync state between source docs and KB |
| kb_backfill_embeddingsA | Embed any KB entries that are missing or stale (model/content changed). Idempotent: skips entries whose stored content_hash still matches. Requires LORE_SEMANTIC_SEARCH=true. |
| kb_embedding_statusA | Report embedding coverage: total entries, embedded count, missing count, current model, and per-model breakdown. |
| mcp_index_scanB | Scan all MCP servers and index their tools. By default, scans only configured servers (66% token savings). |
| mcp_index_searchC | Search for MCP tools by description/capability |
| mcp_index_get_serverC | Get all tools for a specific MCP server |
| mcp_index_get_toolC | Get detailed information about a specific tool |
| mcp_index_rebuildB | Force rebuild of entire MCP index (same as mcp_index_scan) |
| search_localC | Search local files by content (lexical mode) |
| search_corporaC | Search across corpus manifests (JSONL files) |
| search_transcriptsC | Search transcript segments from Whisper outputs |
| multi_searchA | Search across all configured sources simultaneously (KB, local files, transcripts, corpora) with a single query. Returns combined results from all available sources. For searching within a specific source only, use kb_search, search_local, search_transcripts, or search_corpora instead. |
| deduplicate_resultsC | Remove duplicate search results based on text similarity |
| cluster_resultsA | Groups search results by source_type (file extension, corpus, transcript). The cluster count is determined by the data, not by a parameter — Issue #22 removed the previously-misleading num_clusters/n_clusters knobs. |
| log_retrieval_feedbackA | Score or annotate a prior kb_search result by its query_id (retrieval telemetry, issue #5). Supply user_feedback_score, required_requery, notes, or any combination; an omitted field is left unchanged (cannot be reset to null). No effect unless LORE_HARD_NEGATIVE_MINING=true on a PostgreSQL backend. |
| get_retrieval_telemetryA | Read retrieval telemetry rows (issue #5). Selector precedence: query_id > session_id > topic > recent. Returns newest-first. |
| get_telemetry_statsA | Aggregate retrieval telemetry stats (issue #5): totals, feedback coverage, requery count, average score, oldest/newest timestamps. Optionally scoped by session_id and/or topic. |
| refresh_hard_negativesA | Scan retrieval_telemetry for low-scored and requery signals, then upsert hard negative pairs into knowledge.hard_negative_pairs. Use since= for incremental refresh. dry_run=true returns counts without writing. Requires LORE_HARD_NEGATIVE_MINING=true. |
| get_hard_negativesA | Read hard negative (query, document) pairs from knowledge.hard_negative_pairs. Filter by signal_type (explicit/behavioral/all), doc_id, or query_text_like. Returns pairs sorted by occurrence_count DESC. |
| backfill_query_embeddingsA | Backfill query_embedding column in retrieval_telemetry for rows that predate Phase 4a. Processes rows in batches. Set build_index=true to also create the HNSW index after backfill. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidgut1982/lore-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server