Skip to content

feat: require confirmation for state changes - #23

Open
Saluana wants to merge 1 commit into
akash-network:mainfrom
Saluana:agent/confirm-state-changing-tools
Open

feat: require confirmation for state changes#23
Saluana wants to merge 1 commit into
akash-network:mainfrom
Saluana:agent/confirm-state-changing-tools

Conversation

@Saluana

@Saluana Saluana commented Jul 18, 2026

Copy link
Copy Markdown

Summary

  • add MCP annotations for all tools, distinguishing read-only/local operations from destructive open-world operations
  • require confirm: true for every on-chain transaction, provider-state mutation, certificate revocation/regeneration, and container command execution
  • document the confirmation requirement and add MCP discovery coverage

Root cause

State-changing tools had the same presentation as read-only tools and accepted calls without an explicit confirmation field. This made it too easy for an agent to submit a transaction, modify a provider deployment, or execute a command without a deliberate final signal.

Impact

MCP clients can use standard risk annotations to present safer UX. Mutating tools now reject unconfirmed calls at schema validation before any handler or network action runs.

Validation

  • npm test — 67 tests passed
  • npm exec tsc -- --noEmit — passed
  • targeted ESLint — no new errors; repository contains two existing quote-style errors in regenerate-certificate.ts

@Saluana
Saluana marked this pull request as ready for review July 18, 2026 04:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant