vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
102 lines • 3.28 kB
TypeScript
import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
export interface AgentRegistration {
agentId: string;
capabilities: string[];
transportType: 'stdio' | 'sse' | 'websocket' | 'http';
sessionId: string;
maxConcurrentTasks: number;
pollingInterval?: number;
status?: 'online' | 'offline' | 'busy';
registeredAt?: number;
lastSeen?: number;
currentTasks?: string[];
websocketConnection?: WebSocket;
httpEndpoint?: string;
httpAuthToken?: string;
}
declare class AgentRegistry {
private static instance;
private static isInitializing;
private agents;
private sessionToAgent;
private integrationBridge;
private isBridgeRegistration;
static getInstance(): AgentRegistry;
private static createSafeFallback;
private initializeIntegrationBridge;
registerAgent(registration: AgentRegistration): Promise<void>;
private validateRegistration;
private createAgent;
private updateAgent;
private notifyAgentRegistered;
getAgent(agentId: string): Promise<AgentRegistration | undefined>;
getAgentBySession(sessionId: string): Promise<AgentRegistration | undefined>;
getAllAgents(): Promise<AgentRegistration[]>;
getOnlineAgents(): Promise<AgentRegistration[]>;
updateAgentStatus(agentId: string, status: 'online' | 'offline' | 'busy'): Promise<void>;
private notifyAgentStatusUpdate;
unregisterAgent(agentId: string): Promise<void>;
private notifyAgentUnregistered;
getTransportEndpoints(): {
websocket?: string;
http?: string;
sse?: string;
};
getTransportInstructions(registration: AgentRegistration): string;
performHealthCheck(): Promise<void>;
}
export declare const registerAgentTool: {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
agentId: {
type: string;
description: string;
};
capabilities: {
type: string;
items: {
type: string;
};
description: string;
};
transportType: {
type: string;
enum: string[];
description: string;
};
sessionId: {
type: string;
description: string;
};
maxConcurrentTasks: {
type: string;
default: number;
minimum: number;
maximum: number;
description: string;
};
pollingInterval: {
type: string;
default: number;
minimum: number;
maximum: number;
description: string;
};
httpEndpoint: {
type: string;
description: string;
};
httpAuthToken: {
type: string;
description: string;
};
};
required: string[];
};
};
export declare function handleRegisterAgent(args: Record<string, unknown>): Promise<CallToolResult>;
export { AgentRegistry };
//# sourceMappingURL=index.d.ts.map