Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

MCP server that dies after connecting shows "connected" forever and is never reconnected

オープン 初心者向け
#166 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
72/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
typescript
領域
backend

調査の方向性

src/main/tools/mcp.tsから始め、特にMcpHub.connectOneと、issueで説明されているクライアント状態の処理を確認してください。MCP SDKが接続のクローズをどのように通知するかを確認し、その後、listToolsの後に終了するstdioフィクスチャを追加してください。サーバーの終了後にstatus()がエラーを報告し、refresh()で再接続できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

bug priority: medium severity: medium

Found in the 2026-10-07 code review (traced through MCP SDK 1.31.0).

Problem

McpHub.connectOne (src/main/tools/mcp.ts:100-141) never sets client.onclose. When a stdio server crashes or an HTTP session drops, the SDK clears its transport (protocol.js:268) and later calls throw Not connected. state.client stays set, though:

  • status() reports connected.
  • The tools are still offered to the model, and every call fails.
  • connectOne returns early for an unchanged config, so a refresh doesn't reconnect either.

Fix

client.onclose = () => {
  if (state.client !== client) return;
  state.client = null;
  state.tools = [];
  state.listed = [];
  state.error = 'The server closed the connection.';
  this.onToolsChanged();
};

Optionally reconnect on the next refresh. Test: a stdio fixture that exits after listTools → status() reports an error and refresh() reconnects.

主要言語
TypeScript
スター
2
フォーク
2
平均マージ
5時間 52分
マージ済み PR(30日)
18

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

PierrunoYT/patch のほかの issue

PierrunoYT/patch の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。