mcp: remove madt_auth_login and madt_auth_use_ssh from the default tool list, or gate them #689
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea#689
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
madt_auth_loginandmadt_auth_use_sshload in every MCP session. Both are one-time setup operations. I run each one once per checkout, or never. Their schemas still cost context in every session:madt_auth_login: 2771 bytes measured (internal/mcp/schema_budget_test.go:123).madt_auth_use_ssh: 1536 bytes measured (internal/mcp/schema_budget_test.go:122).madt_auth_loginis in the always tier (internal/mcp/server.go:195-199), so it loads even in a session with no credentials (#89).madt_auth_use_sshloads with the credentialed tools (internal/mcp/tools_auth.go:82-84).The CLI already has both operations:
madtea auth login(internal/cmd/setup/setup.go:108) andmadtea auth use-ssh(internal/cmd/auth/use_ssh.go:27).This follows ADR 0015, which keeps rare tools out of the default list. It does not fork that ADR.
Options
I have not picked one yet.
madtea auth loginin a terminal.authdomain that loads throughmadt_enable(domains=["auth"]).madt_enableis in the always tier (internal/mcp/server.go:189), so a session with no credentials still reaches the login remedy in two calls. The #89 requirement then holds throughmadt_enable, not throughmadt_auth_loginitself. ADR 0015 lists the gated domains, so it needs an edit.Acceptance criteria
madt_auth_loginormadt_auth_use_ssh(option 2: untilmadt_enableloads theauthdomain).madt_auth_loginas a remedy names the new path. Known places: themadt_auth_whoamidescription (internal/mcp/tools_auth.go:94) and the foreign-repo refusal (internal/mcp/foreignrepo.go:405-409).internal/mcp/context_test.go:155, the entries inschema_budget_test.go,output_schema.go, andtool_meta.go, and the clean-room test (internal/mcp/cleanroom_acceptance_test.go:350) match the new surface.internal/parity/exposure_test.gomatch the live server.docs/COMPARISON.mdand the generated reference docs match.