confirmed current project layer
Project-declared MCPs
The Stackmates project declaration is narrow. Its .mcp.json currently declares two servers.
Internal agent surface
MCP problems are usually scope problems before they are tool problems.
/doctor MCP issues can come from several layers at once: project declarations, host-global configuration, plugin caches, proxy transport, browser permissions, or stale authentication. Agents may inspect, explain, and classify. Humans own host-global remediation.
Boundary
Do not edit host-global MCP config, auth caches, plugin files, or Stackmates configuration from this page. Use this as the operating model, not a cleanup script.
Reality
A noisy MCP report is rarely a single list of broken tools. It is a stack of declarations, host-visible connectors, runtime permissions, and cached state.
confirmed current project layer
The Stackmates project declaration is narrow. Its .mcp.json currently declares two servers.
visible to sessions, not project-owned
Claude, plugins, browser helpers, and cached host surfaces can expose many more connectors to Stackmates sessions than the project declaration names.
often the source of noisy doctor findings
A connector can be conceptually useful and still fail today because its transport, proxy, browser tab, or auth state is stale.
/doctor categories
These categories describe observed MCP failure modes. They do not prove a connector is part of the project contract, and they do not authorize agent-side remediation.
A host cache still thinks a connector needs authentication, even if the current task does not need it.
Report the connector and owner. Do not refresh credentials or write auth files.
The request path is failing between client, proxy, and MCP process.
Treat as transport evidence. Prefer a cheaper CLI path if the job can still be done.
The server did not respond inside the client window, often because the process failed to start or is waiting on auth.
Classify as defer or auth until a human operator confirms the server is commissioned.
A browser MCP cannot access the required page, tab, profile, or permission scope.
Ask for explicit human setup only when browser inspection is necessary.
Installed plugin definitions can outlive the workflow that originally needed them.
Name the stale surface and recommend disable review. Do not mutate plugin files.
Excess tools enlarge the prompt surface and permission boundary before they create value.
Prefer the smallest sufficient toolset and mark unused connectors for disable review.
Dream
Every connector earns its place by job, scope, proof, and human ownership. A connector without an owner is not commissioned.
What work does this connector do that no cheaper path does well?
Is it read-only, write-capable, spend-capable, or identity-bearing?
Which human owns credentials, renewal, and revocation?
Which repos, accounts, databases, tabs, or documents may it touch?
What evidence shows the connector works and earns its token cost?
How does a human disable it quickly without breaking unrelated work?
When does it get re-justified, re-authenticated, or removed?
Bridge
Move from inventory to desired model to classification. Keep the human/operator boundary explicit.
01
Inventory what exists without mutating any host-global files.
Proof: Project declarations, visible session tools, observed doctor categories, and current task demand.
02
Define the desired scoped toolkit by job, not novelty.
Proof: Each connector has job, trust level, owner, scope, proof, kill switch, and review cadence.
03
Classify every visible connector as keep, auth, defer, disable, or replace with CLI.
Proof: A short classification list that explains why each connector earns or loses its place.
04
Hand host-global cleanup to a human/operator.
Proof: No agent writes to host config, auth caches, plugin files, or Stackmates MCP configuration.
Commissioned, working, scoped, and materially better than the CLI path.
Useful, but blocked on human-owned credentials or consent.
Potentially useful, but not needed for the current operating loop.
No named job, stale, noisy, or too broad for the value returned.
A deterministic CLI command is cheaper, clearer, and sufficient.
Potential
The useful question is not which connector is exciting. It is which job needs structured interactive tool access enough to justify token cost and permission scope.
Planning, demand, receipts, and project state through the commissioned engineering CLI.
Use when: The job is already expressible through the unified drmg entrypoint.
Current web research and cited external intelligence.
Use when: The answer depends on fresh or external evidence that local files cannot provide.
Repository, PR, issue, and CI state when structured API access beats shell output.
Use when: The task needs live GitHub objects or cross-repo coordination.
Current framework and library documentation.
Use when: A coding decision depends on API details that may have changed.
Workspace graph, project metadata, and affected target context.
Use when: The repo is an Nx workspace and graph context reduces guesswork.
Rendered page inspection, screenshots, permissions, and interaction evidence.
Use when: The claim is visual or browser-state dependent.
Deploy previews, runtime logs, and build failure inspection.
Use when: The failure appears only in hosted deployment.
Calendar, docs, sheets, drive, or mail reading where explicitly commissioned.
Use when: The task depends on workspace context and read scope is approved.
Schema and data inspection for commissioned databases.
Use when: A product or analytics task needs live database facts.
Operating rule