Updated 2026-04-17

MCP Tools Reference

Parameter-level reference for the 19 public MCP tools across 6 categories: Capture, Extraction, Custom Skills, Discovery, Research, Annotate. Every tool returns cited results — each claim traces back to a source and character range in the original content.


# 1. Capture

Save conversations, documents, and notes to your vault. Updates are incremental — only new content is extracted on subsequent saves.

# create_source

Save a conversation, document, or note to the vault. Optionally triggers extraction immediately.

Scope: sources:write

ParameterTypeRequiredDescription
titlestring (1–500)yesSource title.
contentstring (1–512000)yesFull source content. Max 500KB.
sourceTypeenumnoSource type classification. Default: mcp.
platformstring (max 100)noPlatform or origin label.
tagsarray (max 20)noTags to attach to the source.
externalIdstring (max 500)noExternal system identifier for dedup.
skipDedupbooleannoSkip deduplication check.
autoExtractbooleannoTrigger extraction immediately. Default: true.
skillIdstring (uuid)noSpecific skill to use for extraction.
categoriesarray of extractionCategorynoLimit auto-extraction to specific categories.
abstractbooleannoGenerate an abstract. Default: true.

# update_source

Update a saved conversation with new content. Append mode (default) adds content to the end; replace mode overwrites fully. Only new content is re-extracted.

Scope: sources:write

ParameterTypeRequiredDescription
sourceIdstring (uuid)yesSource to update.
titlestring (max 500)noNew title.
contentstring (max 512000)noContent to add or replace. Max 500KB.
modeenum ["append","replace"]noappend (default) adds to end of existing source. replace overwrites the full content.
reExtractbooleannoExtract meaning from new content after update. Incremental — only processes content added since last extraction. Default: true.

# delete_source

Remove a source and all seeds extracted from it.

Scope: sources:write

ParameterTypeRequiredDescription
sourceIdstring (uuid)yesSource to delete.

# 2. Extraction

Run the semantic extraction engine on sources to produce cited seeds across nine meaning categories. Single-source or batch.

# trigger_extraction

Run extraction on a single source. Produces seeds categorized across decisions, frameworks, golden passages, definitions, exemplars, actions, questions, offers, and emergence.

Scope: extract:run

ParameterTypeRequiredDescription
sourceIdstring (uuid)yesThe source to extract from.
skillIdstring (uuid)noSpecific skill to apply. System matches automatically if omitted.
categoriesarray of extractionCategorynoLimit extraction to specific categories.

# batch_extract

Start extraction across multiple sources. Runs asynchronously; poll with batch_status.

Scope: sources:write

ParameterTypeRequiredDescription
sourceIdsarray (1–50)yesSource IDs to extract from.
containerIdstring (uuid)noContainer context for skill matching.
categoriesarray of extractionCategorynoLimit extraction to specific categories.

# batch_status

Poll the status of a batch extraction job — sources processed, seeds created, errors.

Scope: seeds:read

ParameterTypeRequiredDescription
jobIdstring (uuid)yesThe batch job ID returned by batch_extract.

# 3. Custom Skills

Skills tell Multiplist what to look for in your content. A coach creates "Client Breakthroughs." A developer creates "Architecture Signals." Skills make extraction domain-aware.

# create_skill

Create a custom extraction skill with its own schema, instructions, and trigger conditions.

Scope: skills:write

ParameterTypeRequiredDescription
namestring (1–200)yesSkill name.
descriptionstring (max 2000)noHuman-readable description.
domainstring (max 100)noDomain label (e.g. research, engineering, design).
instructionsstring (1–50000)yesFull extraction instructions for the model.
schemaarray of { field, type, description, enumValues? } (max 20)noStructured output schema.
triggerConditionsobjectnoConditions for automatic skill matching.
parentSkillIdstring (uuid)noParent skill for inheritance.

# list_skills

List all extraction skills in your vault.

Scope: skills:read

ParameterTypeRequiredDescription
domainstring (max 100)noFilter by domain.
containerIdstring (uuid)noFilter by container.
searchstring (max 200)noSearch skills by name or description.

# get_skill

Fetch a single skill's full instructions and schema.

Scope: skills:read

ParameterTypeRequiredDescription
skillIdstring (uuid)yesThe skill to retrieve.

# match_skills

Find which skills apply to a given source based on content and trigger conditions.

Scope: skills:read

ParameterTypeRequiredDescription
sourceIdstring (uuid)yesThe source to match against.
containerIdstring (uuid)noLimit matching to skills in this container.

# 4. Discovery

Search and retrieve across your vault. Every result cites its source with exact character positions in the original content.

# get_source

Retrieve a full source with its abstract, seeds grouped by 9 categories, and assets. The Seed Doc.

Scope: seeds:read

ParameterTypeRequiredDescription
sourceIdstring (uuid)noSource ID. Provide sourceId or title.
titlestring (max 500)noSource title to look up.
includearray of enum ["abstract","seeds","assets","content"]noWhich sections to include.
categoriesarray of extractionCategorynoFilter returned seeds to specific categories.
formatenum ["document","json"]noResponse format. Default: document.

# search_vault

Search across all saved sources for seeds matching a query. Returns cited results with exact provenance.

Scope: recall:search

ParameterTypeRequiredDescription
querystring (1–1000)yesSearch query text.
containerIdstring (uuid)noLimit search to a specific container.
studioIdstring (uuid)noLimit search to a specific studio.
categoryextractionCategorynoFilter by extraction category.
temperatureenum ["hot","warm","cold","all"]noFilter by recency: hot (7d), warm (7–30d), cold (30d+).
limitnumber (1–50)noMax results. Default: 20.

# search_sources

Browse sources by title, date, type, or keyword. The card catalog of your vault.

Scope: recall:search

ParameterTypeRequiredDescription
querystring (max 1000)noKeyword search across source titles and content.
sourceTypestringnoFilter by source type.
dateRangeobject { after?, before? }noISO date range filter.
extractionStatusenum ["complete","partial","unmapped","extracting","error"]noFilter by extraction status.
sortByenum ["recent","seeds","relevance"]noSort order. Default: recent.
limitnumber (1–50)noMax results. Default: 10.

# get_vault_summary

High-level snapshot of the vault: source count, seed count, category distribution, recent activity, topic clusters.

Scope: seeds:read

ParameterTypeRequiredDescription
includeRecentnumber (0–20)noNumber of recent sources to include. Default: 5.
includeTopicsbooleannoInclude topic cluster analysis. Default: true.

# get_vault_gaps

Analyze vault coverage — sparse categories, unextracted sources, under-represented areas.

Scope: seeds:read

ParameterTypeRequiredDescription
containerIdstring (uuid)noNarrow analysis to a specific container.
studioIdstring (uuid)noNarrow analysis to a specific studio.

# 5. Research

Synthesize across your entire vault. Research briefs trace the evolution of your thinking on a topic, with citations to every source used.

# request_brief

Synthesize a research brief across vault sources on a topic. Runs asynchronously; poll with get_brief_status.

Scope: recall:search

ParameterTypeRequiredDescription
topicstring (1–2000)yesThe research topic or question.
focusQuestionsarray of strings (max 10)noSpecific questions to address.
sourceScopeobject { dateRange?, sourceIds?, categories? }noNarrow the sources considered.
depthenum ["quick","standard","deep"]noResearch depth. Default: standard.
briefTypeenum ["research","evolution","constellation","status"]noType of brief. Default: research.

# get_brief_status

Poll the status of a research brief — progress, source count, completion state.

Scope: seeds:read

ParameterTypeRequiredDescription
briefIdstring (uuid)yesThe brief ID returned by request_brief.

# 6. Annotate

Write corrections, evolution notes, and commentary back to your sources. Annotations preserve who made the mark and what kind of mark it is — a correction, a tension, an evolution narrative, or additive commentary.

# add_annotation

Attach an author annotation to a source. For the source's own author to mark decisions, insights, or notes while working on it.

Scope: sources:write

ParameterTypeRequiredDescription
sourceIdstring (uuid)yesThe source being annotated by its own author.
contentstring (1–50000)yesThe annotation content.
titlestring (1–500)yesBrief title for the annotation.
scribeobject { type, identifier }yesWho is making the mark. Must match the source's author.
intentextractionCategorynoUnderlying meaning category (decision, framework, etc.).
confidenceenum ["high","medium","low"]noConfidence level. Default: medium.
sessionContextstring (max 1000)noBrief description of the conversation context.

# add_marginalia

Add a later-mind mark to a source — correction, tension flag, evolution narrative, or commentary.

Scope: sources:write

ParameterTypeRequiredDescription
sourceIdstring (uuid)yesThe source being marked.
markTypeenum ["correction","tension","evolution","commentary"]yesSpeech act of the mark.
contentstring (1–50000)yesThe marginalia content.
titlestring (1–500)yesBrief title for the mark.
scribeobject { type, identifier }yesWho is making the mark — type is ai or human.
intentextractionCategorynoOptional underlying meaning category.
relatedSeedIdsarray (max 20)noOther seeds involved in the mark.
relatedSourceIdsarray (max 20)noOther sources involved (for evolution chains).
severityenum ["low","medium","high"]noFor tension marks — helps users triage.
supersededBystring (uuid)noFor correction marks — points to the newer canonical source or seed.
sessionContextstring (max 1000)noBrief description of the conversation context.