← 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), agentic tools (multi-step, higher cost), and management tools.

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

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.

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
limitnumberNoMax results (default 20)

list_projects

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

ingest

Push content into the knowledge base. 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
contentstringYesDocument content
titlestringNoTitle (auto-generated from content if not provided)
projectstringYesProject this belongs to
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

Idempotent — content is deduplicated by SHA256 hash. Safe to call repeatedly.

Short content (≤500 chars) skips LLM extraction for speed — the content itself is used as the summary.

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"

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)

Async: Returns immediately with a job_id. Poll research_status to get results. Research typically takes 2-8 minutes.

Cost: Makes multiple LLM calls internally (typically 10-30 cycles). 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.

sync

Sync from configured source directories.

ParameterTypeRequiredDescription
git_pullbooleanNoPull from git remote (default true)
git_pushbooleanNoPush to git remote (default true)
index_newbooleanNoIndex new sources found (default true)
dry_runbooleanNoPreview only (default false)

archive_project

Archive a project, excluding it from default search.

ParameterTypeRequiredDescription
projectstringYesProject name to archive
reasonstringNoWhy it's being archived
successor_projectstringNoReplacement project, if any