Skip to content

pullNumber cannot be parsed into Pull Request tools: "parameter pullNumber is not of type float64" #533

Closed as not planned
@vitalii-mahlona

Description

@vitalii-mahlona

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}}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions