@vulnzap/polymarket-veto-mcp
v0.1.1
Published
Guarded MCP sidecar for Polymarket CLI powered by Veto
Readme
@vulnzap/polymarket-veto-mcp
Guarded MCP sidecar for Polymarket CLI powered by Veto.
Tagline: Polymarket CLI, but safe for agents.
What it does
- Exposes explicit Polymarket MCP tools (no arbitrary shell passthrough).
- Validates each tool call with Veto before execution.
- Defaults to simulation for mutating actions.
- Supports local deterministic policy enforcement out of the box.
- Supports optional cloud validation when configured in
veto/veto.config.yaml.
Install and run
npx @vulnzap/polymarket-veto-mcp serveBy default this starts stdio MCP transport with:
- policy profile:
defaults - simulation mode:
on - live trading:
disabledunless explicitly enabled
Commands
npx @vulnzap/polymarket-veto-mcp serve \
--policy-profile defaults \
--simulation on \
--transport stdio
npx @vulnzap/polymarket-veto-mcp doctor
npx @vulnzap/polymarket-veto-mcp print-tools
npx @vulnzap/polymarket-veto-mcp print-configTool set
Read-only tools:
markets_listmarkets_searchmarkets_getclob_bookclob_midpointclob_priceportfolio_positions
Mutating tools (policy-guarded):
order_create_limitorder_marketorder_cancelorder_cancel_allapprove_setctf_splitctf_mergectf_redeem
Not exposed:
wallet_importwallet_resetclob_delete_api_key
Configuration
Default config path: veto-agent/polymarket-veto.config.yaml
Key settings:
polymarket.binaryPathexecution.simulationDefaultexecution.allowLiveTradesexecution.maxCommandTimeoutMsmcp.transportveto.configDirveto.policyProfile
Veto root config and rules are expected under veto/.
Simulation vs live
Mutating tools execute as simulation by default.
To enable real execution, all of these must be true:
--simulation off(or config override)execution.allowLiveTrades: true- environment variable
ALLOW_LIVE_TRADES=true
Development
cd veto-agent
npm install
npm run typecheck
npm test
npm run build