forked from cardosofelipe/fast-next-template
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>
41 lines
973 B
Python
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",
|
|
]
|