Description
I'm using a custom MCP Client integrated with AWS Bedrock (anthropic.claude-3-haiku-20240307-v1:0) via the Converse API, and the GitHub MCP server (ghcr.io/github/github-mcp-server) to execute code review prompts on pull requests.
However, when I prompt the model to perform a code review for a PR (e.g., https://github.com/vitalii-mahlona/TestForMcpServer/pull/1), the execution of tools such as get_pull_request, get_pull_request_files, or get_pull_request_diff fails with decoding errors like:
decoding failed due to the following error(s):
'PullNumber' expected type 'int32', got unconvertible type 'string', value: '1335'
or
parameter pullNumber is not of type float64
Despite the tool invocation logs clearly passing the PR number as an integer (e.g., pullNumber: 1335), the system seems to treat it as a string, causing repeated failures and recursion attempts. This behavior is consistent across multiple pull requests and repositories, although list_pull_requests occasionally works.
Affected version
GitHub MCP Server
Version: v0.4.0
Commit: e9f748f
Build Date: 2025-05-23T13:06:55Z
Steps to reproduce the behavior
Run the GitHub MCP server using Docker:
docker run -p 8080:8080 -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN=[KEY] ghcr.io/github/github-mcp-server
Use MCP Client configured to communicate with:
AWS Bedrock's anthropic.claude-3-haiku-20240307-v1:0 model via Converse API
The running GitHub MCP server
Prompt the model to perform a code review on a PR, such as:
https://github.com/nice-illuminate/ILLUM-orchestration/pull/1335
Observe the logs where tools like get_pull_request are invoked with:
pullNumber: 1335
See the returned error messages about pull number type mismatch (string vs int32/float64), and repeated fallback attempts that also fail.
Expected vs actual behavior
Expected: all pull-request tools are successfully retrieves pullNumber parameter as a number
Actual: there is the issue with getting pullNumber parameter into pull request tools
Logs
2025-06-17 09:13:03 {"jsonrpc":"2.0","id":4,"result":{"content":[{"type":"text","text":"parameter pullNumber is not of type float64"}],"isError":true}}
2025-06-17 09:13:18 {"jsonrpc":"2.0","id":10,"result":{"content":[{"type":"text","text":"decoding failed due to the following error(s):\n\n'PullNumber' expected type 'int32', got unconvertible type 'string', value: '1335'"}],"isError":true}}