I use the official GitHub MCP server (https://github.com/github/github-mcp-server). Surprisingly, Bolt converts the LLM tool call parameter (
page
) from a number (
1
) to a boolean value (
true
).
LLM tool call:
{"page":1,"query":"[REMOVED]","perPage":10}
MCP request:
{"id":"9ED950C9-78F2-4FC4-92A6-CA8AA8E3B8F3","method":"tools\/call","params":{"name":"search_repositories","arguments":{"perPage":10,"query":"[REMOVED]","page":true}},"jsonrpc":"2.0"}
MCP response:
{"jsonrpc":"2.0","id":"9ED950C9-78F2-4FC4-92A6-CA8AA8E3B8F3","result":{"content":[{"type":"text","text":"parameter page is not of type float64, is bool"}],"isError":true}}
Tool schema:
{
"properties" : {
"page" : {
"minimum" : 1,
"description" : "Page number for pagination (min 1)",
"type" : "number"
},
"query" : {
"type" : "string",
"description" : "Search query"
},
"perPage" : {
"type" : "number",
"minimum" : 1,
"description" : "Results per page for pagination (min 1, max 100)",
"maximum" : 100
}
},
"type" : "object",
"required" : [
"query"
]
}