Chris Keo
09/30/2025, 4:17 PM// Create a memory provider
var memProvider = LocalFileMemoryProvider(
config = LocalMemoryConfig("symfonic-memory"),
storage = SimpleStorage(JVMFileSystemProvider.ReadWrite),
fs = JVMFileSystemProvider.ReadWrite,
root = Path("./memory/data")
)
memProvider.save(
fact = SingleFact(
concept = Concept(
"Planning", "Model for planning processes",
FactType.SINGLE
),
timestamp = DefaultTimeProvider.getCurrentTimestamp(),
value = "Planning Model1"
),
subject = company1.TQModel,
scope = MemoryScope.Agent("symfonicAgent")
)
val symfonicAgent = AIAgent(
promptExecutor = executor,
strategy = singleRunStrategy(),// this means oue agent will run only once and perfom its task
agentConfig = agentConfig,
toolRegistry = toolMCPRegistry,
) {
install(AgentMemory) {
memoryProvider = memProvider
agentName = "symfonicAgent"
}
}
Is there a way I can retrieve the value "Planning Model1" in a conversation ? In the documentation, memory is used only with nodes. Is that the only way to use it?
Thank you again for the great work !Vadim Briliantov
09/30/2025, 8:02 PMVadim Briliantov
09/30/2025, 8:03 PMChris Keo
09/30/2025, 8:25 PMVadim Briliantov
09/30/2025, 11:16 PMVadim Briliantov
09/30/2025, 11:19 PMChris Keo
10/01/2025, 8:58 AM// Create the SSE transport
val transport = McpToolRegistryProvider.defaultSseTransport("<http://localhost:3001/sse>")
// Create a tool registry with tools from the MCP server
val toolMCPRegistry = McpToolRegistryProvider.fromTransport(
transport = transport,
name = "mcpServer",
version = "1.0.0"
)
toolMCPRegistry.add(::searchModules.asTool())
Thank you again.