Files
stack/apps/api/src/mcp/interfaces/mcp-message.interface.ts
T
jason.woltjeandClaude Opus 4.5 b8805cee50 feat(#132): port MCP (Model Context Protocol) infrastructure
Implement MCP Phase 1 infrastructure for agent tool integration with
central hub, tool registry, and STDIO transport layers.

Components:
- McpHubService: Central registry for MCP server lifecycle
- StdioTransport: STDIO process communication with JSON-RPC 2.0
- ToolRegistryService: Tool catalog management
- McpController: REST API for MCP management

Endpoints:
- GET/POST /mcp/servers - List/register servers
- POST /mcp/servers/:id/start|stop - Lifecycle control
- DELETE /mcp/servers/:id - Unregister
- GET /mcp/tools - List tools
- POST /mcp/tools/:name/invoke - Invoke tool

Features:
- Full JSON-RPC 2.0 protocol support
- Process lifecycle management
- Buffered message parsing
- Type-safe with no explicit any types
- Proper cleanup on shutdown

Tests: 85 passing with 90.9% coverage

Fixes #132

Co-Authored-By: Claude Opus 4.5 <[email protected]>
2026-01-31 13:07:58 -06:00

48 lines
813 B
TypeScript

/**
* JSON-RPC 2.0 request message for MCP
*/
export interface McpRequest {
/** JSON-RPC version */
jsonrpc: "2.0";
/** Request identifier */
id: string | number;
/** Method name to invoke */
method: string;
/** Optional method parameters */
params?: unknown;
}
/**
* JSON-RPC 2.0 error object
*/
export interface McpError {
/** Error code */
code: number;
/** Error message */
message: string;
/** Optional additional error data */
data?: unknown;
}
/**
* JSON-RPC 2.0 response message for MCP
*/
export interface McpResponse {
/** JSON-RPC version */
jsonrpc: "2.0";
/** Request identifier (matches request) */
id: string | number;
/** Result data (present on success) */
result?: unknown;
/** Error object (present on failure) */
error?: McpError;
}