Servidor MCP

memra

com.usememra/memra
Infraestructura MCP y de agentes Público y accesible MCP 2026-07-28

Qué hace este MCP

Stores, recalls, updates, supersedes, and audits persistent memories for AI agent sessions, including semantic retrieval and contradiction detection.

memra_bootstrap
Load agent bootstrap context from Memra. Returns priority-ordered memories for agent session initialization.
Esquema de entrada
{'type': 'object', 'required': ['namespace'], 'properties': {'agent_id': {'type': 'string', 'description': 'Agent identifier, defaults to API key ID'}, 'namespace': {'type': 'string', 'description': 'Tenant namespace'}, 'max_tokens': {'type': 'integer', 'default': 500, 'description': 'Token budget for bootstrap payload'}, 'project_id': {'type': 'string', 'description': 'Project ID (required if account has multiple projects)'}, 'recency_days': {'type': 'integer', 'default': 7, 'description': 'Include context from last N days'}, 'exclude_types': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Exclude these memory types'}, 'include_types': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only include these memory types'}}}
Esquema de salida
{'type': 'object', 'required': ['memories', 'token_estimate'], 'properties': {'memories': {'type': 'array', 'items': {'type': 'object', 'required': ['uri', 'untrusted_content', 'content_classification'], 'properties': {'uri': {'type': 'string'}, 'trust_state': {'type': 'string'}, 'content_origin': {'type': ['string', 'null']}, 'untrusted_content': {'type': 'boolean'}, 'content_classification': {'type': 'string'}}}}, 'revision': {'type': 'integer'}, 'token_estimate': {'type': 'integer'}, 'health_warnings': {'type': 'array', 'items': {'type': 'object'}}}}
memra_get
Get a single memory by ID with full content. Use when you need the complete text of a memory (search results are truncated).
Esquema de entrada
{'type': 'object', 'required': ['memory_id'], 'properties': {'memory_id': {'type': 'string', 'description': 'The memory ID to retrieve'}}}
Esquema de salida
{'type': 'object', 'required': ['id', 'uri', 'type', 'content', 'trust_state', 'untrusted_content'], 'properties': {'id': {'type': 'string'}, 'uri': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'type': {'type': 'string'}, 'content': {'type': 'string'}, 'metadata': {'type': ['object', 'array', 'null']}, 'namespace': {'type': ['string', 'null']}, 'created_at': {'type': ['string', 'null']}, 'importance': {'type': ['integer', 'null']}, 'project_id': {'type': ['string', 'null']}, 'updated_at': {'type': ['string', 'null']}, 'trust_state': {'type': 'string'}, 'verified_by': {'type': ['string', 'null']}, 'content_origin': {'type': ['string', 'null']}, 'untrusted_content': {'type': 'boolean'}, 'verification_method': {'type': ['string', 'null']}, 'content_classification': {'type': 'string'}}}
memra_history
View the full supersession chain for a memory (oldest to newest). Use this when you need to audit how a fact or decision evolved over time — e.g., the user asks "why did we change X?", you need to understand prior reasoning before proposing another change, or you spotted a superseded_by reference and need the full timeline. Given any memory ID in the chain, returns every predecessor and successor.
Esquema de entrada
{'type': 'object', 'required': ['memory_id'], 'properties': {'memory_id': {'type': 'string', 'description': 'Any memory ID in the chain'}}}
Esquema de salida
{'type': 'object', 'required': ['chain', 'length'], 'properties': {'chain': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type', 'status'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'status': {'type': 'string'}, 'created_at': {'type': 'string'}, 'superseded_by': {'type': ['string', 'null']}}}}, 'length': {'type': 'integer'}}}
memra_list
List memories in Memra for a namespace. Returns paginated results with filtering options.
Esquema de entrada
{'type': 'object', 'required': ['namespace'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Filter by tags'}, 'type': {'enum': ['fact', 'event', 'pattern', 'working', 'decision', 'preference', 'context', 'entity', 'reference'], 'type': 'string', 'description': 'Filter by memory type'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Max results'}, 'offset': {'type': 'integer', 'default': 0, 'description': 'Pagination offset'}, 'namespace': {'type': 'string', 'description': 'Tenant namespace'}, 'project_id': {'type': 'string', 'description': 'Filter by project ID'}, 'min_importance': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Minimum importance'}}}
Esquema de salida
{'type': 'object', 'required': ['memories', 'total'], 'properties': {'total': {'type': 'integer'}, 'memories': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type'], 'properties': {'id': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'type': {'type': 'string'}, 'created_at': {'type': 'string'}, 'importance': {'type': 'integer'}}}}}}
memra_recall
Search memories in Memra by semantic similarity. Returns ranked results by relevance. Replaces memra_search.
Esquema de entrada
{'type': 'object', 'required': ['query', 'namespace'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Filter by tags'}, 'type': {'enum': ['fact', 'event', 'pattern', 'working', 'decision', 'preference', 'context', 'entity', 'reference'], 'type': 'string', 'description': 'Filter by memory type'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Max results to return'}, 'query': {'type': 'string', 'description': 'Search query for semantic matching'}, 'since': {'type': 'string', 'description': 'Only memories created at or after this ISO-8601 date.'}, 'until': {'type': 'string', 'description': 'Only memories created at or before this ISO-8601 date.'}, 'not_tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Exclude memories carrying any of these tags.'}, 'used_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Feedback: memory IDs from your PREVIOUS recall that you actually used. They gain a small permanent ranking boost — pass these every time to make recall learn.'}, 'namespace': {'type': 'string', 'description': 'Tenant namespace to search within'}, 'max_tokens': {'type': 'integer', 'minimum': 100, 'description': 'Token budget: return the best-scoring results that fit within this many tokens (chars/4 heuristic). Combine with a higher limit to fill the budget.'}, 'project_id': {'type': 'string', 'description': 'Filter by project ID'}, 'min_confidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Minimum confidence score'}, 'wait_for_revision': {'type': 'integer', 'minimum': 0, 'description': 'Read-your-writes: pass the revision returned by memra_remember to block (max 5s) until that write is indexed and searchable. Use when recalling something you just stored.'}}}
Esquema de salida
{'type': 'object', 'required': ['results', 'total_candidates'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'uri', 'excerpt', 'score', 'trust_state', 'untrusted_content'], 'properties': {'id': {'type': 'string'}, 'uri': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'type': {'type': ['string', 'null']}, 'score': {'type': 'number'}, 'content': {'type': 'string'}, 'excerpt': {'type': 'string'}, 'memory_id': {'type': 'string'}, 'created_at': {'type': ['string', 'null']}, 'importance': {'type': ['integer', 'null']}, 'trust_state': {'type': 'string'}, 'content_origin': {'type': ['string', 'null']}, 'last_confirmed': {'type': ['string', 'null'], 'description': 'When this memory was last written or refreshed.'}, 'staleness_score': {'type': ['integer', 'null'], 'description': '0 (fresh) to 100 (critical). High values mean the memory may be outdated — verify before relying on it.'}, 'staleness_status': {'enum': ['fresh', 'aging', 'stale', 'critical', None], 'type': ['string', 'null']}, 'untrusted_content': {'type': 'boolean'}, 'content_classification': {'type': 'string'}, 'full_content_available': {'type': 'boolean'}}}}, 'estimated_tokens': {'type': 'integer'}, 'total_candidates': {'type': 'integer'}}}
memra_remember
Store one or many memories in Memra. Single mode: pass content + namespace. Decision mode: pass type=decision with content + namespace (optionally context). Pattern mode: pass type=pattern with title + steps + namespace. Bulk mode: pass entries[]. If the response contains conflicts[], the new fact contradicts those existing memories — review them and use memra_supersede on the outdated one instead of leaving both active.
Esquema de entrada
{'type': 'object', 'properties': {'mask': {'type': 'boolean', 'default': False}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'type': {'enum': ['fact', 'event', 'pattern', 'working', 'decision', 'preference', 'context', 'entity', 'reference'], 'type': 'string', 'default': 'fact', 'description': 'Memory type; use decision for decision mode and pattern for pattern mode.'}, 'steps': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Pattern mode: ordered steps. Required with title when type=pattern.'}, 'title': {'type': 'string', 'description': 'Pattern mode: title. Required with steps when type=pattern.'}, 'content': {'type': 'string', 'maxLength': 10000, 'description': 'Single/decision mode: memory content. Required unless using entries[] or pattern mode.'}, 'context': {'type': 'string', 'description': 'Decision mode: reasoning/context for the decision.'}, 'entries': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Bulk mode: array of memory entries (max 25). When provided, the server routes to batch create.'}, 'gotchas': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Pattern mode: common pitfalls.'}, 'metadata': {'type': 'object'}, 'namespace': {'type': 'string', 'description': 'Tenant namespace. Required for single, decision, and pattern modes.'}, 'importance': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'project_id': {'type': 'string', 'description': 'Project ID (required if account has multiple projects)'}, 'verify_checklist': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Pattern mode: verification checklist.'}}}
Esquema de salida
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['memory_id', 'action'], 'properties': {'type': {'type': 'string'}, 'action': {'enum': ['created', 'duplicate_found'], 'type': 'string'}, 'revision': {'type': 'integer', 'description': 'Read-your-writes token — pass to memra_recall as wait_for_revision to guarantee this write is searchable.'}, 'conflicts': {'type': 'array', 'items': {'type': 'object', 'required': ['memory_id', 'preview', 'confidence'], 'properties': {'preview': {'type': 'string'}, 'memory_id': {'type': 'string'}, 'confidence': {'type': 'number'}}}, 'description': 'Existing memories this new fact contradicts (NLI-scored). Review each and memra_supersede the outdated one.'}, 'memory_id': {'type': 'string'}, 'namespace': {'type': 'string'}, 'project_id': {'type': 'string'}, 'embedding_status': {'enum': ['pending', 'complete', 'failed'], 'type': 'string'}}}, {'type': 'object', 'required': ['total', 'created', 'results'], 'properties': {'total': {'type': 'integer'}, 'created': {'type': 'integer'}, 'results': {'type': 'array', 'items': {'type': 'object'}}}}]}
memra_supersede
Replace a memory with new content. The old memory is marked superseded and stops appearing in search; the new memory inherits the old memory's type, importance, tags, source and metadata unless overridden. Works for all memory types (use this instead of memra_add when you are correcting or updating existing knowledge).
Esquema de entrada
{'type': 'object', 'required': ['memory_id', 'content'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': "Override tags (defaults to old memory's tags)"}, 'content': {'type': 'string', 'maxLength': 10000, 'description': 'New content that replaces the old memory'}, 'metadata': {'type': 'object', 'description': "Override metadata (defaults to old memory's metadata)"}, 'memory_id': {'type': 'string', 'description': 'ID of the memory to supersede'}, 'importance': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': "Override importance (defaults to old memory's importance)"}}}
Esquema de salida
{'type': 'object', 'required': ['new_memory_id', 'superseded_memory_id', 'type'], 'properties': {'type': {'type': 'string'}, 'revision': {'type': 'integer', 'description': 'Read-your-writes token — pass to memra_recall as wait_for_revision.'}, 'new_memory_id': {'type': 'string'}, 'embedding_status': {'enum': ['pending', 'complete', 'failed'], 'type': 'string'}, 'superseded_memory_id': {'type': 'string'}}}
Añadido
memra_bootstrap
17 de September de 2026 a las 12:38
Añadido
memra_history
17 de September de 2026 a las 12:38
Añadido
memra_supersede
17 de September de 2026 a las 12:38
Añadido
memra_list
17 de September de 2026 a las 12:38
Añadido
memra_get
17 de September de 2026 a las 12:38
Añadido
memra_recall
17 de September de 2026 a las 12:38
Añadido
memra_remember
17 de September de 2026 a las 12:38