UNPKG

amazon-seller-mcp

Version:

Model Context Protocol (MCP) client for Amazon Selling Partner API

80 lines (79 loc) 2.36 kB
/** * Resource registration for the Amazon Seller MCP Server */ import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js'; /** * Base resource registration options */ export interface ResourceRegistrationOptions { /** * Resource title */ title: string; /** * Resource description */ description: string; } /** * Resource handler function */ export type ResourceHandler = (uri: URL, params: Record<string, string>) => Promise<{ contents: Array<{ uri: string; text: string; mimeType?: string; }>; }>; /** * Resource completion function */ export type ResourceCompletionFunction = (value: string) => Promise<string[]>; /** * Resource completions configuration */ export interface ResourceCompletions { [param: string]: ResourceCompletionFunction; } /** * Resource registration manager */ export declare class ResourceRegistrationManager { private server; private registeredResources; /** * Creates a new resource registration manager * @param server MCP server instance */ constructor(server: McpServer); /** * Registers a resource with the MCP server * * @param name Resource name * @param template Resource template * @param options Resource registration options * @param handler Resource handler function * @returns True if the resource was registered, false if it was already registered */ registerResource(name: string, template: ResourceTemplate, options: ResourceRegistrationOptions, handler: ResourceHandler): boolean; /** * Creates a resource template * * @param uriTemplate URI template string * @param listTemplate Optional list template string * @param completions Optional completions configuration * @returns Resource template */ createResourceTemplate(uriTemplate: string, listTemplate?: string, completions?: ResourceCompletions): ResourceTemplate; /** * Gets the list of registered resource names * @returns Array of registered resource names */ getRegisteredResources(): string[]; /** * Checks if a resource is registered * @param name Resource name * @returns True if the resource is registered, false otherwise */ isResourceRegistered(name: string): boolean; }