# Tabularium MCP server

> Provides AI agents with a persistent, hash-chained memory workspace and a signed spending ledger for verifiable USDC payments via x402.

- Repository: https://github.com/SQLazy/tabularium
- Page: https://hostedmcp.org/servers/sqlazy/tabularium
- Transport: stdio, remote
- Stars: 0
- Latest version: 0.5.5

## Install

### Claude Code

```sh
claude mcp add --env 'TABULARIUM_PRIVATE_KEY=<YOUR_TABULARIUM_PRIVATE_KEY>' tabularium -- npx -y tabularium-mcp
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "tabularium": {
      "command": "npx",
      "args": [
        "-y",
        "tabularium-mcp"
      ],
      "env": {
        "TABULARIUM_PRIVATE_KEY": "<YOUR_TABULARIUM_PRIVATE_KEY>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "tabularium": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "tabularium-mcp"
      ],
      "env": {
        "TABULARIUM_PRIVATE_KEY": "<YOUR_TABULARIUM_PRIVATE_KEY>"
      }
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"tabularium","type":"stdio","command":"npx","args":["-y","tabularium-mcp"],"env":{"TABULARIUM_PRIVATE_KEY":"<YOUR_TABULARIUM_PRIVATE_KEY>"}}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "tabularium": {
      "command": "npx",
      "args": [
        "-y",
        "tabularium-mcp"
      ],
      "env": {
        "TABULARIUM_PRIVATE_KEY": "<YOUR_TABULARIUM_PRIVATE_KEY>"
      }
    }
  }
}
```

### Codex

```sh
codex mcp add tabularium --env 'TABULARIUM_PRIVATE_KEY=<YOUR_TABULARIUM_PRIVATE_KEY>' -- npx -y tabularium-mcp
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.tabularium]
command = "npx"
args = ["-y", "tabularium-mcp"]

[mcp_servers.tabularium.env]
TABULARIUM_PRIVATE_KEY = "<YOUR_TABULARIUM_PRIVATE_KEY>"
```

### Gemini CLI

```sh
gemini mcp add -s user -e 'TABULARIUM_PRIVATE_KEY=<YOUR_TABULARIUM_PRIVATE_KEY>' tabularium npx -- -y tabularium-mcp
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "tabularium": {
      "command": "npx",
      "args": [
        "-y",
        "tabularium-mcp"
      ],
      "env": {
        "TABULARIUM_PRIVATE_KEY": "<YOUR_TABULARIUM_PRIVATE_KEY>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `TABULARIUM_PRIVATE_KEY` | yes | yes | 0x-prefixed EVM private key of the wallet that pays (use a dedicated wallet with a small USDC balance) |
| `TABULARIUM_MAX_SPEND_USD` | no | no | Spend cap for this server process, in USD |
| `TABULARIUM_PAY_MAX_USD` | no | no | tabularium_pay: most one purchase may cost, in USD (ceiling 0.50) |
| `TABULARIUM_PAY_NETWORKS` | no | no | tabularium_pay: comma-separated networks it may pay on; default is the service's own network. eip155:8453 is mainnet (real money). |
| `TABULARIUM_PUBKEY` | no | no | Optional pinned Ed25519 signing key (hex) that exports must verify against |
| `TABULARIUM_URL` | no | no | Service base URL (defaults to the public deployment) |

## Tools (10)

- `tabularium_menu`
- `tabularium_write`
- `tabularium_read`
- `tabularium_renew`
- `tabularium_export`
- `tabularium_head`
- `tabularium_verify`
- `tabularium_pay`
- `tabularium_ledger`
- `tabularium_reconcile`

## FAQ

### How do I pay for services using Tabularium?

The agent's EVM wallet pays for each call in USDC over the x402 protocol, and the wallet serves as the account.

### Do I need to sign up or use an API key?

No, there is no sign-up process or API key required; the wallet is the identity.

### Can I verify my spending history offline?

Yes, you can use the tabularium_export tool to get a full signed history and verify it offline without trusting the server.

### What happens if a payment call fails?

Failed calls (4xx/5xx) are never charged.
