@thorium-dev-group/x402-mcp-extension
Version:
X402-MCP Protocol Extension
29 lines (28 loc) • 1.28 kB
TypeScript
import { Client, type ClientOptions } from '@modelcontextprotocol/sdk/client/index.js';
import { type Implementation } from '@modelcontextprotocol/sdk/types.js';
import type { IStorageInterface, IWalletProvider, ILoggerFactory } from '../shared/interfaces';
import { PaymentRequiredRequest, PaymentRequiredResponse, PaymentResultNotification } from '../shared/schemas';
export interface X402MCPClientOptions extends Implementation, ClientOptions {
wallet: IWalletProvider | string;
logFactory?: ILoggerFactory;
auditStorage?: IStorageInterface;
guardrails?: {
maxPaymentPerCall?: number;
whitelistedServers?: string[];
};
}
export interface NotificationHandler {
handleNotification(notification: any): Promise<void>;
}
export declare class X402MCPClient extends Client implements NotificationHandler {
private walletProvider;
private guardrailsService?;
private auditStorage?;
private logger;
constructor(options: X402MCPClientOptions);
connect(transport: any): Promise<void>;
private trackRequest;
private markRequestCompleted;
handlePaymentRequired(request: PaymentRequiredRequest): Promise<PaymentRequiredResponse>;
handleNotification(notification: PaymentResultNotification): Promise<void>;
}