Skip to main content
Glama

twining_search_decisions

Search decisions by keyword or semantic similarity across all scopes. Filter results by domain, status, and confidence level to find relevant project decisions.

Instructions

Search decisions across all scopes by keyword or semantic similarity. Returns ranked results without requiring a specific scope. Supports filtering by domain, status, and confidence level.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query — keywords or natural language description of what you're looking for
domainNoFilter by decision domain (e.g., 'architecture', 'implementation')
statusNoFilter by decision status
confidenceNoFilter by confidence level
limitNoMaximum results to return (default: 20)

Implementation Reference

  • Registration and handler for "twining_search_decisions" which delegates to engine.searchDecisions.
    // twining_search_decisions — Search decisions across all scopes
    server.registerTool(
      "twining_search_decisions",
      {
        description:
          "Search decisions across all scopes by keyword or semantic similarity. Returns ranked results without requiring a specific scope. Supports filtering by domain, status, and confidence level.",
        inputSchema: {
          query: z
            .string()
            .describe(
              "Search query — keywords or natural language description of what you're looking for",
            ),
          domain: z
            .string()
            .optional()
            .describe(
              "Filter by decision domain (e.g., 'architecture', 'implementation')",
            ),
          status: z
            .enum(["active", "provisional", "superseded", "overridden"])
            .optional()
            .describe("Filter by decision status"),
          confidence: z
            .enum(["high", "medium", "low"])
            .optional()
            .describe("Filter by confidence level"),
          limit: z
            .number()
            .optional()
            .describe("Maximum results to return (default: 20)"),
        },
      },
      async (args) => {
        try {
          const filters: {
            domain?: string;
            status?: "active" | "provisional" | "superseded" | "overridden";
            confidence?: "high" | "medium" | "low";
          } = {};
          if (args.domain) filters.domain = args.domain;
          if (args.status) filters.status = args.status;
          if (args.confidence) filters.confidence = args.confidence;
    
          const result = await engine.searchDecisions(
            args.query,
            Object.keys(filters).length > 0 ? filters : undefined,
            args.limit,
          );
          return toolResult(result);
        } catch (e) {
          if (e instanceof TwiningError) {
            return toolError(e.message, e.code);
          }
          return toolError(
            e instanceof Error ? e.message : "Unknown error",
            "INTERNAL_ERROR",
          );
        }
      },
    );

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/daveangulo/twining-mcp'

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