Files
syndarix/backend/app/services/memory/mcp/__init__.py
Felipe Cardoso 0b24d4c6cc feat(memory): implement MCP tools for agent memory operations (#96)
Add MCP-compatible tools that expose memory operations to agents:

Tools implemented:
- remember: Store data in working, episodic, semantic, or procedural memory
- recall: Retrieve memories by query across multiple memory types
- forget: Delete specific keys or bulk delete by pattern
- reflect: Analyze patterns in recent episodes (success/failure factors)
- get_memory_stats: Return usage statistics and breakdowns
- search_procedures: Find procedures matching trigger patterns
- record_outcome: Record task outcomes and update procedure success rates

Key components:
- tools.py: Pydantic schemas for tool argument validation with comprehensive
  field constraints (importance 0-1, TTL limits, limit ranges)
- service.py: MemoryToolService coordinating memory type operations with
  proper scoping via ToolContext (project_id, agent_instance_id, session_id)
- Lazy initialization of memory services (WorkingMemory, EpisodicMemory,
  SemanticMemory, ProceduralMemory)

Test coverage:
- 60 tests covering tool definitions, argument validation, and service
  execution paths
- Mock-based tests for all memory type interactions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 03:32:10 +01:00

41 lines
973 B
Python

# app/services/memory/mcp/__init__.py
"""
MCP Tools for Agent Memory System.
Exposes memory operations as MCP-compatible tools that agents can invoke:
- remember: Store data in memory
- recall: Retrieve from memory
- forget: Remove from memory
- reflect: Analyze patterns
- get_memory_stats: Usage statistics
- search_procedures: Find relevant procedures
- record_outcome: Record task success/failure
"""
from .service import MemoryToolService, get_memory_tool_service
from .tools import (
MEMORY_TOOL_DEFINITIONS,
ForgetArgs,
GetMemoryStatsArgs,
MemoryToolDefinition,
RecallArgs,
RecordOutcomeArgs,
ReflectArgs,
RememberArgs,
SearchProceduresArgs,
)
__all__ = [
"MEMORY_TOOL_DEFINITIONS",
"ForgetArgs",
"GetMemoryStatsArgs",
"MemoryToolDefinition",
"MemoryToolService",
"RecallArgs",
"RecordOutcomeArgs",
"ReflectArgs",
"RememberArgs",
"SearchProceduresArgs",
"get_memory_tool_service",
]