UNPKG

@blario/mcp

Version:

Blar Model Context Protocol server

59 lines (58 loc) 2 kB
import { z } from "zod"; import { blarAPIClient, BLAR_API_BASE } from "../api-client.js"; export const searchAllConsiderationsSchema = { query: z.string().describe("Search query to filter considerations, search uses BM25 model"), repo_name: z.string().describe("Repository name of current project"), tag: z.enum(["context", "design_pattern"]).describe("Tag to filter considerations by type"), }; export async function handleSearchAllConsiderations({ query, repo_name, tag, }) { try { // Construct query parameters const queryParams = new URLSearchParams(); queryParams.append('query', query); queryParams.append('repo_name', repo_name); queryParams.append('tag', tag); const url = `${BLAR_API_BASE}/wiki/considerations/search?` + queryParams.toString(); const result = await blarAPIClient.makeRequestWithErrorHandling(url); if (result.error) { return { content: [ { type: "text", text: `Error searching considerations: ${JSON.stringify(result.error, null, 2)}` } ], isError: true }; } if (!result.data) { return { content: [ { type: "text", text: "No considerations found." } ] }; } return { content: [ { type: "text", text: JSON.stringify(result.data, null, 2) } ] }; } catch (error) { return { content: [ { type: "text", text: `Error searching considerations: ${error instanceof Error ? error.message : String(error)}` } ], isError: true }; } }