Skip to content

feat(mcp): CodeWhale-derived MCP lifecycle overhaul - #298

Open
raymondginger2018-sudo wants to merge 1 commit into
lessweb:mainfrom
raymondginger2018-sudo:feat/codewhale-mcp-lifecycle
Open

feat(mcp): CodeWhale-derived MCP lifecycle overhaul#298
raymondginger2018-sudo wants to merge 1 commit into
lessweb:mainfrom
raymondginger2018-sudo:feat/codewhale-mcp-lifecycle

Conversation

@raymondginger2018-sudo

Copy link
Copy Markdown

??

? MCP ??????????????,????? Hmbown/CodeWhale ? MCP ?????

??

  • ???: McpServerConfig.deferLoading ??????, ??????????? (ensureConnected) - ????????????
  • ??? + ????: stdio ??? spawn-key ??; ?????????/????????? MCP ??
  • per-server ?? + required: connectTimeoutMs ??????; required ???????
  • ????: enabledTools / disabledTools
  • ???: refreshServers ??? hash ??, ???????
  • ?????: initialize() ??????????, --exec ????
  • ?? MCP: ?? mcp-http-client.ts (streamable-http/SSE), url+headers ??
  • ??????: ? baseURL ???? /models ??
  • ????? 0.3.0

??

  • packages/core session ??: 89 ?? / 0 ??
  • ????: ???? / required / deferLoading (0?39 ??) / ???? / ??? ??
  • ???: 18 ? MCP server ?? --exec ~90s, ??????, ????????
  • core + cli ??????

- Lazy server connection: McpServerConfig.deferLoading skips startup connect;
  executeMcpTool/ensureConnected bring the server up on first use
- stdio connection pooling (spawn-key reuse) + process registry cleanup:
  aborted/interrupted runs no longer leave orphan MCP servers behind
- Per-server connectTimeoutMs + required flag: fast servers get tight
  timeouts, only required servers gate startup
- enabledTools/disabledTools filtering per server
- refreshServers hot reload (content-hash reconciliation)
- initialize() returns per-server failures; --exec prints a summary
- Remote MCP support (streamable-http/SSE) via mcp-http-client.ts
- Model catalog cache keyed by baseURL
- Bump version to 0.3.0

Derived from a study of Hmbown/CodeWhale's MCP server lifecycle design.
@raymondginger2018-sudo

Copy link
Copy Markdown
Author

Hi maintainers. This PR comes from a fork, so its GitHub Actions workflow runs are currently in action_required state, waiting for a maintainer to approve. Could you approve the runs when you get a chance so CI can verify the change? Thanks in advance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant