mcp-cisco-support
Version:
MCP server for Cisco Support APIs including Bug Search and future tools
132 lines • 3.83 kB
TypeScript
/**
* Elicitation Request Schemas
*
* ⚠️ EXPERIMENTAL FEATURE - Limited Client Support
*
* ElicitationRequest is an MCP specification feature for requesting user input
* at runtime using structured schemas. However, as of January 2025, few MCP clients
* (including Claude Desktop) have confirmed full implementation.
*
* ## Status
* - ✅ Spec Compliant: Code follows MCP specification (2025-06-18)
* - ❌ Limited Client Support: Not widely implemented yet
* - ✅ Alternative Available: Claude Desktop handles this via conversational follow-ups
*
* ## Why Keep It?
* - Future client support (when available)
* - Custom MCP client implementations
* - HTTP mode with custom UI
* - Reference implementation
*
* ## For Claude Desktop Users
* Claude handles missing parameters naturally through conversation instead of
* using structured elicitation requests.
*/
/**
* Common elicitation schemas for Cisco Support scenarios
* All schemas use flat object structure with primitive types only (per MCP spec)
*/
export declare const ElicitationSchemas: {
/**
* Request missing API credentials
* Security Note: Never used for actual credential storage - only for user confirmation
*/
apiCredentials: {
type: string;
properties: {
clientId: {
type: string;
description: string;
};
confirm: {
type: string;
description: string;
};
};
required: string[];
};
/**
* Request search refinement parameters
* Used when initial search is too broad or needs filtering
*/
searchRefinement: {
type: string;
properties: {
severity: {
type: string;
enum: string[];
description: string;
};
status: {
type: string;
enum: string[];
description: string;
};
dateRange: {
type: string;
enum: string[];
description: string;
};
};
required: never[];
};
/**
* Request user confirmation for potentially destructive actions
* Used before executing operations that modify state or have significant impact
*/
userConfirmation: {
type: string;
properties: {
confirmed: {
type: string;
description: string;
};
reason: {
type: string;
description: string;
};
};
required: string[];
};
/**
* Request product selection when multiple matches found
* Used when search returns ambiguous results
*/
productSelection: {
type: string;
properties: {
selectedProduct: {
type: string;
description: string;
};
version: {
type: string;
description: string;
};
};
required: string[];
};
};
/**
* Create an elicitation request (for future client support)
*
* @param message - Human-readable message explaining what input is needed
* @param schema - JSON Schema for the requested input (must be flat object with primitives)
* @returns Elicitation request object
*
* @example
* ```typescript
* const request = createElicitationRequest(
* 'Please refine your search parameters',
* ElicitationSchemas.searchRefinement
* );
* ```
*/
export declare function createElicitationRequest(message: string, schema: any): {
method: string;
params: {
message: string;
requestedSchema: any;
};
};
//# sourceMappingURL=schemas.d.ts.map