UNPKG

@getalby/paidmcp

Version:

Charge for your MCP Server tools using Nostr Wallet Connect

13 lines (12 loc) 757 B
import { ToolCallback } from "@modelcontextprotocol/sdk/server/mcp.js"; import { CallToolResult } from "@modelcontextprotocol/sdk/types.js"; import { z, ZodRawShape, ZodTypeAny } from "zod"; import { IWallet } from "./wallets/wallet.js"; import { IStorage } from "./storage/storage.js"; export type ChargeCallback<InputArgs extends ZodRawShape> = (params: z.objectOutputType<InputArgs, ZodTypeAny>) => Promise<{ satoshi: number; description: string; }>; export declare function paidCallback<InputArgs extends ZodRawShape>(cb: ToolCallback<InputArgs>, charge: ChargeCallback<InputArgs>, wallet: IWallet, storage: IStorage): (args: Parameters<typeof cb>[0] & { payment_hash: string; }, extra: Parameters<typeof cb>[1]) => Promise<CallToolResult>;