mcpay
Version:
SDK and CLI for MCPay functionality - MCP servers with payment capabilities
299 lines • 11.1 kB
TypeScript
import type { CallToolRequest, CallToolResult, InitializeResult, ListToolsResult, ListPromptsResult, ListResourcesResult, ListResourceTemplatesResult, ReadResourceResult, Request as McpRequest, Result as McpResult } from "@modelcontextprotocol/sdk/types.js";
import type { Hook, RequestExtra, InitializeRequestWithContext, ListToolsRequestWithContext, ListPromptsRequestWithContext, ListResourcesRequestWithContext, ListResourceTemplatesRequestWithContext, ReadResourceRequestWithContext } from "../hooks.js";
export type AnalyticsSink = (event: Record<string, unknown>) => Promise<void>;
export declare class AnalyticsHook implements Hook {
name: string;
private sink;
private origin;
constructor(sink: AnalyticsSink, origin: string);
processCallToolResult(res: CallToolResult, req: CallToolRequest, extra: RequestExtra): Promise<{
resultType: "continue";
response: {
[x: string]: unknown;
content: ({
[x: string]: unknown;
type: "text";
text: string;
_meta?: {
[x: string]: unknown;
} | undefined;
} | {
[x: string]: unknown;
type: "image";
data: string;
mimeType: string;
_meta?: {
[x: string]: unknown;
} | undefined;
} | {
[x: string]: unknown;
type: "audio";
data: string;
mimeType: string;
_meta?: {
[x: string]: unknown;
} | undefined;
} | {
[x: string]: unknown;
type: "resource_link";
name: string;
uri: string;
_meta?: {
[x: string]: unknown;
} | undefined;
mimeType?: string | undefined;
title?: string | undefined;
description?: string | undefined;
icons?: {
[x: string]: unknown;
src: string;
mimeType?: string | undefined;
sizes?: string | undefined;
}[] | undefined;
} | {
[x: string]: unknown;
type: "resource";
resource: {
[x: string]: unknown;
text: string;
uri: string;
_meta?: {
[x: string]: unknown;
} | undefined;
mimeType?: string | undefined;
} | {
[x: string]: unknown;
uri: string;
blob: string;
_meta?: {
[x: string]: unknown;
} | undefined;
mimeType?: string | undefined;
};
_meta?: {
[x: string]: unknown;
} | undefined;
})[];
_meta?: {
[x: string]: unknown;
} | undefined;
structuredContent?: {
[x: string]: unknown;
} | undefined;
isError?: boolean | undefined;
};
}>;
processInitializeResult(res: InitializeResult, req: InitializeRequestWithContext, extra: RequestExtra): Promise<{
resultType: "continue";
response: {
[x: string]: unknown;
capabilities: {
[x: string]: unknown;
tools?: {
[x: string]: unknown;
listChanged?: boolean | undefined;
} | undefined;
experimental?: {
[x: string]: unknown;
} | undefined;
prompts?: {
[x: string]: unknown;
listChanged?: boolean | undefined;
} | undefined;
logging?: {
[x: string]: unknown;
} | undefined;
completions?: {
[x: string]: unknown;
} | undefined;
resources?: {
[x: string]: unknown;
listChanged?: boolean | undefined;
subscribe?: boolean | undefined;
} | undefined;
};
serverInfo: {
[x: string]: unknown;
name: string;
version: string;
title?: string | undefined;
icons?: {
[x: string]: unknown;
src: string;
mimeType?: string | undefined;
sizes?: string | undefined;
}[] | undefined;
websiteUrl?: string | undefined;
};
protocolVersion: string;
_meta?: {
[x: string]: unknown;
} | undefined;
instructions?: string | undefined;
};
}>;
processListToolsResult(res: ListToolsResult, req: ListToolsRequestWithContext, extra: RequestExtra): Promise<{
resultType: "continue";
response: {
[x: string]: unknown;
tools: {
[x: string]: unknown;
name: string;
inputSchema: {
[x: string]: unknown;
type: "object";
properties?: {
[x: string]: unknown;
} | undefined;
required?: string[] | undefined;
};
_meta?: {
[x: string]: unknown;
} | undefined;
title?: string | undefined;
description?: string | undefined;
icons?: {
[x: string]: unknown;
src: string;
mimeType?: string | undefined;
sizes?: string | undefined;
}[] | undefined;
outputSchema?: {
[x: string]: unknown;
type: "object";
properties?: {
[x: string]: unknown;
} | undefined;
required?: string[] | undefined;
} | undefined;
annotations?: {
[x: string]: unknown;
title?: string | undefined;
readOnlyHint?: boolean | undefined;
destructiveHint?: boolean | undefined;
idempotentHint?: boolean | undefined;
openWorldHint?: boolean | undefined;
} | undefined;
}[];
_meta?: {
[x: string]: unknown;
} | undefined;
nextCursor?: string | undefined;
};
}>;
processListPromptsResult(res: ListPromptsResult, req: ListPromptsRequestWithContext, extra: RequestExtra): Promise<{
resultType: "continue";
response: {
[x: string]: unknown;
prompts: {
[x: string]: unknown;
name: string;
_meta?: {
[x: string]: unknown;
} | undefined;
title?: string | undefined;
description?: string | undefined;
icons?: {
[x: string]: unknown;
src: string;
mimeType?: string | undefined;
sizes?: string | undefined;
}[] | undefined;
arguments?: {
[x: string]: unknown;
name: string;
description?: string | undefined;
required?: boolean | undefined;
}[] | undefined;
}[];
_meta?: {
[x: string]: unknown;
} | undefined;
nextCursor?: string | undefined;
};
}>;
processListResourcesResult(res: ListResourcesResult, req: ListResourcesRequestWithContext, extra: RequestExtra): Promise<{
resultType: "continue";
response: {
[x: string]: unknown;
resources: {
[x: string]: unknown;
name: string;
uri: string;
_meta?: {
[x: string]: unknown;
} | undefined;
mimeType?: string | undefined;
title?: string | undefined;
description?: string | undefined;
icons?: {
[x: string]: unknown;
src: string;
mimeType?: string | undefined;
sizes?: string | undefined;
}[] | undefined;
}[];
_meta?: {
[x: string]: unknown;
} | undefined;
nextCursor?: string | undefined;
};
}>;
processListResourceTemplatesResult(res: ListResourceTemplatesResult, req: ListResourceTemplatesRequestWithContext, extra: RequestExtra): Promise<{
resultType: "continue";
response: {
[x: string]: unknown;
resourceTemplates: {
[x: string]: unknown;
name: string;
uriTemplate: string;
_meta?: {
[x: string]: unknown;
} | undefined;
mimeType?: string | undefined;
title?: string | undefined;
description?: string | undefined;
}[];
_meta?: {
[x: string]: unknown;
} | undefined;
nextCursor?: string | undefined;
};
}>;
processReadResourceResult(res: ReadResourceResult, req: ReadResourceRequestWithContext, extra: RequestExtra): Promise<{
resultType: "continue";
response: {
[x: string]: unknown;
contents: ({
[x: string]: unknown;
text: string;
uri: string;
_meta?: {
[x: string]: unknown;
} | undefined;
mimeType?: string | undefined;
} | {
[x: string]: unknown;
uri: string;
blob: string;
_meta?: {
[x: string]: unknown;
} | undefined;
mimeType?: string | undefined;
})[];
_meta?: {
[x: string]: unknown;
} | undefined;
};
}>;
processOtherResult(res: McpResult, req: McpRequest, extra: RequestExtra): Promise<{
resultType: "continue";
response: {
[x: string]: unknown;
_meta?: {
[x: string]: unknown;
} | undefined;
};
}>;
}
//# sourceMappingURL=analytics-hook.d.ts.map