← All Docs

MCP Tools Reference

All 9 Lore MCP tools with parameters, descriptions, and usage examples.

Lore exposes 9 tools via MCP. They fall into three categories: simple query tools (fast, cheap), project briefs (living synthesis), and agentic tools (multi-step, higher cost).

search

Semantic search across the knowledge base. Returns source summaries with relevance scores.

ParameterTypeRequiredDescription
querystringYesSearch query
projectstringNoFilter to specific project
source_typestringNoFilter by source type (e.g. "meeting", "slack")
content_typeenumNoFilter by content type (interview, meeting, conversation, document, note, analysis)
limitnumberNoMax results (default 10)
include_archivedbooleanNoInclude archived projects (default false)
modeenumNoSearch mode: hybrid (default), semantic, keyword, regex
sincestringNoOnly sources after this date. Accepts ISO dates, relative shorthand (7d, 2w, 1m), or natural language ("last week")
beforestringNoOnly sources before this date. Same formats as since
sortenumNoSort order: relevance (default) or recent (newest first). Auto-set to recent for temporal queries

Search modes:

  • hybrid (default) — Combines vector similarity + full-text search via RRF fusion. Best for most queries.
  • semantic — Vector similarity only. Use for conceptual queries where exact terms don't matter.
  • keyword — Full-text search only. Use for exact terms, identifiers, or proper nouns.
  • regex — Pattern matching in local files.

Temporal awareness: Queries with temporal language ("latest", "most recent", "last week") automatically boost recent sources and sort by date. Use since/before for explicit date filtering.

get_source

Retrieve full details of a source document by ID.

ParameterTypeRequiredDescription
source_idstringYesID of the source document
include_contentbooleanNoInclude full original content (default false)

Use after search returns a relevant source_id and you need the full document.

list_sources

Browse all sources, optionally filtered by project or type.

ParameterTypeRequiredDescription
projectstringNoFilter to specific project
source_typestringNoFilter by source type
content_typestringNoFilter by content type (e.g. "interview", "meeting", "document")
include_logsbooleanNoInclude log entries (default false)
limitnumberNoMax results (default 20)

list_projects

List all projects with source counts and latest activity dates. Takes no parameters.

get_brief

Get the living project brief — a continuously-updated synthesis of all knowledge in a project. Returns the current state, key evidence with citations, open questions, and project trajectory.

ParameterTypeRequiredDescription
projectstringYesProject name
include_historybooleanNoInclude version history metadata (default false)

Start here when working on a project. The brief gives you immediate context without searching from scratch. Returns staleness info — if new sources have been added since the brief was generated, it tells you how many.

Briefs auto-update when new content is ingested into the project (with a 5-second debounce), so they stay current without manual intervention. You can also manually refresh via lore brief generate <project> in the CLI.

log

Log quick status updates, decisions, and progress notes. Log entries are searchable via search and included in project briefs. They are hidden from list_sources by default (pass include_logs: true to see them).

ParameterTypeRequiredDescription
messagestringYes*Log message (required for add)
projectstringYesProject this belongs to
actionenumNoAction: add (default), update, delete
log_idstringNoRequired for update and delete actions

Natural language examples (what you'd say to your AI):

  • "Log that we decided to use JWT for auth in the backend project"
  • "Add a log entry: finished the export module refactor"

ingest

Manage content in the knowledge base — add, update, or delete documents. Handles both full documents and short insights/decisions. This is how AI agents save knowledge from conversations — users can simply ask their AI to "save this to lore" or "remember this decision."

ParameterTypeRequiredDescription
actionenumNoAction: add (default), update, delete
idstringNoSource ID (required for update and delete)
contentstringYes*Document content (required for add and update; ignored for delete)
titlestringNoTitle (auto-generated from content if not provided)
projectstringYes*Project this belongs to (required for add)
source_typestringNoContent category (meeting, slack, github-issue, etc.). Defaults to "document"
datestringNoISO date (defaults to now)
participantsstring[]NoPeople involved
tagsstring[]NoTags for categorization
source_urlstringNoOriginal URL for citation linking
source_namestringNoHuman-readable origin label

Actions:

  • add (default) — Idempotent, content deduplicated by SHA256 hash. Short content (≤500 chars) skips LLM extraction for speed.
  • update — Requires id + content. Replaces content and re-embeds for search. Optionally updates title.
  • delete — Requires id. Soft-deletes the source (recoverable via lore docs restore in the CLI). Blocklists the content hash to prevent re-sync.

Ingesting into a project with an existing brief automatically triggers a brief refresh (debounced 5 seconds), keeping project briefs up to date.

Natural language examples (what you'd say to your AI):

  • "Save this architecture decision to lore under the backend project"
  • "Ingest these meeting notes — project is product, participants are Sarah and Mike"
  • "Remember that we chose JWT over sessions for mobile compatibility"
  • "Update that document with Chris's response"ingest(action: "update", id: "...", content: "...")
  • "Delete that old draft from lore"ingest(action: "delete", id: "...")

research

Start a comprehensive research job. An internal agent iteratively searches, reads sources, cross-references findings, and synthesizes a research package with citations.

ParameterTypeRequiredDescription
taskstringYesResearch task description
projectstringNoFocus research on specific project
include_sourcesbooleanNoInclude source references (default true)
depthenumNoResearch depth: quick (~30-60s), standard (~1-2 min, default), deep (~4-8 min)

Async: Returns immediately with a job_id. Poll research_status to get results.

Depth control:

  • quick — 3-5 sources, ~30-60 seconds. Good for focused, specific questions.
  • standard (default) — 5-10 sources, ~1-2 minutes. Balanced thoroughness.
  • deep — Exhaustive search, ~4-8 minutes. Use for comprehensive audits or broad questions.

Cost: Makes multiple LLM calls internally. Use search for simple lookups.

research_status

Poll for research job results. Long-polls for up to 20 seconds before returning.

ParameterTypeRequiredDescription
job_idstringYesThe job_id returned by research

Returns an activity array showing what the agent is doing (searches, sources read, reasoning). When status is "complete", the full research package is in result.