gitaiflow MCP — MCP Inspector Verification
MCP Inspector is the protocol-level verification layer.
On this page ▾
It should be used after the native or Docker server has already passed its runtime checks.
1. What Inspector proves
flowchart LR
Inspector["MCP Inspector"]
Init["initialize"]
Session["MCP session"]
Tools["tools/list"]
Schema["tool schemas"]
Call["tools/call"]
Result["MCP result"]
Inspector --> Init --> Session --> Tools --> Schema --> Call --> ResultInspector verifies the MCP contract.
It does not replace direct gitaiflow testing.
2. Choose the server
Native
Start:
python -m mcp_server.serverConnect:
http://localhost:8080/mcpDocker
Start the Docker server using:
MCP-DOCKER-VERIFICATION.mdConnect:
http://localhost:8080/mcpThe endpoint is the same; the runtime boundary is different.
3. Start Inspector
npx -y @modelcontextprotocol/inspector@latestConnect to:
http://localhost:8080/mcpProvide:
Authorization: Bearer <MCP_API_TOKEN>4. Connection verification
Verify:
server name: gitaiflow
server version: 1.1.3
transport: STREAMABLE-HTTP
session: established
protocol: negotiated5. Tool discovery
Run tools/list.
All six tools must be present:
gitaiflow_change_summary
gitaiflow_last_summary
gitaiflow_changelog
gitaiflow_release_notes
gitaiflow_usage
gitaiflow_list_models6. Schema verification
Verify required arguments:
gitaiflow_change_summary.remote
gitaiflow_changelog.remoteVerify optional arguments:
gitaiflow_change_summary.base_branch
gitaiflow_change_summary.path
gitaiflow_changelog.since
gitaiflow_changelog.until
gitaiflow_usage.scope
gitaiflow_usage.since
gitaiflow_usage.until
gitaiflow_list_models.free_only
gitaiflow_list_models.as_json7. Tool-call order
A useful first sequence is:
gitaiflow_list_models
↓
gitaiflow_usage
↓
gitaiflow_last_summaryThen test the tools requiring repository context:
gitaiflow_change_summary
gitaiflow_changelog
gitaiflow_release_notesUse the actual repository remote. Do not assume origin, gitlab, or another remote name.
8. Workspace rule for Docker
For the recommended multi-repository Docker layout, /workspace is the allowed parent workspace, not necessarily a Git repository itself.
For example:
/workspace/
├── gitaiflow/.git
├── djangoplay-cli/.git
└── issuetracker/.gitIf the tool accepts a repository path, select the repository by name:
path="gitaiflow"which resolves to:
/workspace/gitaiflowGit must report that directory as its repository root. You can verify it with:
docker exec gitaiflow-mcp sh -c \
'git -C /workspace/gitaiflow rev-parse --show-toplevel'Expected:
/workspace/gitaiflowDo not change the Docker mount to an individual repository merely to make this call work. The parent workspace is what allows Inspector and Claude to select sibling repositories as well.
9. Rate limiting
The application default is:
MCP_RATE_LIMIT=5
MCP_RATE_WINDOW_SECONDS=60Repeated manual Inspector requests can consume this window quickly.
For local development use:
MCP_RATE_LIMIT=100
MCP_RATE_WINDOW_SECONDS=60After changing .mcp.env, restart the MCP server/container.
A restart invalidates old MCP sessions, so reconnect Inspector.
10. Successful Inspector gate
Inspector is complete when:
[ ] connection established
[ ] authentication accepted
[ ] initialize succeeds
[ ] session established
[ ] tools/list succeeds
[ ] all six tools visible
[ ] schemas are correct
[ ] required arguments are enforced
[ ] optional arguments are available
[ ] valid tool calls succeed
[ ] MCP results are returnedAt this point the MCP protocol boundary is proven.
Next:
MCP-CLAUDE-DESKTOP.md