Skip to main content
Glama
mixelpixx

meMCP - Memory-Enhanced Model Context Protocol

memory_query

Query and retrieve stored knowledge from the persistent memory system of Large Language Models (LLMs) to enhance context continuity and learning across sessions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Implements the core logic for the 'memory_query' tool: queries factStore with args, formats results as markdown text with details like score, domain, tags, etc., handles empty results and errors.
    async handleQuery(args) { try { const result = await this.factStore.queryFacts(args); if (result.facts.length === 0) { return { content: [ { type: 'text', text: `No insights found matching your query: "${args.query}"`, }, ], }; } let response = `Found ${result.facts.length} insights (${result.total} total matches):\n\n`; for (const [index, fact] of result.facts.entries()) { response += `**${index + 1}. ${fact.type.replace('_', ' ')}** (Score: ${fact.qualityScore}/100)\n`; response += `*Domain: ${fact.domain}*\n`; response += `${fact.content}\n`; if (fact.tags && fact.tags.length > 0) { response += `*Tags: ${fact.tags.join(', ')}*\n`; } if (fact.relatedFacts && fact.relatedFacts.length > 0) { response += `*Related: ${fact.relatedFacts.length} connected facts*\n`; } if (fact.relevanceScore !== undefined) { response += `*Relevance: ${fact.relevanceScore.toFixed(2)}*\n`; } if (fact.semanticScore !== undefined) { response += `*Semantic: ${fact.semanticScore.toFixed(3)}*\n`; } response += `\n`; } return { content: [ { type: 'text', text: response.trim(), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error querying insights: ${error.message}`, }, ], isError: true, }; } }
  • Registers the 'memory_query' tool with the MCP server, providing description, input schema, and a handler lambda that calls the handleQuery method.
    registerQueryTool(server) { server.registerTool( 'memory_query', 'Search and retrieve relevant insights from the memory system', { type: 'object', properties: { query: { type: 'string', description: 'Search query to find relevant insights', }, type: { type: 'string', description: 'Filter by fact type', }, domain: { type: 'string', description: 'Filter by domain', }, tags: { type: 'array', items: { type: 'string' }, description: 'Filter by tags', }, minScore: { type: 'number', description: 'Minimum quality score (0-100)', default: 0, }, limit: { type: 'number', description: 'Maximum number of results', default: 10, }, includeRelated: { type: 'boolean', description: 'Include related facts in results', default: false, }, }, required: ['query'], }, async (args) => { return await this.handleQuery(args); } ); }
  • Input schema (JSON Schema) for the 'memory_query' tool, defining parameters for querying memory insights with filters.
    { type: 'object', properties: { query: { type: 'string', description: 'Search query to find relevant insights', }, type: { type: 'string', description: 'Filter by fact type', }, domain: { type: 'string', description: 'Filter by domain', }, tags: { type: 'array', items: { type: 'string' }, description: 'Filter by tags', }, minScore: { type: 'number', description: 'Minimum quality score (0-100)', default: 0, }, limit: { type: 'number', description: 'Maximum number of results', default: 10, }, includeRelated: { type: 'boolean', description: 'Include related facts in results', default: false, }, }, required: ['query'], },
  • In MemoryTools.registerTools, calls MemoryQueryHandler.registerTools(server), which registers the 'memory_query' tool among others.
    async registerTools(server) { // Register tools from modular components this.operations.registerTools(server); this.queryHandler.registerTools(server); this.streamingTools.registerTools(server); this.management.registerTools(server); }
  • Instantiates MemoryQueryHandler in MemoryTools constructor, providing factStore and processor dependencies.
    this.queryHandler = new MemoryQueryHandler(factStore, processor);

Latest Blog Posts

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/mixelpixx/meMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server