Stacksona for MCP
Connect one MCP server and give the client the Gate tools directly.
At the MCP tool boundary that controls the real side effect.
The MCP client can keep normal reasoning and tool selection. Stacksona decides whether the final proposed call can proceed.
Connect the server
{
"mcpServers": {
"stacksona": {
"command": "stacksona-mcp-server",
"env": {
"STACKSONA_GATE_URL": "https://{gate-id}.stacksona.cloud",
"STACKSONA_API_KEY": "sg_your_api_key"
}
}
}
}Install first with npm install -g @stacksona/mcp-server.
The client gets these tools
stacksona_resolve_tools
stacksona_log_event
stacksona_request_decision
stacksona_request_decision_and_poll
stacksona_get_decision
stacksona_list_decisions
stacksona_submit_revision
stacksona_validate_approval_tokenCommon path
stacksona_request_decision_and_poll
task_id: refund-order-8821
tool_name: issue_refund
subject: Refund order #8821
payload: { order_id: "8821", amount: 500, currency: "usd" }
allow / approved -> forward exact call
reject / rejected -> stop
changes_requested -> revise and stacksona_submit_revisionThe helper follows the exact review thread and returns on changes_requested so the client can act on reviewer feedback.
Dynamic tools
Call stacksona_resolve_tools before model tool selection to load Gate's registered names, descriptions, and input schemas instead of duplicating those definitions in the client.
Long reviews
Persist thread_id outside the client session when work can pause for a long time. Resume with stacksona_get_decision, or discover recent review references with stacksona_list_decisions.
If the client can bypass the governed wrapper and call the raw domain tool directly, Stacksona is advisory. The wrapper that owns the side effect should require the Gate result before forwarding.