/** * ADRFlow MCP Server * * Main server implementation that exposes ADR functionality * through the Model Context Protocol. * * @module adrflow/mcp/server */ import { ADRService } from '../core/service.js'; import type { ADRStore } from '../storage/store.js'; /** * Server configuration */ export interface ServerConfig { /** Name shown to clients */ readonly name?: string; /** Server version */ readonly version?: string; /** Default source type for new ADRs */ readonly defaultSourceType?: 'claude_session' | 'cursor_session' | 'manual' | 'imported'; } /** * ADRFlow MCP Server * * Provides MCP tools and resources for managing Architecture Decision Records. */ export declare class ADRFlowServer { private readonly server; private readonly service; private readonly config; private isRunning; constructor(store: ADRStore, config?: ServerConfig); /** * Sets up all MCP request handlers */ private setupHandlers; /** * Handles a tool call */ private handleToolCall; /** * Executes a specific tool call */ private executeToolCall; /** * Records a new decision */ private recordDecision; /** * Searches decisions */ private searchDecisions; /** * Lists decisions */ private listDecisions; /** * Gets a single decision */ private getDecision; /** * Updates a decision */ private updateDecision; /** * Accepts a decision */ private acceptDecision; /** * Deprecates a decision */ private deprecateDecision; /** * Supersedes a decision */ private supersedeDecision; /** * Asks a question about decisions */ private askDecisions; /** * Gets decision statistics */ private getDecisionStats; /** * Gets decisions for a file */ private getFileDecisions; /** * Gets the supersession chain */ private getDecisionChain; /** * Exports a single decision to markdown */ private exportDecision; /** * Exports all decisions to markdown */ private exportAllDecisions; /** * Gets the suggested filename for a decision */ private getSuggestedFilename; /** * Handles a resource read request */ private handleResourceRead; /** * Gets content for a resource based on params */ private getResourceContent; /** * Starts the MCP server */ start(): Promise; /** * Stops the MCP server */ stop(): Promise; /** * Gets the underlying service for testing */ getService(): ADRService; } /** * Creates and starts a new ADRFlow MCP server */ export declare function createServer(store: ADRStore, config?: ServerConfig): Promise; //# sourceMappingURL=server.d.ts.map