Skip to main content
Glama

search_decisions

Search past architectural decisions by keyword to find relevant ADRs and avoid repeating previous solutions.

Instructions

Search past architectural decisions by keyword

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch term (e.g. Redis, PostgreSQL, JWT)

Implementation Reference

  • db.js:138-145 (handler)
    The actual implementation of the 'search_decisions' logic, querying the SQLite database.
    export function searchDecisions(query) {
      return db.prepare(`
        SELECT s.id, s.project, s.summary, s.created_at, a.title, a.decision, a.status
        FROM sessions s LEFT JOIN adrs a ON a.session_id = s.id
        WHERE s.conversation LIKE ? OR s.summary LIKE ? OR a.decision LIKE ?
        ORDER BY s.created_at DESC LIMIT 10
      `).all(`%${query}%`, `%${query}%`, `%${query}%`);
    }
  • index.js:123-137 (registration)
    The registration of the 'search_decisions' tool in the MCP server, which wraps the 'searchDecisions' function.
    server.registerTool('search_decisions', {
      description: 'Search past architectural decisions by keyword',
      inputSchema: {
        query: z.string().describe('Search term (e.g. Redis, PostgreSQL, JWT)'),
      },
    }, async ({ query }) => {
      const results = searchDecisions(query);
      if (!results.length) return { content: [{ type: 'text', text: 'No results found' }] };
    
      const output = results.map(r =>
        `[${r.created_at}] ${r.project} — [${r.status ?? 'Accepted'}] ${r.title ?? 'untitled'}\n  Summary: ${r.summary ?? 'none'}\n  Decision: ${r.decision ?? 'none'}`
      ).join('\n\n');
    
      return { content: [{ type: 'text', text: output }] };
    });

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/wooxogh/adr-mcp-setup'

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