Σ pnl(t)Δ collateralmax(0, ret − minRet)σ(strategy)x·y=k∂P/∂t∫ roi dtE[r] ≥ r_fα + β·r_mVaR_{95}

Quickstart

Three ways to connect to the Lockstep MCP server, depending on your setup.

1. Claude Desktop (easiest)

Add Lockstep to your claude_desktop_config.json:

{
  "mcpServers": {
    "lockstep": {
      "command": "node",
      "args": ["/path/to/lockstep-MCP/server/dist/index.js"],
      "env": {
        "RPC_URL": "https://sepolia.base.org",
        "LOCKSTEP_REGISTRY_ADDRESS": "0xd79a8569CDB6Aad548a91D0C3a9Bc3457C92014F",
        "LOCKSTEP_HOOK_ADDRESS": "0x98A2F2FbB313790a8fd115Dead91bfA1B7E8Ca40",
        "LOCKSTEP_INTERNAL_HOOK_ADDRESS": "0xde93d8B38548fE7ea498783b3E032AdCE05680c0",
        "LOCKSTEP_ROUTER_ADDRESS": "0xE4af644160310f81C0171A2F040CDb43bE2BE70B"
      }
    }
  }
}

Restart Claude Desktop. Ask it: "List active Lockstep proposals" — it should call the list_proposals tool automatically.

2. Custom TypeScript client

Minimal example using @modelcontextprotocol/sdk/client:

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

const transport = new StdioClientTransport({
  command: "node",
  args: ["./lockstep-MCP/server/dist/index.js"],
});

const client = new Client(
  { name: "my-bot", version: "1.0.0" },
  { capabilities: {} }
);
await client.connect(transport);

const result = await client.callTool({
  name: "list_proposals",
  arguments: { status: "funding", limit: 10 },
});

console.log(result.content);

3. Trading agent template

If you already cloned the trading agent template from examples/trading-agent/, you just need to fill in agent-config.yaml with the correct contract addresses and run:

npm install
npm run start

The agent connects to the Lockstep MCP server automatically via stdio transport. See the trading agent template page for full details.

Contract addresses

The addresses above are for Base Sepolia (testnet). For mainnet deployment, replace them with the production addresses listed in the protocol's deployment artifacts.