github-pr-control-mcpv1.0.1
We installed this server in an isolated sandbox, spoke the MCP protocol to it, and called its tools with inputs generated from their own schemas. Every line below is an observation, not an opinion — there is no composite score to hide behind.
31
verified
8
unverifiable
0
failed
Tools
8 tools exercised — 0 functionally verified, 8 structurally verified (need real credentials)
| Tool | Schema | Callable | Returns result | Rejects bad input |
|---|---|---|---|---|
| list_prs | ||||
| get_pr | ||||
| get_pr_diff | ||||
| list_pr_comments | ||||
| post_review_comment | ||||
| submit_review | ||||
| add_labels | ||||
| request_changes |
verified by execution · unverifiable — the tool executed but needs real credentials or data to confirm success; this never counts against the server · failed — the evidence contradicts the claim · — not applicable (e.g. no required parameters to probe)
Lens
Startup & registration
The server was installed, built, and started in an isolated sandbox; registered tools were cross-checked against the documentation.
MCP server starts and responds to tools/list
Server started; 8 tool(s) registered: list_prs, get_pr, get_pr_diff, list_pr_comments, post_review_comment, submit_review, add_labels, request_changes.
README documents every registered tool
All 8 registered tools appear in the README.
Lens
Protocol compliance
MCP handshake, identity, capabilities, a clean stdio channel, and shutdown behavior — observed, not assumed.
Implements the MCP initialize handshake
Responded with protocolVersion 2024-11-05.
Declares server identity (serverInfo)
serverInfo: github-pr-control-mcp v1.0.1.
Declares the tools capability
capabilities.tools declared during initialize.
Keeps stdout clean for JSON-RPC (no log noise on the protocol channel)
Every stdout line parsed as JSON-RPC.
Shuts down cleanly when the client disconnects (stdin closed)
Process exited on its own after stdin closed.
Lens
Tool schemas
Every registered tool inspected for a description and a well-formed, typed input schema.
Tool `list_prs` declares a valid, typed input schema
Described, inputSchema is a typed object (8 parameter(s)).
Tool `get_pr` declares a valid, typed input schema
Described, inputSchema is a typed object (3 parameter(s)).
Tool `get_pr_diff` declares a valid, typed input schema
Described, inputSchema is a typed object (5 parameter(s)).
Tool `list_pr_comments` declares a valid, typed input schema
Described, inputSchema is a typed object (6 parameter(s)).
Tool `post_review_comment` declares a valid, typed input schema
Described, inputSchema is a typed object (10 parameter(s)).
Tool `submit_review` declares a valid, typed input schema
Described, inputSchema is a typed object (5 parameter(s)).
Tool `add_labels` declares a valid, typed input schema
Described, inputSchema is a typed object (4 parameter(s)).
Tool `request_changes` declares a valid, typed input schema
Described, inputSchema is a typed object (4 parameter(s)).
Lens
Tool execution
Every tool actually called with inputs generated from its own schema. This is the part a badge cannot fake.
Tool `list_prs` responds to a schema-valid call without crashing
Responded to the call; server stayed up.
Tool `list_prs` returns a successful result for a schema-generated input
Executed but returned a tool error: "Bad credentials - https://docs.github.com/rest" — confirming success needs real credentials/data (structurally verified only).
Tool `get_pr` responds to a schema-valid call without crashing
Responded to the call; server stayed up.
Tool `get_pr` returns a successful result for a schema-generated input
Executed but returned a tool error: "Bad credentials - https://docs.github.com/rest" — confirming success needs real credentials/data (structurally verified only).
Tool `get_pr_diff` responds to a schema-valid call without crashing
Responded to the call; server stayed up.
Tool `get_pr_diff` returns a successful result for a schema-generated input
Executed but returned a tool error: "Bad credentials - https://docs.github.com/rest" — confirming success needs real credentials/data (structurally verified only).
Tool `list_pr_comments` responds to a schema-valid call without crashing
Responded to the call; server stayed up.
Tool `list_pr_comments` returns a successful result for a schema-generated input
Executed but returned a tool error: "Bad credentials - https://docs.github.com/rest" — confirming success needs real credentials/data (structurally verified only).
Tool `post_review_comment` responds to a schema-valid call without crashing
Responded to the call; server stayed up.
Tool `post_review_comment` returns a successful result for a schema-generated input
Executed but returned a tool error: "Bad credentials - https://docs.github.com/rest" — confirming success needs real credentials/data (structurally verified only).
Tool `submit_review` responds to a schema-valid call without crashing
Responded to the call; server stayed up.
Tool `submit_review` returns a successful result for a schema-generated input
Executed but returned a tool error: "Bad credentials - https://docs.github.com/rest" — confirming success needs real credentials/data (structurally verified only).
Tool `add_labels` responds to a schema-valid call without crashing
Responded to the call; server stayed up.
Tool `add_labels` returns a successful result for a schema-generated input
Executed but returned a tool error: "Bad credentials - https://docs.github.com/rest" — confirming success needs real credentials/data (structurally verified only).
Tool `request_changes` responds to a schema-valid call without crashing
Responded to the call; server stayed up.
Tool `request_changes` returns a successful result for a schema-generated input
Executed but returned a tool error: "Bad credentials - https://docs.github.com/rest" — confirming success needs real credentials/data (structurally verified only).
Lens
Error handling
Every tool with required parameters called with them missing — a robust server errors gracefully and stays up.
Tool `list_prs` rejects invalid input gracefully (missing required parameters)
Returned a proper error and stayed alive.
Tool `get_pr` rejects invalid input gracefully (missing required parameters)
Returned a proper error and stayed alive.
Tool `get_pr_diff` rejects invalid input gracefully (missing required parameters)
Returned a proper error and stayed alive.
Tool `list_pr_comments` rejects invalid input gracefully (missing required parameters)
Returned a proper error and stayed alive.
Tool `post_review_comment` rejects invalid input gracefully (missing required parameters)
Returned a proper error and stayed alive.
Tool `submit_review` rejects invalid input gracefully (missing required parameters)
Returned a proper error and stayed alive.
Tool `add_labels` rejects invalid input gracefully (missing required parameters)
Returned a proper error and stayed alive.
Tool `request_changes` rejects invalid input gracefully (missing required parameters)
Returned a proper error and stayed alive.
Link this report
Maintainers: add the badge to your README so agents and buyers can check the receipts.
[](https://archimedes.market/mcp-report/nexicturbo/github-pr-control-mcp)
Verified Sep 6, 2026 · verifier v1 · re-verified on request after fixes