Skip to main content
Glama
index.ts2.66 kB
/** * MCP Tool Registration */ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { SessionManager } from '../session/manager.js'; import { WatchManager } from '../session/watch-manager.js'; import { LogpointManager } from '../session/logpoint-manager.js'; import { Profiler } from '../session/profiler.js'; import { RequestContextCapture } from '../session/request-context.js'; import { StepFilter } from '../session/step-filter.js'; import { DebugConfigManager } from '../session/debug-config.js'; import { CodeCoverageTracker } from '../session/code-coverage.js'; import { SessionExporter } from '../session/session-export.js'; import { PendingBreakpointsManager } from '../session/pending-breakpoints.js'; import { registerSessionTools } from './session.js'; import { registerBreakpointTools } from './breakpoints.js'; import { registerExecutionTools } from './execution.js'; import { registerInspectionTools } from './inspection.js'; import { registerAdvancedTools, AdvancedToolsContext } from './advanced.js'; export interface ToolsContext { sessionManager: SessionManager; watchManager: WatchManager; logpointManager: LogpointManager; profiler: Profiler; requestCapture: RequestContextCapture; stepFilter: StepFilter; configManager: DebugConfigManager; coverageTracker: CodeCoverageTracker; sessionExporter: SessionExporter; pendingBreakpoints: PendingBreakpointsManager; } export function createToolsContext(sessionManager: SessionManager): ToolsContext { return { sessionManager, watchManager: new WatchManager(), logpointManager: new LogpointManager(), profiler: new Profiler(), requestCapture: new RequestContextCapture(), stepFilter: new StepFilter(), configManager: new DebugConfigManager(), coverageTracker: new CodeCoverageTracker(), sessionExporter: new SessionExporter(), pendingBreakpoints: new PendingBreakpointsManager(), }; } export function registerAllTools( server: McpServer, ctx: ToolsContext ): void { // Core debugging tools registerSessionTools(server, ctx.sessionManager); registerBreakpointTools(server, ctx.sessionManager, ctx.pendingBreakpoints); registerExecutionTools(server, ctx.sessionManager); registerInspectionTools(server, ctx.sessionManager); // Advanced tools registerAdvancedTools(server, ctx as AdvancedToolsContext); } export { registerSessionTools } from './session.js'; export { registerBreakpointTools } from './breakpoints.js'; export { registerExecutionTools } from './execution.js'; export { registerInspectionTools } from './inspection.js'; export { registerAdvancedTools } from './advanced.js';

Implementation Reference

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kpanuragh/xdebug-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server