[mcp-analysis] MCP Structural Analysis - 2026-04-27 #28718
Closed
Replies: 1 comment
-
|
This discussion was automatically closed because it expired on 2026-04-28T12:35:59.097Z.
|
Beta Was this translation helpful? Give feedback.
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.
-
Tested 9 representative GitHub MCP tools across 9 toolsets. Average usefulness rating: 3.0/5. Best:
get_label(5/5 — minimal and flat). Worst:get_me(1/5 — 403 in this integration) andsearch_code/list_code_scanning_alerts(2/5 — severely bloated). Total tokens consumed across all tool calls: 9,416.Full Structural Analysis Report
Executive Summary
get_label: 5/5get_me: 1/5 (403 error in this integration)get_file_contents(README): 2,750 tokensget_label: 33 tokensUsefulness Ratings for Agentic Work
get_labellist_workflowsper_pageparameter ignored (returns 30)list_discussionspageInfo+totalCountlist_issueslist_pull_requestsbase.repo/head.repoadds redundant depthget_file_contentslist_code_scanning_alertsrule.helpembeds full CWE documentation (~1,500 tokens per alert)search_codeget_meSchema Analysis
get_labellist_discussionslist_workflows{total_count, workflows[]}list_issueslist_pull_requestsget_file_contentslist_code_scanning_alertssearch_codeget_meResponse Size Analysis
get_file_contents(README.md, 11KB)list_code_scanning_alerts(2 critical alerts)list_workflows(returned 30 of 268)list_issues(1 issue with full body)search_code(1 result with full repo metadata)list_pull_requests(1 PR with body)list_discussions(1 item)get_me(error response)get_label(single label)Key Findings
Bloat patterns identified:
rule.helpin code scanning: Each alert includes full CWE documentation as a multi-paragraph help text. For a page of 30 alerts this could consume ~45,000 tokens — the entire context budget of some models. Agents should filter this field out or use thehtml_urlto fetch details on demand.Issue/PR bodies: Both
list_issuesandlist_pull_requestsalways return the full body text. For discovery/triage tasks, agents only neednumber,title,state, andlabels. Bodies should only be fetched per-item viagetmethods.search_coderepository object: Every search result item embeds a full repository hypermedia object with 40+ URL template fields (archive_url,assignees_url, etc.). These add ~300 tokens per result and are never needed by agents — thehtml_urlalone suffices.per_pagenot honored onlist_workflows: Passingper_page: 1returned 30 items. Agents cannot rely on this for context control with this tool.Recommendations
get_label,list_discussions,list_workflows— use freelygetmethods, notlistfor issues and PRs to avoid body bloatseverity: criticalfilter; strip or ignorerule.helpfield in agent processingitems[].pathanditems[].html_url; discard therepositorysub-objectlist_discussions(150 tokens/page) >get_label(33 tokens) for metadata lookupsVisualizations
Response Size by Tool
Usefulness Ratings
Tokens by Toolset
Size vs Usefulness
30-Day Trend Summary
References: §24994722878
Beta Was this translation helpful? Give feedback.
All reactions