Skip to content

feat(mcp): Phase 2 — tools/call stdio contract#358

Merged
erishforG merged 1 commit into
release/1.0from
feat/auto-mcp-stdio-contract
Jun 15, 2026
Merged

feat(mcp): Phase 2 — tools/call stdio contract#358
erishforG merged 1 commit into
release/1.0from
feat/auto-mcp-stdio-contract

Conversation

@erishforG

Copy link
Copy Markdown
Owner

무엇

@erishforG

parsec mcp serve의 stdio JSON-RPC skeleton에 tools/call request contract를 추가했습니다.

Refs #293

Phase 2 transport에서 initializetools/list는 준비되어 있었지만, MCP clients가 다음으로 호출할 tools/call은 method-level placeholder만 있었습니다. 실제 tool dispatch 전 단계로 요청 shape와 응답 envelope를 고정합니다.

변경

  • tools/call params 검증 추가: name, optional object arguments, registered tool name
  • 등록된 tool 호출은 아직 실행하지 않고 MCP content block + isError: true skeleton 응답 반환
  • unknown tool은 JSON-RPC -32602 Invalid params로 명확히 실패
  • stdio smoke fixture에 tools/call registered/unknown cases 추가

다음 Phase 힌트

  • McpContext와 registry를 넘겨 실제 handler dispatch wiring
  • handler todo!() 제거 전에 mutating/dry_run 및 GitHub scope guard 추가
  • client fixture에 Claude Desktop/Cursor style tools/call recording 추가

리스크

Low. 변경은 src/mcp/tests/mcp/에만 제한되며 기존 CLI command behavior나 worktree/git core path를 건드리지 않습니다.

롤백

이 PR의 단일 커밋을 revert하면 기존 tools/call placeholder 상태로 돌아갑니다.

Test plan

  • cargo fmt --check
  • cargo build --quiet
  • cargo clippy --all-targets -- -D warnings
  • cargo test --quiet

Refs #293

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@erishforG erishforG added the auto-improvement Daily auto-generated improvement PR/issue label Jun 15, 2026
@erishforG erishforG merged commit 268c0b0 into release/1.0 Jun 15, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-improvement Daily auto-generated improvement PR/issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant