graphiti-mcp-usage

star 0

Reference for using the Graphiti MCP knowledge graph (graphiti-mcp-aws) to add, search, and manage project memories. Use when interacting with the knowledge graph, adding memories, searching for context, or managing graph data.

smartcontractkit By smartcontractkit schedule Updated 2/9/2026

name: graphiti-mcp-usage description: Reference for using the Graphiti MCP knowledge graph (graphiti-mcp-aws) to add, search, and manage project memories. Use when interacting with the knowledge graph, adding memories, searching for context, or managing graph data.

Graphiti MCP Usage

Quick reference for the graphiti-mcp-aws MCP server tools. Use this when persisting or retrieving project knowledge.

Tools Overview

Tool Purpose
add_memory Add an episode (text, JSON, or message) to the graph
search_nodes Find entities by natural language query
search_memory_facts Find relationships/facts between entities
get_episodes Retrieve recent episodes by group
get_entity_edge Get a specific relationship by UUID
delete_entity_edge Remove a relationship
delete_episode Remove an episode
clear_graph Wipe all data for a group (destructive)
get_status Check server/database health

Adding Memories

add_memory Parameters

Parameter Required Description
name Yes Short descriptive title for the episode
episode_body Yes The content to persist (see formatting below)
group_id No Namespace for the memory (defaults to server default)
source No "text" (default), "json", or "message"
source_description No Where the information came from

Choosing source Type

  • text: Narrative descriptions, architectural explanations, summaries
  • json: Structured data with clear entity-relationship mappings. Must be a valid JSON string.
  • message: Conversation-style content

Writing Effective Episode Bodies

The episode body is what Graphiti processes to extract entities and relationships. Quality in = quality out.

Do:

  • Name entities explicitly: "The CommitStore contract on Ethereum mainnet"
  • State relationships clearly: "OnRamp sends messages to the CommitStore"
  • Include relevant attributes: "The Stellar token has 7 decimal places"
  • Use consistent terminology across episodes

Don't:

  • Use vague pronouns: "it connects to the other thing"
  • Add noise: "as we discussed earlier, I think maybe..."
  • Dump raw docs without distilling

JSON Source Example

When adding structured data, pass a JSON string:

add_memory(
  name="Stellar Contract Addresses",
  episode_body='{"contracts": [{"name": "OnRamp", "address": "CA...", "network": "stellar-testnet"}, {"name": "TokenPool", "address": "CB...", "network": "stellar-testnet"}]}',
  source="json",
  group_id="stellar-integration",
  source_description="deployment config"
)

Group IDs

Group IDs namespace the graph. Always use the correct one:

Group ID Use For
ccip-architecture CCIP protocol design, cross-chain messaging, lane configs
stellar-integration Stellar/Soroban contracts, SDK usage, chain-specific details
cctp-v2 CCTP v2 protocol, token transfer mechanics

When information belongs to multiple domains, add it to each relevant group with appropriately tailored episode bodies.

Searching the Graph

search_nodes — Find Entities

Use for: "What do we know about X?"

search_nodes(query="Stellar OnRamp contract", group_ids=["stellar-integration"], max_nodes=5)
  • Returns entity nodes with names, types, and summaries
  • Use entity_types to filter (e.g., ["Contract", "Protocol"])

search_memory_facts — Find Relationships

Use for: "How does X relate to Y?" or "What facts do we have about X?"

search_memory_facts(query="how does OnRamp communicate with CommitStore", group_ids=["ccip-architecture"], max_facts=10)
  • Returns edges between entities with fact descriptions and temporal metadata
  • Use center_node_uuid to explore around a specific entity (get UUID from search_nodes first)

Search Tips

  1. Be specific: "Stellar USDC decimal precision" beats "token details"
  2. Use group filters: Always pass group_ids to narrow results
  3. Chain searches: Use search_nodes to find an entity, then search_memory_facts with center_node_uuid to explore its relationships
  4. Check before adding: Search first to avoid duplicates

Preprocessing Guidelines

Your model is more capable than what runs inside Graphiti. Preprocess data before adding:

  1. Distill: Convert verbose docs into concise factual statements
  2. Normalize: Use consistent entity names (check existing nodes first)
  3. Decompose: Split complex topics into multiple focused memories
  4. Enrich: Add context that makes the memory self-contained
  5. Deduplicate: Search the graph before adding to avoid redundancy

Maintenance

  • Superseded facts: When adding information that updates a previous fact, mention this explicitly so Graphiti tracks temporal validity
  • Deleting: Use delete_entity_edge or delete_episode to remove incorrect data. Get UUIDs from search results.
  • Never use clear_graph unless explicitly asked — it's destructive and irreversible
Install via CLI
npx skills add https://github.com/smartcontractkit/chainlink-stellar --skill graphiti-mcp-usage
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator
smartcontractkit
smartcontractkit Explore all skills →