Repository navigation
[mcp-analysis] MCP Structural Analysis - 2026-08-17 #53367
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by GitHub MCP Structural Analysis. A newer discussion is available at Discussion #53673. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Ran a structural + size analysis across 12 GitHub MCP tool calls (one representative per toolset, plus one substitution and one supplementary probe). No historical data existed yet, so this is day 1 of a 30-day rolling trend.
Key findings: average usefulness 3.25/5 across tools tested. Best:
github_context(workflow-injected block, 5/5) andlist_workflowsvia the mcpscripts wrapper (5/5, clean pagination, no boilerplate). Worst:get_teams(blocked — permission not granted to this session) andsearch_code(hit a GitHub secondary rate limit, HTTP 429). The single biggest structural inefficiency found: nearly every built-in GitHub MCP response embeds a ~625-token-per-icon base64 PNG blob in_meta.serverInfo.icons(light+dark), which is pure branding overhead repeated on every call — for small lookups likeget_labelthis overhead was ~98% of the response size.Full Structural Analysis Report
Executive Summary
github_context/list_workflows(wrapper): 5/5get_teams/search_code: 1/5Usefulness Ratings for Agentic Work
Schema Analysis
Response Size Analysis
Tool-by-Tool Analysis
30-Day Trend Summary
Recommendations
github_context,list_workflows(mcpscripts wrapper),list_pull_requests,list_code_scanning_alerts,list_discussions,search_issues— favor these projections and thefields/perPagefilters when available.list_label(add pagination — it currently has no way to scope below the full 884-label catalog),get_teams(session-level permission gate blocks the whole context toolset),search_code(no backoff/retry guidance surfaced when rate-limited).github_context,list_pull_requests,list_code_scanning_alerts,search_issues.get_file_contents(6200 tokens, unavoidable without range support) andlist_label(2300 tokens, no scoping available)._meta.serverInfoon nearly every response. This is fixed overhead independent of payload size and disproportionately hurts small single-object lookups (get_label,list_discussionsat n=1). Custom wrappers (like the mcpscriptslist_workflows) that drop this metadata show meaningfully better tokens-to-signal ratios.Visualizations
Response Size by Toolset
Usefulness Ratings
Daily Token Trend
Size vs Usefulness
All reactions