/mcp/read— non-mutating queries (tools/list, balances, etc.)/mcp/write— mutating actions (issue grants, run payroll, freeze cards)/mcp/treasury— high-privilege treasury actions (kill switch, signer rotation)
apps/mcp/src/tools/.
Base URL
Three category-specific JSON-RPC endpoints:https://mcp.glide.co/mcp/read— non-mutating tools (accounts.balance,accounts.list,agents.list,audit.stream,payments.simulate,skills.list,transactions.list,x402.receive)https://mcp.glide.co/mcp/write— mutating tools (beneficiary.add,cards.freeze,cards.issue,payments.initiate,payroll.run,transfer.schedule,x402.pay)https://mcp.glide.co/mcp/treasury— high-privilege tools (agent.budget.create,agent.budget.revoke,agent.grant.issue,agent.grant.refresh,killSwitch.all,vault.rotateSigner,yield.allocate)
/mcp/read returns a confused-deputy error.
Auth
Every call must carry a Glide-issued grant JWT in theAuthorization header:
accounts:read, payments:initiate), tied to a specific principal + agent + entity, and have a short TTL. The MCP server performs a fresh database read on every call so a revoked grant fails closed immediately. To obtain a grant, complete the OAuth flow with your agent’s client_credentials.
Quick example
curl
All 22 tools
Step-up column:
always = every call requires principal biometric approval regardless of amount. conditional = required when the transfer amount exceeds the envelope’s step_up_amount_cents threshold. no = never step-up gated.
See Policy envelope for the full policy contract, Step-up flow for the biometric approval sequence, and Receipts for the audit trail format.
Read tools
Write tools
Treasury tools
Auth model
Every call must carry a Glide-issued grant JWT in theAuthorization: Bearer … header. Grants are scoped (e.g. agents:read, payments:write) and tied to a specific principal + agent + entity. The MCP server fresh-reads the tenant from the database on every call so a stolen grant against a stale tenant fails closed.
See /agents/policy-envelope for the policy contract Glide enforces on top of the grant.