Deep MCP Trust Report

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)

ToolSchemaCallableReturns resultRejects 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.

[![Deep MCP Trust Report](https://img.shields.io/badge/MCP%20verified-31%20receipts-10b981)](https://archimedes.market/mcp-report/nexicturbo/github-pr-control-mcp)
Get your MCP server verified

Verified Sep 6, 2026 · verifier v1 · re-verified on request after fixes