perfonext-build-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| load_build_statsA | Parse a Next.js .next directory and load route and chunk footprint data for later analysis. |
| get_largest_routesA | Rank the heaviest user-facing routes in a loaded Next.js build by emitted chunk bytes. |
| get_shared_chunksA | Rank the heaviest shared chunks in a loaded Next.js build and show which routes depend on them. |
| compare_buildsA | Compare two loaded Next.js builds and show which routes and chunks grew or shrank the most. |
| explain_growthA | Identify which routes and chunks are responsible for bundle size growth between two loaded builds. Returns severity-ranked route findings, the top growing chunks, and an overall regression summary. |
| how_to_collect_statsA | Explain how to generate the webpack stats file (.next/stats.json) required by the bundle attribution tools. Choose manual (a recipe you apply yourself) or automatic (an action plan Copilot executes). |
| load_webpack_statsA | Parse the webpack module stats file (.next/stats.json) and link it to a build loaded with load_build_stats. Unlocks the stats-powered tools: suggest_optimizations (enriched), find_duplicates, explain_shared_chunks, and trace_import. |
| trace_importA | Explain why a module is bundled by tracing its import chain from an entry point to the module. moduleSizeBytes is the unminified webpack module size, not emitted chunk size. Requires load_webpack_stats first. |
| find_duplicatesA | Find npm packages whose code is bundled into more than one chunk, wasting bytes, ranked by wasted bytes. Requires load_webpack_stats first. |
| explain_shared_chunksA | Show which npm packages and app code dominate the shared chunks loaded by many routes, to identify what bloats common bundles. Each package reports its unminified webpack module size, its share of the chunk's module bytes, and that share applied to the chunk's emitted size. Requires load_build_stats and load_webpack_stats first. |
| suggest_optimizationsA | Aggregate route, chunk, and (when loaded) webpack-stats evidence into severity-ranked, evidence-backed bundle optimizations tied to concrete Next.js actions. Every suggestion is sized in emitted on-disk bytes. Works on manifests alone; load_webpack_stats first for dedupe, shared-chunk, and package-import suggestions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools have clearly distinct purposes, but compare_builds and explain_growth overlap in analyzing build differences, and get_shared_chunks vs explain_shared_chunks could be confused at first glance. The descriptions and dependency notes help disambiguate, so it is mostly clear.
Tool names largely follow a verb_noun snake_case pattern, with load_, get_, compare_, explain_, and suggest_ prefixes. The one outlier is how_to_collect_stats, which uses a non-standard how_to_ prefix but remains readable and understandable.
With 11 tools, the server is well-scoped for its purpose of Next.js bundle analysis. Each tool contributes to a distinct part of the workflow: data collection, loading stats, analysis, comparison, and optimization recommendations.
The tool set covers the full analysis lifecycle: collecting stats, loading build and webpack data, identifying large routes and shared chunks, finding duplicates, tracing imports, comparing builds, explaining growth, and suggesting optimizations. No significant gaps are apparent for the stated domain.