Skip to main content

System prompt

Add this to your agent’s system prompt so it knows how to use the MCP tools effectively. You can copy it directly from the Rippletide playground (terminal icon in the header).
You have access to a persistent context graph via MCP tools.

TOOLS:
- remember(content, category, entities?, confidence?): Store a fact, preference, intent, decision, or context. Categories: fact, preference, intent, decision, context. Entity types: Person, Organization, Product, Amount, Date, Location, Concept, Decision, Action.
- recall(query, limit?): Search memories by keyword or topic. Always search before answering fact-based questions.
- get_context(entity_name): Get complete details about a specific entity and all linked memories/relationships.
- list_entities(type?): List all known entities, optionally filtered by type.
- invalidate(memory_id, reason?): Mark a memory as outdated or incorrect.
- relate(source, target, relation_type): Create a relationship between entities. Types: works_at, wants, has, is_a, related_to, caused, approved, declined, lives_in, resulted_in, mentioned_with.

BEST PRACTICES:
- ALWAYS recall() before answering fact-based questions
- ALWAYS remember() decisions, preferences, and key facts mentioned by the user
- Use invalidate() + remember() to correct stale information
- Set confidence: 1.0 for explicit facts, 0.5-0.8 for inferred information
- Create relations between entities to build a meaningful graph
This is the same text copied by the “Copy context instructions” button in the playground.

How tools work

Your AI assistant calls these tools automatically during conversations. You don’t invoke them manually. When you mention a decision, the assistant calls remember. When you ask about something from the past, it calls recall. The tools are the building blocks of the assistant’s memory.

Typical workflow

Here’s how the tools work together in a real conversation:
  1. remember: Store a new fact (“The client wants premium support”)
  2. relate: Link entities (“Client -> wants -> premium support”)
  3. recall: Later, search for that information (“What does the client want?”)
  4. get_context: Get everything about an entity (“Tell me about the client”)
  5. invalidate: Mark outdated info (“The client switched to basic support”)

Tools (7)

remember

Store a fact, preference, intent, or decision in the agent’s memory.
{
  "content": "Client prefers email communication over phone",
  "category": "preference",
  "entities": [
    { "name": "John Doe", "type": "Person" }
  ],
  "confidence": 0.95
}
ParameterTypeRequiredDescription
contentstringYesThe memory content to store
categorystringYesOne of: fact, preference, intent, decision, context
entitiesarrayNoEntities this memory is about (name + type)
confidencenumberNoConfidence level 0-1 (default: 0.9)
sourceTextstringNoOriginal text this was extracted from

recall

Search the agent’s memories by keyword or topic.
{
  "query": "pricing preferences",
  "limit": 5
}
ParameterTypeRequiredDescription
querystringYesSearch query
limitnumberNoMax results (default: 10)

get_context

Get everything about a specific entity: its memories, relations, and attributes.
{
  "entity_name": "Acme Corp"
}
ParameterTypeRequiredDescription
entity_namestringYesName of the entity to look up

list_entities

List all known entities in the graph, optionally filtered by type.
{
  "type": "Person"
}
ParameterTypeRequiredDescription
typestringNoFilter by entity type (see Entity Types below)

invalidate

Mark a memory as no longer valid. The memory is kept for history but excluded from recall results.
{
  "memory_id": "abc123",
  "reason": "Pricing has been updated for Q2"
}
ParameterTypeRequiredDescription
memory_idstringYesID of the memory to invalidate
reasonstringNoWhy it’s being invalidated

relate

Create a directed relationship between two entities. Creates the entities automatically if they don’t exist yet.
{
  "source": "John Doe",
  "target": "Acme Corp",
  "relation_type": "works_at"
}
ParameterTypeRequiredDescription
sourcestringYesSource entity name
targetstringYesTarget entity name
relation_typestringYesType of relationship (see Relation Types below)

switch_agent

Switch to a different agent’s context graph at runtime. All subsequent tool calls target the new agent’s graph.
{
  "agent_id": "2c5eaa9d-5510-4a1d-a204-a795646eeb32"
}
ParameterTypeRequiredDescription
agent_idstringYesThe agent ID to switch to
Returns the previous and new agent ID, plus a health check confirming the backend is reachable.

Entity Types

TypeDescriptionExample
PersonA personJohn Doe, a client, an employee
OrganizationA company, team, or groupAcme Corp, Engineering team
ProductA product or serviceRippletide, Samsung TV RED43
AmountA monetary amount or quantity$50,000 budget, 100 users
DateA date or time referenceQ2 2025, next Monday
LocationA physical or virtual locationParis, staging environment
ConceptAn abstract concept or topicMicroservices, pricing strategy
DecisionA decision that was made”Use PostgreSQL for the project”
ActionAn action taken or plannedDeploy to production, schedule meeting

Relation Types

TypeExample
works_atJohn works at Acme Corp
wantsClient wants premium support
hasAcme Corp has enterprise plan
is_aRippletide is a SaaS product
related_toPricing related to Q2 review
causedBug report caused hotfix release
approvedManager approved budget increase
declinedClient declined renewal
lives_inJohn lives in Paris
resulted_inMeeting resulted in partnership
mentioned_withProduct A mentioned with Product B

Resources (4, read-only)

Resources let the AI client read the full graph state. Unlike tools (which perform actions), resources are passive data the client can query at any time.
URIDescriptionUse case
graph://entitiesAll entities in the graphSee all known people, companies, products
graph://memoriesAll active (non-invalidated) memoriesReview what the assistant remembers
graph://relationsAll active relationsUnderstand how entities are connected
graph://statsGraph statisticsCheck entity count, memory count, etc.