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")
remember(content="Chose microservices", topic="architecture", source_type="agent")
ParameterTypeRequiredDescription
contentstringYesThe experience to store
episode_typestringNoobservation (default), decision, question, preference, meta, outcome, fact
entitiesstringNoComma-separated entity tags (type:name)
topicstringNoKnowledge area (e.g., "architecture", "product"). Scopes consolidation and retrieval.
source_typestringNoOrigin of the memory (e.g., "agent", "slack", "manual")

ingest

Stream raw text into the auto-ingest pipeline. Text buffers internally until a character threshold (~4000 chars) is reached, then the triage LLM decides what to extract as episodes. A density score (0.0–1.0) may be returned for diagnostics only; it does not gate extraction.

ingest(content="User: Fix the auth bug\nAssistant: Looking at verify_credentials...")
ingest(content="<tool output>", source="tool_output")
ingest(content="Chose Redis for caching", topic="architecture")
ingest(content="<meeting transcript>", instructions="extract decisions and action items")
ParameterTypeRequiredDescription
contentstringYesRaw text to ingest
sourcestringNoSource label for metadata (default: conversation)
topicstringNoTopic ID or name. When set, all extracted episodes go to this topic. When omitted, episodes get topic_id=None.
instructionsstringNoNatural-language instructions to steer what the triage LLM extracts (e.g. "focus on architectural decisions"). Appended to the triage system prompt; takes priority over default extraction behavior.

Topic behavior: With topic, all extracted episodes are assigned to that topic. Without topic, episodes get topic_id=None — no automatic inference.

Instructions: Use instructions to focus extraction on specific types of information. Without instructions, the triage LLM uses its default behavior (capture anything potentially useful). With instructions, the LLM prioritizes the given directive — useful for ingesting meeting notes, transcripts, or documents where you know what you're looking for.

ingest vs remember: Use remember when you've already decided what's worth storing. Use ingest when you want the triage LLM to choose what to keep — it skips filler and distills memory-worthy episodes. 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()
flush_ingest(topic="architecture")
flush_ingest(instructions="extract only action items")
ParameterTypeRequiredDescription
topicstringNoTopic for extracted episodes. Same behavior as ingest() topic parameter.
instructionsstringNoInstructions to steer extraction. Same as ingest() instructions parameter.

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")
recall(query="database design", topic="architecture")
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)
episode_kintegerNoNumber of episodes to retrieve via direct vector search (default: 5). Set to 0 to disable.
topicstringNoFilter to a knowledge area. Cross-topic concepts may still surface via spreading activation but are penalized.

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)            # Recent episodes
inspect(show_episodes=True, limit=25, start_date="2024-01-01", end_date="2024-12-31")
ParameterTypeRequiredDescription
concept_idstringNoSpecific concept to inspect
show_episodesbooleanNoList recent episodes instead of concepts
limitintegerNoMax items (default: 10)
start_datestringNoISO date/datetime filter (episodes), inclusive
end_datestringNoISO date/datetime filter (episodes), inclusive

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()

episode_types

List episode types enabled for this server (from environment, project config, global config, then defaults). Use when episode_types is customized.

episode_types()

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")
update_episode(episode_id="abc123", topic="architecture")
update_episode(episode_id="abc123", topic="")   # clear topic (empty string)
ParameterTypeRequiredDescription
episode_idstringYesEpisode ID
contentstringNoNew content
episode_typestringNoNew type
entitiesstringNoComma-separated entity tags
plan_idstringNoOptional metadata link (legacy DB content)
spec_idsstringNoComma-separated spec episode IDs (legacy)
depends_onstringNoComma-separated task IDs (legacy)
prioritystringNop0, p1, or p2 (legacy)
topicstringNoTopic ID or name; empty string clears the episode topic

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")
update_concept(concept_id="def456", topic="architecture")
update_concept(concept_id="def456", topic="")   # clear topic
ParameterTypeRequiredDescription
concept_idstringYesConcept ID
titlestringNoNew title
summarystringNoNew summary
confidencefloatNoNew confidence
tagsstringNoComma-separated tags
relationsstringNoJSON array of relations
topicstringNoTopic ID or name; empty string clears the concept topic

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="episodes")
list_deleted(item_type="concepts")
list_deleted(item_type="all")
ParameterTypeRequiredDescription
item_typestringNoepisodes, concepts, or all (default: show both)
limitintegerNoMax items per type (default: 20)

create_topic

Create a topic for grouping episodes and concepts.

create_topic(name="Architecture", description="System design and infra")
ParameterTypeRequiredDescription
namestringYesDisplay name
descriptionstringNoOptional description

update_topic

Update a topic's name or description.

update_topic(topic_id="architecture", name="System architecture")
ParameterTypeRequiredDescription
topic_idstringYesTopic ID
namestringNoNew display name (omit to keep)
descriptionstringNoNew description (omit to keep)

delete_topic

Delete a topic only if no episodes or concepts reference it.

delete_topic(topic_id="old-theme")
ParameterTypeRequiredDescription
topic_idstringYesTopic ID

list_topics

List all topics with episode and concept counts.

list_topics()

Returns each topic's name, number of episodes, number of concepts, and when it was last active.

topic_overview

Get top concepts for a specific topic — a quick way to see what Remind knows about a knowledge area without running a query.

topic_overview(topic_id="architecture")
topic_overview(topic_id="product", k=10)
ParameterTypeRequiredDescription
topic_idstringYesTopic ID (slug), e.g. architecture
kintegerNoNumber of concepts to return (default: 5)

Released under the Apache 2.0 License.