Skip to main content

Tools Reference

The Memsolus MCP server exposes 17 tools organized in four categories. Claude selects and calls these tools automatically based on your instructions.


Memory Management​

add_memory​

Stores a new persistent memory in the workspace.

ParameterTypeRequiredDescription
memorystringYesThe memory content — write as a clear, self-contained statement
user_idstringNoID of the user this memory belongs to
agent_idstringNoID of the agent this memory belongs to
session_idstringNoID of the conversation session
metadatastring (JSON)NoArbitrary key-value metadata encoded as a JSON string
prioritystringNoLOW, MEDIUM (default), or HIGH

Example response

{
"id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"status": "PENDING",
"createdAt": "2026-06-07T10:00:00.000Z"
}

search_memories​

Searches memories using semantic, keyword, or hybrid matching. Returns memories ranked by relevance.

ParameterTypeRequiredDescription
querystringYesNatural language search query
user_idstringNoFilter results to a specific user
limitnumberNoMaximum results to return (default 10)
modestringNohybrid (default), semantic, or keyword

Example response

{
"data": [
{
"id": "9b1deb4d-...",
"content": "The user prefers TypeScript for all new projects.",
"score": 0.94,
"priority": "HIGH",
"categories": ["preferences", "tech-stack"],
"createdAt": "2026-06-07T09:00:00.000Z"
}
],
"meta": { "total": 1, "mode": "hybrid" }
}

get_memories​

Lists memories chronologically with pagination. Use when browsing all memories rather than searching by relevance.

ParameterTypeRequiredDescription
user_idstringNoFilter by user ID
agent_idstringNoFilter by agent ID
pagenumberNoPage number (default 1)
limitnumberNoResults per page (default 20)

Example response

{
"data": [
{
"id": "9b1deb4d-...",
"content": "The user is building a SaaS product.",
"status": "READY",
"createdAt": "2026-06-07T09:00:00.000Z"
}
],
"meta": { "total": 42, "page": 1, "pageSize": 20, "totalPages": 3 }
}

get_memory​

Retrieves a specific memory by its ID.

ParameterTypeRequiredDescription
memory_idstringYesUUID of the memory to retrieve

Example response

{
"id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"content": "The user prefers TypeScript for all new projects.",
"userId": "user_123",
"status": "READY",
"layer": "RAW",
"priority": "HIGH",
"categories": ["preferences", "tech-stack"],
"metadata": { "source": "onboarding" },
"createdAt": "2026-06-07T09:00:00.000Z",
"updatedAt": "2026-06-07T09:05:00.000Z"
}

update_memory​

Updates an existing memory's content or priority.

ParameterTypeRequiredDescription
memory_idstringYesUUID of the memory to update
memorystringNoNew memory content
prioritystringNoNew priority: LOW, MEDIUM, or HIGH

Example response

{
"id": "9b1deb4d-...",
"content": "The user prefers TypeScript and Rust for new projects.",
"status": "PENDING",
"updatedAt": "2026-06-07T11:00:00.000Z"
}

delete_memory​

Permanently deletes a memory. This action cannot be undone.

ParameterTypeRequiredDescription
memory_idstringYesUUID of the memory to delete

Example response

{ "deleted": true }

promote_memory​

Promotes a TASK-layer memory (temporary, with expiration) to RAW layer (permanent, no expiration).

ParameterTypeRequiredDescription
memory_idstringYesUUID of the memory to promote

Example response

{ "promoted": true, "layer": "RAW" }

submit_feedback​

Submits a quality signal on a memory. Feedback improves retrieval quality over time.

ParameterTypeRequiredDescription
memory_idstringYesUUID of the memory
signalstringYesPOSITIVE, NEGATIVE, or NEUTRAL
commentstringNoOptional explanation for the feedback

Example response

{ "recorded": true }

get_memory_history​

Returns the event timeline for a memory — creation, updates, promotions, and feedback.

ParameterTypeRequiredDescription
memory_idstringYesUUID of the memory
limitnumberNoNumber of events to return (default 20)

Example response

{
"data": [
{
"id": "evt-uuid",
"type": "CREATED",
"createdAt": "2026-06-07T09:00:00.000Z"
},
{
"id": "evt-uuid-2",
"type": "FEEDBACK_SUBMITTED",
"payload": { "signal": "POSITIVE" },
"createdAt": "2026-06-07T10:30:00.000Z"
}
]
}

Knowledge​

get_knowledge​

Returns the consolidated knowledge profile for a user. Use at the start of a conversation to load full context.

ParameterTypeRequiredDescription
user_idstringNoFilter to a specific user
categorystringNoFilter to a specific knowledge category
mergedbooleanNoWhen true (default), returns a single unified Markdown document

Example response (merged=true)

{
"content": "## Tech Stack\nThe user builds with Next.js and Supabase...\n\n## Preferences\nPrefers TypeScript for all new projects...",
"entries": [
{ "id": "kn-uuid", "category": "tech-stack" },
{ "id": "kn-uuid-2", "category": "preferences" }
],
"mergedAt": "2026-06-07T08:00:00.000Z"
}

get_knowledge_entry​

Retrieves a specific knowledge entry by its ID.

ParameterTypeRequiredDescription
knowledge_idstringYesUUID of the knowledge entry

Example response

{
"id": "kn-uuid",
"category": "tech-stack",
"content": "The user builds with Next.js and Supabase. Prefers TypeScript.",
"userId": "user_123",
"sourceMemoryIds": ["9b1deb4d-...", "a4c7..."],
"createdAt": "2026-06-07T08:00:00.000Z"
}

Graph​

Searches for entities (people, organizations, places, things) in the knowledge graph.

ParameterTypeRequiredDescription
querystringYesText query to search entities
user_idstringNoFilter to entities linked to a specific user
typestringNoFilter by type: PERSON, ORGANIZATION, PLACE, or THING
limitnumberNoMaximum results (default 10)

Example response

[
{
"id": "ent-uuid",
"name": "João Silva",
"type": "PERSON",
"description": "Senior backend engineer specializing in TypeScript"
}
]

graph_traverse​

Traverses relationships from a known entity in the knowledge graph.

ParameterTypeRequiredDescription
entity_idstringYesUUID of the entity to start from
directionstringNooutgoing, incoming, or both (default both)
hopsnumberNoTraversal depth: 1, 2, or 3 (default 2)

Example response

{
"startEntity": {
"id": "ent-uuid",
"name": "João Silva",
"type": "PERSON"
},
"paths": [
{
"entity": { "id": "org-uuid", "name": "Acme Corp", "type": "ORGANIZATION" },
"relationship": "WORKS_AT",
"depth": 1
},
{
"entity": { "id": "thing-uuid", "name": "TypeScript", "type": "THING" },
"relationship": "USES",
"depth": 1
}
]
}

graph_query​

Answers a natural language question using the knowledge graph.

ParameterTypeRequiredDescription
questionstringYesNatural language question

Example response

{
"answer": "João Silva is working on Project X and the internal API redesign at Acme Corp. He leads the backend team on Project X.",
"confidence": 0.87,
"entitiesUsed": [
{ "id": "ent-uuid", "name": "João Silva", "type": "PERSON" },
{ "id": "thing-uuid", "name": "Project X", "type": "THING" }
]
}

Utilities​

get_dashboard_summary​

Returns workspace KPIs for a given time window.

ParameterTypeRequiredDescription
daysnumberNoTime window in days (default 30)

Example response

{
"totalMemories": 142,
"totalSearches": 891,
"totalTokens": 45200,
"comparisonPeriod": {
"memories": 130,
"searches": 810,
"tokens": 41000
},
"days": 30
}

get_memory_profile​

Returns a summarized profile of a user built from their memories.

ParameterTypeRequiredDescription
user_idstringYesUUID or identifier of the user

Example response

{
"userId": "user_123",
"summary": "A senior backend engineer focused on SaaS products. Strong preference for TypeScript and open-source tooling. Currently building a project management platform.",
"topics": ["typescript", "saas", "backend", "open-source"],
"entityCount": 14
}

list_entities​

Lists all users and agents in the workspace with their memory counts.

No parameters.

Example response

[
{
"userId": "user_123",
"memoryCount": 47,
"lastActivityAt": "2026-06-07T10:00:00.000Z"
},
{
"agentId": "agent_456",
"memoryCount": 12,
"lastActivityAt": "2026-06-06T18:30:00.000Z"
}
]

Tool selection guide​

NeedTool
Load full user context at conversation startget_knowledge with merged=true
Find specific info by topicsearch_memories
Store new informationadd_memory
Correct or update existing infoupdate_memory
Remove wrong or outdated infodelete_memory (search first if you need the ID)
Browse memories chronologicallyget_memories
Discover who has memorieslist_entities
Find people or concepts in the graphgraph_search
Explore entity connectionsgraph_traverse
Ask complex relational questionsgraph_query
Get workspace usage statisticsget_dashboard_summary
Get a quick overview of a specific userget_memory_profile