- The MCP server,
sauce mcp, gives the agent tools to compile, simulate and build transactions. - The agent skills explain SauceScript, each chain’s names and common integration patterns.
Prerequisites
- Node.js 24 or newer and a coding agent that supports MCP.
- The Sauce MCP server configured as described in Installation.
- A chain and a task to test. You do not need a funded wallet to compile a program or simulate it with an assumed balance.
sauce_ tools. The server provides the skills directly, so installing skill files in your project is optional.
What the agent gets
A server started with
--no-wallets --no-stores lists 18 tools. The default stdio server lists 27. MCP tools documents each tool’s inputs and outputs. No tool takes a private key or a password.
The skills
The skills follow the Agent Skills format.
sauce skills install writes them to:
.claude/skills/, for Claude Code;.agents/skills/, for Codex, Cursor, Copilot and Gemini CLI.
sauce_skills and sauce_skill, or as sauce://skills/<path> resources, with nothing installed in the project.
From a request to an unsigned transaction
Thesauce_write_program prompt takes two arguments:
task(required): what the program should do, in plain words;chain(optional):base,solanaor a chain id.
sauce-overview, sauce-script and sauce-cli, or sauce-solana in place of sauce-script for Solana. The agent then writes the program itself and follows these steps:
1
Look up names
sauce_globals for the chain returns the token symbols and protocol namespaces a program may use. Use registered names such as USDC and UniswapV3.Factory where available.2
Compile
The agent calls
sauce_compile and resolves any errors, which name the line and column. The result’s entryParams describes the inputs that main takes, passed later as args.3
Simulate
sauce_simulate runs the cook from the Pot’s owner against the chain’s current state. Its result lists what moved, or why the cook reverts. assumeBalance gives the Pot a balance for that simulation only.4
Check the Pot
sauce_pot returns the owner’s Pot address, whether it is deployed, the Kitchen’s fee and what the Pot holds.5
Build the transaction
sauce_tx returns the unsigned cook. If the Pot has no code yet, it returns the Kitchen’s deployPot first. Review the transaction plan before choosing a signing method.sauce_pot still returns the Pot’s address and balances, with a refused object in place of its deployment transaction. sauce_tx returns only refused, an error result naming the supported chains: Ethereum, Base, Arc and Solana, and the testnets Arc Testnet, Base Sepolia, Ethereum Sepolia, Solana Devnet and Solana Testnet.
A request to an agent can be as short as this:
sauce_simulate with the two values in args and assumeBalance: ["USDC:5"]. A cook that reverts comes back as an error result, with reverted: true and the revert reason. The program the agent writes is an ordinary .sauce.ts file, and sauce simulate with the same arguments prints the same outcome.
Signing
To disable local wallet tools, configure the server to start withsauce mcp --no-wallets. The server can still build unsigned transactions for an external wallet. This flag controls the MCP server’s tools; Agents, wallets and keys explains the access an agent may have outside those tools.
There are three ways to sign what the server builds:
- Your own wallet.
sauce_txreturns the unsigned transactions. Sign them in the wallet you already use, and broadcast them there or withsauce_send. - A wallet’s own MCP server. An agent can pass the unsigned transactions to a wallet’s own MCP server, which keeps its key away from the agent. See Sign with a wallet’s MCP server.
- The server’s own wallets, over stdio only. See the next section.
Wallets over stdio
A server your agent starts over stdio serves the wallets in~/.sauce/wallets, the same directory the sauce wallet command uses:
sauce_wallet_listandsauce_wallet_addressread them with no password.sauce_wallet_create,sauce_wallet_import,sauce_wallet_sendandsauce_signwork once the wallets are enabled. A password source given when the server starts enables them, for examplesauce mcp --password-env SAUCE_WALLET_PASSWORD. Without one, the agent callssauce_wallet_enable, naming where the password comes from (a variable of the server’s environment, a password file, a.envfile, or a new generated password file), never the password itself.sauce_wallet_sendsimulates what it is given and holds it to the wallet’s spending policy before it sends.
Next steps
- MCP tools: every tool, its inputs and outputs.
- Local server storage: the Pot store and the wallet directory.
- Self-hosting over HTTP: one server for a team.
- sauce skills: install, update and check the skills.
