amazon-seller-mcp
Version:
Model Context Protocol (MCP) client for Amazon Selling Partner API
80 lines (79 loc) • 2.36 kB
TypeScript
/**
* 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;
}