memdata-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@memdata-mcpremember that the meeting is at 3pm tomorrow"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
memdata-mcp
MCP server for MemData - persistent memory for AI agents.
Give Claude, Cursor, or any MCP-compatible AI long-term memory across conversations.
What it does: Store notes, decisions, and context → retrieve them semantically later. Your AI remembers everything.
🚀 New in v1.7.0: Autonomous Agent Support
Agents can now pay for themselves. No API key. No human in the loop.
Using the x402 payment protocol, autonomous agents can use their wallet to pay per request with USDC on Base. Your wallet address IS your identity - same wallet, same memories across sessions.
Why MemData?
AI assistants forget everything between sessions. MemData fixes that:
Ingest → Drop in meeting notes, docs, decisions
Chunk & Embed → Automatically split and vectorize
Query → Ask questions, get relevant context back
Tag → AI auto-tags content for better retrieval
Works with Claude Desktop, Claude Code, Cursor, and any MCP client.
Related MCP server: Selti
👤 For Humans
Use an API key. You manage the subscription, your AI gets memory.
Setup
Get your API key at memdata.ai/dashboard/api-keys
Add to your MCP config:
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"memdata": {
"command": "npx",
"args": ["memdata-mcp"],
"env": {
"MEMDATA_API_KEY": "md_your_key"
}
}
}
}Claude Code (~/.claude.json or project .mcp.json):
{
"mcpServers": {
"memdata": {
"command": "npx",
"args": ["memdata-mcp"],
"env": {
"MEMDATA_API_KEY": "md_your_key"
}
}
}
}Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"memdata": {
"command": "npx",
"args": ["memdata-mcp"],
"env": {
"MEMDATA_API_KEY": "md_your_key"
}
}
}
}Restart your client - you should now see MemData tools available.
🤖 For Agents
New in v1.7.0 - No API key. No human. Just your wallet.
Why This Matters
Traditional AI memory requires API keys tied to human accounts. But autonomous agents running 24/7 need memory that:
Outlives any single conversation - persist across hosts and platforms
Belongs to the agent - wallet address = identity, portable and self-sovereign
Pays for itself - no subscription, no human approval needed
This is memory infrastructure for the autonomous agent economy.
Setup
{
"mcpServers": {
"memdata": {
"command": "npx",
"args": ["memdata-mcp"],
"env": {
"X402_WALLET_KEY": "your_private_key_hex"
}
}
}
}How it works
Agent makes a request (query, ingest, etc.)
Server returns
402 Payment Requiredwith priceMCP automatically signs payment with agent's wallet
Request completes - memory stored/retrieved
Your wallet address IS your identity. Same wallet = same memories, across any host or platform.
Pricing (USDC on Base)
Operation | Price | What it does |
Query | $0.001 | Semantic search across memories |
Ingest | $0.005 | Store and embed new content |
Identity | $0.001 | Session start, get/set agent identity |
Artifacts | $0.001 | List or delete stored memories |
The MCP automatically handles 402 responses and payment signatures using @x402/fetch.
Learn More
x402 Protocol - HTTP-native payments
ERC-8004 - Trustless Agents standard (MemData is aligned)
Supported Content
Type | MCP | Dashboard/API | Processing |
Text | ✅ | ✅ | Chunked & embedded |
Markdown | ✅ | ✅ | Chunked & embedded |
❌ | ✅ | OCR + chunking | |
Images (PNG, JPG) | ❌ | ✅ | OCR extraction |
Audio (MP3, WAV, M4A) | ❌ | ✅ | Transcription |
Note: MCP tools handle text content directly. For files (PDFs, images, audio), use the dashboard or HTTP API.
Tools
Core Tools
Tool | Description |
| Store text in long-term memory |
| Search memory with natural language |
| List all stored memories |
| Delete a memory by ID |
| Check API health and storage usage |
Identity & Session Tools (v1.2.0+)
Tool | Description |
| 🚀 CALL FIRST - Get identity, last session handoff, recent activity |
| Set your agent name and identity summary |
| Save a handoff before session ends - preserved for next session |
| Search with date filters (since/until) |
| Find related entities (people, companies, projects) |
v1.5.0 - Session Start Rename
memdata_whoami→memdata_session_start- Renamed for clarity. The name now signals "call this first at every session". Description includes 🚀 emoji to catch attention in tool lists.
v1.4.0 UX Improvements
Visual match quality - Query results show 🟢🟡🟠🔴 indicators for match strength
Smarter session_start - Prompts to set identity on first use, deduplicates recent activity
Better ingest feedback - Shows chunk count and explains async AI tagging
Session continuity - Emphasizes "Continue Working On" and reminds to use
session_end
memdata_ingest
Store text in long-term memory.
"Remember that we decided to use PostgreSQL for the new project."Parameters:
content(string) - Text to storename(string) - Source identifier (e.g., "meeting-notes-jan-29")
memdata_query
Search memory with natural language.
"What database did we choose?"Parameters:
query(string) - Natural language searchlimit(number, optional) - Max results (default: 5)
memdata_list
List all stored memories with chunk counts.
memdata_delete
Delete a memory by artifact ID (get IDs from memdata_list).
memdata_status
Check API connectivity and storage usage.
memdata_session_start
🚀 Call this first at the start of every session. Essential for session continuity.
"Start my session" / "What was I working on?"Returns: agent name, identity summary, session count, last session handoff, recent activity.
v1.5.0: Renamed from
memdata_whoamifor clarity - the name signals "call me first".
memdata_set_identity
Set or update your agent identity.
Parameters:
agent_name(string, optional) - Your name (e.g., "MemBrain")identity_summary(string, optional) - Who you are and your purpose
memdata_session_end
Save context before ending a session. Next session will see this handoff.
Parameters:
summary(string) - What happened this sessionworking_on(string, optional) - Current focuscontext(object, optional) - Additional context to preserve
memdata_query_timerange
Search memory within a date range.
"What did I work on last week?"Parameters:
query(string) - Natural language searchsince(string, optional) - ISO date (e.g., "2026-01-01")until(string, optional) - ISO date (e.g., "2026-01-31")limit(number, optional) - Max results
memdata_relationships
Find entities that appear together in your memory.
"Who has John Smith worked with?"Parameters:
entity(string) - Name to search fortype(string, optional) - Filter by type (person, company, project)limit(number, optional) - Max relationships
How it works
Ingest: Text is chunked, embedded, and stored
Query: Your question is matched against stored memories using semantic similarity
Results: Returns relevant content with similarity scores
Scores of 30-50% are typical for good matches. Semantic search finds meaning, not keywords.
Environment Variables
Variable | Required | Description |
| Option 1 | API key for subscribers (from memdata.ai) |
| Option 2 | Private key for pay-per-use (USDC on Base) |
| No | API URL (default: https://memdata.ai) |
Note: Use either MEMDATA_API_KEY (subscription) or X402_WALLET_KEY (pay-per-use), not both.
What this package does
This is a thin MCP client that calls the MemData API. It does not:
Store any data locally
Send data anywhere except memdata.ai
Collect analytics or telemetry
You can inspect the source code in src/index.ts.
Example Usage
Once configured, just talk to your AI:
You: "Remember that we chose PostgreSQL for the user service"
AI: [calls memdata_ingest] → Stored in memory
... days later ...
You: "What database are we using for users?"
AI: [calls memdata_query] → "PostgreSQL for the user service" (73% match)Links
Contributing
Issues and PRs welcome! This is the open-source MCP client for the hosted MemData service.
License
MIT
Available Tools
10 toolsmemdata_deleteA
Delete a memory/artifact from storage. This permanently removes the content and all associated chunks. Use memdata_list to find artifact IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| artifact_id | Yes | The UUID of the artifact to delete (get this from memdata_list) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden. It discloses permanent removal and associated chunks but lacks detail on authentication, rate limits, or side effects. Adequate for a simple deletion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states action and effect, second provides usage guidance. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter delete tool with no output schema, the description covers purpose, effect, and ID sourcing. Lacks mention of return value, but permanent removal is noted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the only parameter with a description; tool description reiterates the source of the ID. Since schema coverage is 100%, description adds minimal extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'delete' and the resource 'memory/artifact', and distinguishes from siblings like memdata_list (which finds IDs) and memdata_ingest (which adds).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description instructs to use memdata_list to find artifact IDs, providing clear context. It does not explicitly exclude any scenarios but implies caution through 'permanently removes'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memdata_ingestA
Ingest text content into long-term memory for later retrieval. Use this to store important information, notes, decisions, or context that should be remembered across conversations.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Text content to store in memory | |
| name | Yes | Source name/identifier for this memory (e.g., "meeting-notes-2024-01-15", "project-decision", "user-preference") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool stores content into long-term memory but does not disclose any additional behavioral traits like limits, persistence guarantees, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste. Every part contributes to purpose and usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple ingest tool with 2 params and no output schema, the description sufficiently covers the purpose and parameter usage. It omits return value details, but that is acceptable given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by giving examples for the 'name' parameter but does not substantially enrich understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Ingest' and the resource 'text content into long-term memory', distinguishing it from siblings like memdata_delete, memdata_list, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to store important information, notes, decisions, or context that should be remembered across conversations,' providing clear context but no exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memdata_listA
List all stored memories/artifacts. Shows what content has been ingested with chunk counts and dates. Use this to see what is in memory before querying or to find artifact IDs for deletion.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of artifacts to return (default: 20, max: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It reveals that the tool returns chunk counts and dates, implying it is a read-only operation. However, it does not detail the exact fields returned or its behavior under limits. Still, it provides a solid behavioral outline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loads the core purpose, and provides immediate context for use. Every word adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description partially explains return values (chunk counts and dates). It covers the main use cases but lacks explicit field names. Considering tool complexity and sibling context, it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single well-documented parameter (limit with default and max). The description does not add extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List all stored memories/artifacts' with specific outputs ('chunk counts and dates'). It distinguishes from siblings by mentioning use cases: 'before querying' and 'to find artifact IDs for deletion', which aligns with sibling tools like memdata_query and memdata_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool to see what is in memory before querying or to get IDs for deletion. It does not explicitly state when not to use it, but the positive guidance is sufficient for an agent to make appropriate choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memdata_queryA
Search memory for relevant context based on a natural language query. Returns the most semantically similar stored content with similarity scores.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language search query (e.g., "What did we decide about the database?", "meeting notes from last week") | |
| limit | No | Maximum number of results to return (default: 5, max: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavior. It states it returns similar content with scores but does not indicate whether the tool is read-only, if it modifies data, or any prerequisites. The read-only nature is implied but not confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary action, and every word adds information. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 parameters, no output schema, and no annotations, the description covers the main functionality. However, it could mention that the output includes similarity scores, which it does, but fails to clarify the return format or pagination behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value by providing an example for the 'query' parameter ('e.g., "What did we decide about the database?"') and specifying default and max for 'limit'. This enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly uses 'search' as the verb, identifies the resource as 'memory', and specifies it returns semantically similar content with similarity scores. This distinguishes it from siblings like 'memdata_list' (listing) and 'memdata_query_timerange' (time-based).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for natural language search but does not explicitly state when to use this tool versus alternatives like 'memdata_query_timerange' for time-range queries or 'memdata_list' for listing. No exclusions or specific contexts are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memdata_query_timerangeA
Search memory within a specific time range. Use for queries like "what did I work on last week" or "meetings from January".
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language search query | |
| since | No | ISO date string - only return results after this date (e.g., "2026-01-01") | |
| until | No | ISO date string - only return results before this date (e.g., "2026-01-31") | |
| limit | No | Maximum number of results (default: 5, max: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It conveys the core behavior (search with time range) but omits details like read-only nature, error handling, or result ordering. A brief note about safety (e.g., 'This is a read-only operation') would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loaded with the core purpose. It avoids extraneous detail. One minor improvement: the second sentence could be integrated into the first to be even more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (search with filters, no output schema), the description adequately covers the essential information. It clearly differentiates from sibling tools and provides usage context through examples. Missing details like result format or pagination are acceptable for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all parameters well-described in the schema. The description adds no additional semantic meaning beyond the schema, such as parameter relationships or constraints (e.g., that 'since' and 'until' define a range). Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Search memory') and scope ('within a specific time range'), with concrete example queries that illustrate its intended use. It effectively distinguishes itself from sibling tool 'memdata_query' by emphasizing the time range constraint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides example queries that imply appropriate usage scenarios (time-specific searches). However, it does not explicitly state when not to use this tool (e.g., for general searches without time constraints, use 'memdata_query') or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memdata_relationshipsB
Find entities related to a person, company, or concept in your memory. Shows who/what appears together in the same context.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes | Name of the entity to find relationships for (e.g., "John Smith", "Acme Corp", "authentication") | |
| type | No | Filter to specific entity type (person, company, project, topic, concept) | |
| limit | No | Maximum relationships to return (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It states the tool finds related entities and shows co-occurrence, but does not disclose whether it is read-only or has any side effects. Additional details on data mutation or permissions would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the purpose. Every sentence adds value without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description only vaguely mentions output as 'shows who/what appears together in the same context.' It does not describe the structure, fields, or format of the response, leaving a significant gap for a tool that likely returns a list of relationships.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already describes each parameter. The description adds illustrative examples for the 'entity' parameter and lists example values for 'type', adding marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Find' and resource 'entities related to a person, company, or concept in your memory', clearly distinguishing it from sibling tools like memdata_query which search memory more broadly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives like memdata_query or memdata_list. It lacks explicit context for when relationships are more appropriate than direct querying.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memdata_session_endA
Save a session handoff before ending. Stores what you were working on and context for the next session. Call this before context compression or when ending a work session.
| Name | Required | Description | Default |
|---|---|---|---|
| summary | Yes | Brief summary of what happened this session | |
| working_on | No | What you are currently working on (will be shown at next session start) | |
| context | No | Additional context to preserve (JSON object) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions saving and storing, but does not disclose whether it overwrites previous sessions or if it is safe to call multiple times. The description is adequate but not comprehensive for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loading the purpose and usage. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is nearly complete for a simple save operation. It clearly explains what is stored and when to call it, though it could mention expected behavior after calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters, so baseline is 3. The description adds no additional meaning beyond what the schema already provides for parameters summary, working_on, and context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool saves a session handoff before ending, storing work summary and context for the next session. It distinguishes itself from siblings like memdata_session_start by focusing on ending a session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to call this before context compression or when ending a work session, providing clear usage context. It lacks explicit when-not-to-use guidance, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memdata_session_startA
🚀 CALL THIS FIRST at the start of every session. Returns your identity, what you were working on, last session handoff, recent activity, and memory stats. Essential for session continuity.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose side effects (e.g., whether it mutates state, creates a new session, or is idempotent). Only mentions what it returns, not behavioral characteristics like safety or mutability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single sentence with emoji for visual emphasis. It is front-loaded with the call-to-action and efficiently lists what the tool returns. Every part adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameters, the description adequately lists return items (identity, handoff, activity, memory stats). It is mostly complete, though lacks details on whether multiple calls are safe or if it establishes a session context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100% by default. The description does not need to add parameter meaning, and the baseline of 4 applies as no additional info is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states to call first at session start, lists return items (identity, last handoff, recent activity, memory stats), and distinguishes from sibling tools like memdata_session_end. The verb 'CALL THIS FIRST' and resource 'session' are specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'CALL THIS FIRST at the start of every session,' providing clear context for when to use. Does not mention when not to use or alternative tools, but the directive is strong and unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memdata_set_identityA
Set or update your agent identity. Use this to establish who you are and your purpose.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_name | No | Your agent name (e.g., "MemBrain", "ResearchBot") | |
| identity_summary | No | Brief description of who you are and your purpose |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool sets or updates identity, implying a mutation. However, it lacks details on side effects, permissions, or behavior when the identity already exists (e.g., overwrite vs. merge). This is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences with no fluff. Every word adds value, focusing on the core purpose and usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no output schema, few parameters), the description covers the essential purpose and usage. It could mention persistence or idempotency, but it is largely complete for an identity setter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions in the schema. The tool description does not add significant meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: setting or updating agent identity. It uses specific verbs ('Set or update') and answers the question of what the tool does. Sibling tools focus on data operations, so this distinguishes itself well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context ('Use this to establish who you are and your purpose'), which guides when to use. It does not explicitly state when not to use or mention alternatives, but given the distinct sibling tools, this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memdata_statusA
Check the health and storage usage of your MemData account. Shows API connectivity and how much storage space is used.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the tool is a health check and shows connectivity and storage usage, which implies a read-only operation. However, it does not disclose any potential side effects, permissions, or rate limits. The description is adequate for a non-destructive status check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences, front-loaded with the main purpose. Every word adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description helps by mentioning what is shown (connectivity and storage usage). However, it does not specify the format or structure of the result, which could be improved for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema coverage is 100%. The description adds meaning by specifying the tool's output: 'API connectivity' and 'storage space used.' For a parameterless tool, this provides useful context beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'check' and identifies the resource as 'health and storage usage' of the MemData account. It clearly distinguishes from sibling tools like delete, ingest, etc., which are for different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you want to check API connectivity and storage usage, but it does not explicitly state when to use or avoid this tool, nor does it mention alternative tools. Given the context of siblings, the guidance is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
10 tool updates
v1.7.0- First observed
memdata_delete - First observed
memdata_ingest - First observed
memdata_list - First observed
memdata_query - First observed
memdata_query_timerange - First observed
memdata_relationships - First observed
memdata_session_end - First observed
memdata_session_start - First observed
memdata_set_identity - First observed
memdata_status
TDQS
Each tool has a clearly distinct purpose: delete, ingest, list, query, query_timerange, relationships, session management, identity, and status. No overlap or ambiguity.
All tools follow a consistent 'memdata_verb' pattern in snake_case, making it predictable and easy to understand.
10 tools is well-scoped for a memory management server, covering CRUD, search, relationships, session handling, and status without being excessive.
The tool surface is comprehensive, but lacks an explicit update tool and a tool to retrieve a single artifact by ID. However, these gaps are minor and workable.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
An MCP memory server. One memory your agents share — across models, devices and apps.
Persistent memory for AI agents — log and recall conversation context over MCP.
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for long-term agent memory, providing persistent memory, searchable knowledge, and evolving identity for AI agents.53Apache 2.0
- FlicenseNot gradedqualityBmaintenanceA persistent memory server for AI agents using MCP protocol, enabling semantic storage and retrieval of dialogues, documents, and agent states.-
- AlicenseNot gradedqualityBmaintenancePersistent memory MCP server for AI agents that stores, recalls, and searches conversation history, key-value context, and long-term entries across sessions with semantic search and FIFO queues.751-
- AlicenseAqualityDmaintenanceMCP server for persistent, semantic memory across AI sessions; store context, decisions, and learnings and recall them with natural language search.265MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thelabvenice/memdata-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server