@kya-os/mcp-i
Version:
COMING SOON:Production-ready MCP Identity with automatic registration, key rotation, and optimized performance
57 lines (56 loc) • 2.4 kB
TypeScript
import { MCPIdentityOptions, Challenge, ChallengeResponse, MCPICapabilities, SignedResponse, MCPMiddleware, DirectoryPreference } from './types';
import { KeyRotationResult, KeyHealth } from './rotation';
export * from './types';
export * from './vercel-adapter';
export { RegistryFactory, REGISTRY_TIERS, resolveRegistries } from './registry';
export { LoggerFactory, ConsoleLogger, SilentLogger } from './logger';
export { StorageFactory, MemoryStorage, FileStorage } from './storage';
export { TransportFactory, RuntimeDetector } from './transport';
export { KeyRotationManager } from './rotation';
export { initWithDevExperience, showAgentStatus } from './dev-helper';
export { pollRegistrationStatus, isAsyncRegistrationResponse } from './polling';
export declare class MCPIdentity {
readonly did: string;
readonly publicKey: string;
private privateKey;
private timestampTolerance;
private enableNonceTracking;
private usedNonces;
private nonceCleanupInterval?;
private encryptionPassword?;
private decryptedPrivateKey?;
private directories;
private storage;
private transport;
private logger;
private rotationManager?;
private precomputed;
private constructor();
static init(options?: MCPIdentityOptions): Promise<MCPIdentity>;
enableAutoRotation(policy?: {
maxAge?: number;
maxSignatures?: number;
}): Promise<void>;
rotateKeys(reason?: string): Promise<KeyRotationResult>;
checkKeyHealth(): KeyHealth | null;
private getPrivateKey;
sign(message: string | Buffer): Promise<string>;
requestEditAccess(): Promise<{
editUrl: string;
claimUrl?: string;
}>;
verify(message: string | Buffer, signature: string, publicKey?: string): Promise<boolean>;
respondToChallenge(challenge: Challenge): Promise<ChallengeResponse>;
getCapabilities(): MCPICapabilities;
signResponse<T = any>(response: T): Promise<SignedResponse<T>>;
static generateNonce(): string;
getDirectories(): DirectoryPreference;
private startNonceCleanup;
destroy(): void;
private extractAgentName;
private extractAgentId;
private extractAgentSlug;
private persistIdentity;
}
export declare function enableMCPIdentity(options?: MCPIdentityOptions): Promise<MCPIdentity>;
export declare function createMCPMiddleware(identity: MCPIdentity): MCPMiddleware;