UNPKG

@kya-os/mcp-i

Version:

COMING SOON:Production-ready MCP Identity with automatic registration, key rotation, and optimized performance

63 lines 2.67 kB
/** * Development Helper for MCP-I Package * * Provides additional developer experience improvements for local development */ import { MCPIdentity } from './index.js'; import { getLogger } from './logger.js'; /** * Enhanced development experience with helpful logging and tips */ export async function initWithDevExperience(options = {}) { const logger = getLogger(); // Add development mode if not specified if (process.env.NODE_ENV === 'development' && !options.mode) { options.mode = 'development'; logger.info('🔧 Development mode detected - agents will be created as drafts'); } // Auto-detect MCP server name from package.json if (!options.name && !process.env.MCP_SERVER_NAME) { // In Next.js and other bundled environments, we can't dynamically require package.json // Users should provide the name explicitly options.name = 'Development MCP Server'; logger.info('💡 Tip: Provide a name in options for better agent identification'); } // Performance tips if (!options.storage) { logger.info('💡 Tip: Use storage: "file" for persistent identity across restarts'); } const identity = await MCPIdentity.init(options); // Show useful development information logger.info('✨ MCP Identity initialized successfully!'); logger.info(`🆔 DID: ${identity.did}`); // Show claim URL in development const { claimUrl } = await identity.requestEditAccess(); logger.info(`🔗 Claim your agent: ${claimUrl}`); // Show integration tip logger.info('💡 Your MCP server responses are now automatically signed with your agent identity'); return identity; } /** * Quick agent status check for debugging */ export function showAgentStatus(identity) { const logger = getLogger(); const capabilities = identity.getCapabilities(); logger.info('📊 Agent Status:'); logger.info(` DID: ${identity.did}`); logger.info(` Conformance Level: ${capabilities.conformanceLevel}`); logger.info(` Registry: ${capabilities.registry || 'knowthat.ai'}`); logger.info(` Handshake Supported: ${capabilities.handshakeSupported}`); // Show directory preferences const directories = identity.getDirectories(); if (directories === 'none') { logger.info('📋 Directories: Not listing on any directories'); } else if (directories === 'verified') { logger.info('📋 Directories: Listing on all verified directories'); } else if (Array.isArray(directories)) { logger.info(`📋 Directories: ${directories.join(', ')}`); } } //# sourceMappingURL=dev-helper.js.map