From a440e09cfe57b955c3cbbdcc43eaf84d33d9c6dc Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Tue, 7 Oct 2025 04:04:19 -0400 Subject: core: improve MCP reliability and add status monitoring - Added 5-second timeout to MCP client verification to prevent hanging connections - New GET /mcp endpoint to monitor server connection status - Automatically removes unresponsive MCP clients during initialization --- packages/sdk/js/src/gen/sdk.gen.ts | 15 +++++++++++++++ packages/sdk/js/src/gen/types.gen.ts | 16 ++++++++++++++++ 2 files changed, 31 insertions(+) (limited to 'packages/sdk/js/src/gen') diff --git a/packages/sdk/js/src/gen/sdk.gen.ts b/packages/sdk/js/src/gen/sdk.gen.ts index aea90daec..6bb1e115f 100644 --- a/packages/sdk/js/src/gen/sdk.gen.ts +++ b/packages/sdk/js/src/gen/sdk.gen.ts @@ -82,6 +82,8 @@ import type { AppLogResponses, AppAgentsData, AppAgentsResponses, + McpStatusData, + McpStatusResponses, TuiAppendPromptData, TuiAppendPromptResponses, TuiOpenHelpData, @@ -567,6 +569,18 @@ class App extends _HeyApiClient { } } +class Mcp extends _HeyApiClient { + /** + * Get MCP server status + */ + public status(options?: Options) { + return (options?.client ?? this._client).get({ + url: "/mcp", + ...options, + }) + } +} + class Tui extends _HeyApiClient { /** * Append prompt to the TUI @@ -724,6 +738,7 @@ export class OpencodeClient extends _HeyApiClient { find = new Find({ client: this._client }) file = new File({ client: this._client }) app = new App({ client: this._client }) + mcp = new Mcp({ client: this._client }) tui = new Tui({ client: this._client }) auth = new Auth({ client: this._client }) event = new Event({ client: this._client }) diff --git a/packages/sdk/js/src/gen/types.gen.ts b/packages/sdk/js/src/gen/types.gen.ts index c255cc69c..cc94c1f1f 100644 --- a/packages/sdk/js/src/gen/types.gen.ts +++ b/packages/sdk/js/src/gen/types.gen.ts @@ -2070,6 +2070,22 @@ export type AppAgentsResponses = { export type AppAgentsResponse = AppAgentsResponses[keyof AppAgentsResponses] +export type McpStatusData = { + body?: never + path?: never + query?: { + directory?: string + } + url: "/mcp" +} + +export type McpStatusResponses = { + /** + * MCP server status + */ + 200: unknown +} + export type TuiAppendPromptData = { body?: { text: string -- cgit v1.2.3