UNPKG

bsv-mcp

Version:

A collection of Bitcoin SV (BSV) tools for the Model Context Protocol (MCP) framework

33 lines (30 loc) 1.06 kB
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import type { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js"; import { z } from "zod"; // Schema for invoking another agent via A2A protocol export const a2aCallArgsSchema = z.object({ url: z.string().url().describe("Full agent-to-agent endpoint URL"), method: z.string().describe("A2A method name to invoke"), params: z .record(z.any()) .optional() .describe("Payload parameters for the A2A call"), }); export type A2aCallArgs = z.infer<typeof a2aCallArgsSchema>; /** * Registers the a2a_call tool for agent-to-agent HTTP/SSE calls */ export function registerA2aCallTool(server: McpServer) { server.tool( "a2a_call", "Invoke a remote agent's A2A endpoint via HTTP/SSE", { args: a2aCallArgsSchema }, async ({ args }: { args: A2aCallArgs }, extra: RequestHandlerExtra) => { // TODO: implement HTTP request logic (e.g., fetch, SSE) return { content: [{ type: "text", text: "Not implemented" }], isError: true, }; }, ); }