@codervisor/devlog-mcp
Version:
MCP server for managing development logs and working notes
60 lines • 2.47 kB
TypeScript
/**
* MCP Adapter using HTTP API client
* Simplified version that only uses devlog operations through the web API
*/
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
import { DevlogApiClient, type DevlogApiClientConfig } from '../api/devlog-api-client.js';
import type { CreateDevlogArgs, UpdateDevlogArgs, ListDevlogsArgs, SearchDevlogsArgs, AddDevlogNoteArgs, UpdateDevlogWithNoteArgs, CompleteDevlogArgs, CloseDevlogArgs, GetDevlogArgs, DiscoverRelatedDevlogsArgs } from '../types/tool-args.js';
export interface MCPApiAdapterConfig {
/** Configuration for the underlying API client */
apiClient: DevlogApiClientConfig;
/** Default project ID to use */
defaultProjectId?: number;
/** Whether to automatically detect web service URL */
autoDiscoverWebService?: boolean;
}
/**
* MCP Adapter that communicates through HTTP API instead of direct core access
*/
export declare class MCPApiAdapter {
private apiClient;
private currentProjectId;
private initialized;
constructor(config: MCPApiAdapterConfig);
/**
* Initialize the adapter and test connection
*/
initialize(): Promise<void>;
/**
* Set the current project ID
*/
setCurrentProjectId(projectId: number): void;
/**
* Get the current project ID
*/
getCurrentProjectId(): number;
/**
* Get the underlying API client (for project tools)
*/
get manager(): DevlogApiClient;
createDevlog(args: CreateDevlogArgs): Promise<CallToolResult>;
updateDevlog(args: UpdateDevlogArgs): Promise<CallToolResult>;
getDevlog(args: GetDevlogArgs): Promise<CallToolResult>;
listDevlogs(args?: ListDevlogsArgs): Promise<CallToolResult>;
searchDevlogs(args: SearchDevlogsArgs): Promise<CallToolResult>;
addDevlogNote(args: AddDevlogNoteArgs): Promise<CallToolResult>;
updateDevlogWithNote(args: UpdateDevlogWithNoteArgs): Promise<CallToolResult>;
completeDevlog(args: CompleteDevlogArgs): Promise<CallToolResult>;
closeDevlog(args: CloseDevlogArgs): Promise<CallToolResult>;
archiveDevlog(args: {
id: number;
}): Promise<CallToolResult>;
unarchiveDevlog(args: {
id: number;
}): Promise<CallToolResult>;
discoverRelatedDevlogs(args: DiscoverRelatedDevlogsArgs): Promise<CallToolResult>;
dispose(): Promise<void>;
private ensureInitialized;
private handleError;
}
//# sourceMappingURL=mcp-api-adapter.d.ts.map