Skip to content

MCP Tools

Tools available when connecting to Remind via MCP.

remember

Store an experience as an episode.

remember(content="User prefers TypeScript", episode_type="preference")
remember(content="Use Redis for caching", episode_type="decision", entities="tool:redis,concept:caching")
ParameterTypeRequiredDescription
contentstringYesThe experience to store
episode_typestringNoobservation (default), decision, question, preference, meta, spec, plan, task, outcome, fact
entitiesstringNoComma-separated entity tags (type:name)

ingest

Stream raw text into the auto-ingest pipeline. Text buffers internally until a character threshold (~4000 chars) is reached, then gets scored for information density and distilled into episodes automatically.

ingest(content="User: Fix the auth bug\nAssistant: Looking at verify_credentials...")
ingest(content="<tool output>", source="tool_output")
ParameterTypeRequiredDescription
contentstringYesRaw text to ingest
sourcestringNoSource label for metadata (default: conversation)

ingest vs remember: Use remember when you've already decided what's worth storing. Use ingest when you want Remind to decide — it scores information density, filters low-value content, and distills memory-worthy episodes automatically. Episodes from ingest are immediately consolidated.

flush_ingest

Force-flush the ingestion buffer, processing whatever text has accumulated regardless of the character threshold.

flush_ingest()

Use at session end or whenever you want to ensure all ingested text is processed.

recall

Retrieve relevant memories.

recall(query="authentication issues")
recall(query="auth", entity="file:src/auth.ts")
recall(entity="file:src/auth.ts")
ParameterTypeRequiredDescription
querystringNoSearch query (required for semantic search, not needed for entity-only lookup)
kintegerNoNumber of concepts to return (default: 3)
contextstringNoAdditional context to improve retrieval
entitystringNoScope to entity (can be used alone without a query)

At least one of query or entity must be provided.

consolidate

Process episodes into concepts.

consolidate()
consolidate(force=True)
ParameterTypeRequiredDescription
forcebooleanNoForce consolidation even with few episodes

inspect

View concepts or episodes.

inspect()                              # List all concepts
inspect(concept_id="abc123")           # Concept details
inspect(show_episodes=True)            # Include episodes
ParameterTypeRequiredDescription
concept_idstringNoSpecific concept to inspect
show_episodesbooleanNoInclude episode details

entities

List entities with mention counts.

entities()
entities(entity_type="file", limit=20)
ParameterTypeRequiredDescription
entity_typestringNoFilter by type
limitintegerNoMax results

inspect_entity

View entity details and relationships.

inspect_entity(entity_id="file:src/auth.ts")
inspect_entity(entity_id="person:alice", show_relations=True)
ParameterTypeRequiredDescription
entity_idstringYesEntity ID
show_relationsbooleanNoInclude relationships

stats

Memory statistics.

stats()

update_episode

Correct or modify an episode. Updating content resets it for re-consolidation.

update_episode(episode_id="abc123", content="Corrected information")
update_episode(episode_id="abc123", episode_type="decision")
ParameterTypeRequiredDescription
episode_idstringYesEpisode ID
contentstringNoNew content
episode_typestringNoNew type
entitiesstringNoNew entity tags

delete_episode / restore_episode

Soft delete and restore episodes.

delete_episode(episode_id="abc123")
restore_episode(episode_id="abc123")

update_concept

Refine a concept. Updating summary clears the embedding.

update_concept(concept_id="def456", summary="Refined understanding")
update_concept(concept_id="def456", confidence=0.9, tags="auth,security")
ParameterTypeRequiredDescription
concept_idstringYesConcept ID
titlestringNoNew title
summarystringNoNew summary
confidencefloatNoNew confidence
tagsstringNoComma-separated tags

delete_concept / restore_concept

Soft delete and restore concepts.

delete_concept(concept_id="def456")
restore_concept(concept_id="def456")

list_deleted

List soft-deleted items.

list_deleted()
list_deleted(item_type="episode")
list_deleted(item_type="concept")

task_add

Create a new task.

task_add(content="Implement JWT auth", entities="module:auth", priority="p0")
task_add(content="Write tests", depends_on="task-id-1", plan="plan-id")
ParameterTypeRequiredDescription
contentstringYesTask description
entitiesstringNoComma-separated entities
prioritystringNop0, p1, p2
planstringNoPlan episode ID
specstringNoSpec episode ID
depends_onstringNoDependency task ID

task_update_status

Transition a task's status.

task_update_status(task_id="abc123", status="in_progress")
task_update_status(task_id="abc123", status="blocked", reason="Waiting on API key")
ParameterTypeRequiredDescription
task_idstringYesTask ID
statusstringYestodo, in_progress, done, blocked
reasonstringNoBlock reason (for blocked status)

list_tasks / list_specs / list_plans

List filtered episodes by type.

list_tasks(status="todo", entity="module:auth")
list_specs()
list_plans()

Released under the Apache 2.0 License.