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