{
  "slug": "git-reference",
  "name": "Git (reference)",
  "author": "MCP steering group",
  "category": "Reference servers",
  "tier": "checkable",
  "kind": "stdio",
  "packageSpec": "pypi:mcp-server-git@2026.10.28",
  "sourceUrl": "https://github.com/modelcontextprotocol/servers/tree/main/src/git",
  "repoUrl": "https://github.com/modelcontextprotocol/servers",
  "enrichment": {},
  "current": {
    "verdict": "alive",
    "reason": "all_passed",
    "failedChecks": [],
    "untestedTools": 7,
    "checkedAt": "2026-10-29T07:03:28.451Z",
    "methodologyVersion": "1.0.0",
    "serverVersion": "2026.10.28",
    "checks": [
      {
        "id": "L0.reachable",
        "detail": "http undefined",
        "status": "pass",
        "durationMs": 26243
      },
      {
        "id": "L0.tls",
        "status": "skipped"
      },
      {
        "id": "L0.initialize",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"capabilities\":{\"prompts\":{\"listChanged\":false},\"resources\":{\"listChanged\":false,\"subscribe\":false},\"tools\":{\"listChanged\":false}},\"protocolVersion\":\"2025-11-25\",\"serverInfo\":{\"name\":\"mcp-git\",\"version\":\"2026.10.28\"}}}"
        },
        "durationMs": 26243
      },
      {
        "id": "L0.protocol_version",
        "detail": "server reported \"2025-11-25\"; published versions: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25",
        "status": "pass"
      },
      {
        "id": "L0.capabilities",
        "detail": "prompts, resources, tools",
        "status": "pass"
      },
      {
        "id": "L1.server_info",
        "detail": "mcp-git 2026.10.28",
        "status": "pass"
      },
      {
        "id": "L1.tools_list",
        "detail": "12 tools",
        "status": "pass"
      },
      {
        "id": "L1.tool_schemas",
        "detail": "12 schemas valid",
        "status": "pass"
      },
      {
        "id": "L1.resources_list",
        "detail": "0 entries",
        "status": "pass"
      },
      {
        "id": "L1.prompts_list",
        "detail": "0 entries",
        "status": "pass"
      },
      {
        "id": "L1.unknown_method",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":5,\"error\":{\"code\":-32601,\"message\":\"Method not found\",\"data\":\"knot/verified-probe-unknown-method\"}}"
        },
        "durationMs": 9
      },
      {
        "id": "L1.envelope",
        "detail": "5 replies valid",
        "status": "pass"
      },
      {
        "id": "L2.call_ok",
        "tool": "git_add",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "git_branch",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":6,\"result\":{\"content\":[{\"text\":\"Error executing tool git_branch: /knot-verified-probe\",\"type\":\"text\"}],\"isError\":true}}",
          "arguments": {
            "repo_path": "knot-verified-probe",
            "branch_type": "knot-verified-probe"
          }
        },
        "durationMs": 17
      },
      {
        "id": "L2.bad_input",
        "tool": "git_branch",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":7,\"result\":{\"content\":[{\"text\":\"Error executing tool git_branch: 2 validation errors for branchArguments\\nrepo_path\\n  Field required [type=missing, input_value={}, input_type=dict]\\n    For further information visit https://errors.pydantic.dev/2.14/v/missing\\nbranch_type\\n  Field required [type=missing, input_value={}, input_type=dict]\\n    For further information visit https://errors.pydantic.dev/2.14/v/missing\",\"type\":\"text\"}],\"isError\":true}}",
          "arguments": {}
        },
        "durationMs": 14
      },
      {
        "id": "L2.call_ok",
        "tool": "git_checkout",
        "detail": "not_annotated_read_only",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "git_commit",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "git_create_branch",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "git_diff",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":8,\"result\":{\"content\":[{\"text\":\"Error executing tool git_diff: /knot-verified-probe\",\"type\":\"text\"}],\"isError\":true}}",
          "arguments": {
            "target": "knot-verified-probe",
            "repo_path": "knot-verified-probe"
          }
        },
        "durationMs": 14
      },
      {
        "id": "L2.bad_input",
        "tool": "git_diff",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":9,\"result\":{\"content\":[{\"text\":\"Error executing tool git_diff: 2 validation errors for diffArguments\\nrepo_path\\n  Field required [type=missing, input_value={}, input_type=dict]\\n    For further information visit https://errors.pydantic.dev/2.14/v/missing\\ntarget\\n  Field required [type=missing, input_value={}, input_type=dict]\\n    For further information visit https://errors.pydantic.dev/2.14/v/missing\",\"type\":\"text\"}],\"isError\":true}}",
          "arguments": {}
        },
        "durationMs": 11
      },
      {
        "id": "L2.call_ok",
        "tool": "git_diff_staged",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":10,\"result\":{\"content\":[{\"text\":\"Error executing tool git_diff_staged: /knot-verified-probe\",\"type\":\"text\"}],\"isError\":true}}",
          "arguments": {
            "repo_path": "knot-verified-probe"
          }
        },
        "durationMs": 16
      },
      {
        "id": "L2.bad_input",
        "tool": "git_diff_staged",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":11,\"result\":{\"content\":[{\"text\":\"Error executing tool git_diff_staged: 1 validation error for diff_stagedArguments\\nrepo_path\\n  Field required [type=missing, input_value={}, input_type=dict]\\n    For further information visit https://errors.pydantic.dev/2.14/v/missing\",\"type\":\"text\"}],\"isError\":true}}",
          "arguments": {}
        },
        "durationMs": 17
      },
      {
        "id": "L2.call_ok",
        "tool": "git_diff_unstaged",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":12,\"result\":{\"content\":[{\"text\":\"Error executing tool git_diff_unstaged: /knot-verified-probe\",\"type\":\"text\"}],\"isError\":true}}",
          "arguments": {
            "repo_path": "knot-verified-probe"
          }
        },
        "durationMs": 11
      },
      {
        "id": "L2.bad_input",
        "tool": "git_diff_unstaged",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":13,\"result\":{\"content\":[{\"text\":\"Error executing tool git_diff_unstaged: 1 validation error for diff_unstagedArguments\\nrepo_path\\n  Field required [type=missing, input_value={}, input_type=dict]\\n    For further information visit https://errors.pydantic.dev/2.14/v/missing\",\"type\":\"text\"}],\"isError\":true}}",
          "arguments": {}
        },
        "durationMs": 11
      },
      {
        "id": "L2.call_ok",
        "tool": "git_log",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":14,\"result\":{\"content\":[{\"text\":\"Error executing tool git_log: /knot-verified-probe\",\"type\":\"text\"}],\"isError\":true}}",
          "arguments": {
            "repo_path": "knot-verified-probe"
          }
        },
        "durationMs": 15
      },
      {
        "id": "L2.bad_input",
        "tool": "git_log",
        "status": "pass",
        "evidence": {
          "raw": "{\"jsonrpc\":\"2.0\",\"id\":15,\"result\":{\"content\":[{\"text\":\"Error executing tool git_log: 1 validation error for logArguments\\nrepo_path\\n  Field required [type=missing, input_value={}, input_type=dict]\\n    For further information visit https://errors.pydantic.dev/2.14/v/missing\",\"type\":\"text\"}],\"isError\":true}}",
          "arguments": {}
        },
        "durationMs": 12
      },
      {
        "id": "L2.call_ok",
        "tool": "git_reset",
        "detail": "mutation_name",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "git_show",
        "detail": "per_run_cap",
        "status": "untested"
      },
      {
        "id": "L2.call_ok",
        "tool": "git_status",
        "detail": "per_run_cap",
        "status": "untested"
      },
      {
        "id": "L2.timeout",
        "detail": "5 calls answered within 30000 ms",
        "status": "pass"
      }
    ],
    "metrics": {
      "callMs": [
        17,
        14,
        14,
        11,
        16,
        17,
        11,
        11,
        15,
        12
      ],
      "toolsListMs": 29,
      "initializeMs": 26243
    },
    "facts": {
      "authModel": "none",
      "transport": "stdio",
      "capabilities": [
        "prompts",
        "resources",
        "tools"
      ],
      "toolAnnotations": {
        "readOnly": 7,
        "unmarked": 4,
        "destructive": 1
      },
      "credentialsInUrl": false
    }
  },
  "l3": {
    "uptime": {
      "24h": null,
      "7d": 1,
      "30d": 1
    },
    "sampleSize": {
      "24h": 0,
      "7d": 1,
      "30d": 1
    },
    "latency": {
      "initialize": {
        "p50": null,
        "p95": null
      },
      "calls": {
        "p50": 14,
        "p95": 17
      }
    },
    "flakiness": null,
    "versionDrift": []
  },
  "history": [
    {
      "startedAt": "2026-10-29T07:03:01.924Z",
      "runKind": "full",
      "l0Ok": true,
      "verdict": "alive"
    }
  ]
}