github-mcp-auto-git
Version:
GitHub MCP Auto Git v3.0 - メモリ効率化・統合MCP・モジュール化完了の完全自動Git操作システム
121 lines • 3.58 kB
TypeScript
/**
* Unified MCP Manager - Centralized MCP Client Management
* Consolidates all MCP operations following Constitutional AI principles
*/
import { GitConfig } from '../types/index.js';
export interface MCPServer {
name: string;
command: string;
args: string[];
env: Record<string, string>;
enabled: boolean;
}
export interface MCPRequest {
method: string;
params: {
name: string;
arguments: Record<string, any>;
};
}
export interface MCPResponse {
success: boolean;
data?: any;
error?: string;
warnings?: string[];
}
export interface MCPOperation {
server: string;
operation: string;
params: Record<string, any>;
timeout?: number;
}
export declare class UnifiedMCPManager {
private servers;
private serverConfigs;
private initialized;
private config;
constructor(config: GitConfig);
/**
* Initialize all configured MCP servers
* Fail Fast: Comprehensive validation and early error detection
* Be Lazy: Initialize only enabled servers
* TypeScript First: Complete type safety for server management
*/
initialize(): Promise<void>;
/**
* Execute MCP operation with automatic fallback
* Fail Fast: Immediate server validation and error handling
* Be Lazy: Smart server selection and operation optimization
*/
executeOperation(operation: MCPOperation): Promise<MCPResponse>;
/**
* GitHub-specific operations with unified interface
* TypeScript First: Strongly typed GitHub operations
*/
createPullRequest(options: {
title: string;
body: string;
head: string;
base: string;
draft?: boolean;
maintainer_can_modify?: boolean;
}): Promise<MCPResponse>;
mergePullRequest(options: {
pullNumber: number;
mergeMethod?: 'merge' | 'squash' | 'rebase';
commitTitle?: string;
commitMessage?: string;
}): Promise<MCPResponse>;
getPullRequestStatus(pullNumber: number): Promise<MCPResponse>;
deleteBranch(branchName: string): Promise<MCPResponse>;
/**
* Check if a specific server is available
* Be Lazy: Efficient server availability checking
*/
isServerAvailable(serverName: string): boolean;
/**
* Get status of all MCP servers
* TypeScript First: Type-safe status reporting
*/
getServerStatus(): {
server: string;
status: 'active' | 'inactive' | 'error';
enabled: boolean;
}[];
/**
* Cleanup all MCP servers
* Fail Fast: Comprehensive cleanup with error handling
*/
cleanup(): Promise<void>;
/**
* Setup server configurations
* Be Lazy: Configuration-driven server setup
*/
private setupServerConfigurations;
/**
* Initialize a specific MCP server
* Fail Fast: Immediate server validation and error handling
*/
private initializeServer;
/**
* Send request to MCP server
* TypeScript First: Type-safe request/response handling
*/
private sendRequest;
/**
* Wait for server initialization
* Fail Fast: Timeout-based initialization validation
*/
private waitForServerInitialization;
/**
* Wait for process to exit
* Be Lazy: Efficient process cleanup with timeout
*/
private waitForProcessExit;
/**
* Handle server errors with recovery attempts
* Fail Fast: Immediate error detection and recovery
*/
private handleServerError;
}
//# sourceMappingURL=unified-mcp-manager.d.ts.map