npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dhedge/chamber-mcp

v0.1.1

Published

Chamber MCP — link vaults locally and expose them to AI agents via MCP

Downloads

350

Readme

Chamber MCP

Local-first MCP server for managing Chamber investment vaults. Trade, lend, add liquidity, and manage Toros leveraged token positions — from any AI agent that supports MCP.

Works with Claude Desktop, Cursor, Windsurf, Cline, VS Code, Gemini CLI, ChatGPT Desktop — anything that supports the Model Context Protocol.

How it works

AI agent (Claude, Cursor, etc.)
        │  MCP over stdio
        ▼
  chamber mcp -s all
        │
        ▼
  ~/.chamber/vaults.json   ←  encrypted private keys (AES-256, never leave your machine)
  ~/.chamber/.env          ←  RPC URLs, API keys
        │
        ▼
  dHEDGE v2 SDK  →  blockchain RPCs

Private keys are stored locally, encrypted with a machine-local key at ~/.chamber/.key. No cloud. No accounts.


Quick start

1. Set your API keys and RPC URLs

Create ~/.chamber/.env:

# Optional: required only if you want to route trades via Odos
ODOS_API_KEY=your-odos-api-key

# Optional: required only if you want to route trades via 1inch
ONEINCH_API_KEY=your-oneinch-api-key

# Recommended: use a private RPC for reliability (Alchemy, Infura, etc.)
ARBITRUM_RPC_URL=https://arb-mainnet.g.alchemy.com/v2/your-key
BASE_RPC_URL=https://base-mainnet.g.alchemy.com/v2/your-key
POLYGON_RPC_URL=https://polygon-mainnet.g.alchemy.com/v2/your-key
OPTIMISM_RPC_URL=https://opt-mainnet.g.alchemy.com/v2/your-key
ETHEREUM_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/your-key

Get an Odos API key at odos.xyz (free tier available).

2. Link your vault (private key never touches Claude)

npx @dhedge/chamber-mcp vault link --address 0xYourVaultAddress --network arbitrum
# prompts for your trader wallet private key
# The trader wallet is the EOA authorised by the vault manager to execute trades — set in the dHEDGE manager interface. Not the manager wallet, not a fresh wallet.

3. Add to Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "chamber": {
      "command": "npx",
      "args": ["-y", "@dhedge/chamber-mcp", "mcp", "-s", "all"]
    }
  }
}

For Cursor, Windsurf, Cline — add the same command in your MCP settings.

4. Restart Claude Desktop and start trading

"Show me what's in my vault 0x... on Arbitrum" "Buy ETHBULL3X with 1000 USDC on Arbitrum" "Lend 500 USDC to Aave on Arbitrum"


Commands

chamber vault link   --address <0x...> --network <network>   # link a vault
chamber vault list                                            # show linked vaults
chamber vault unlink --address <0x...> --network <network>   # remove a vault

chamber mcp -s all                 # started automatically by your MCP client

Supported networks: polygon optimism arbitrum base ethereum hyperliquid


Configuration

All configuration lives in ~/.chamber/:

| File | Purpose | |------|---------| | .env | RPC URLs and API keys (loaded automatically on startup) | | .key | Machine-local AES-256 encryption key (auto-generated) | | vaults.json | Encrypted vault private keys |

Supported environment variables:

| Variable | Description | |----------|-------------| | ODOS_API_KEY | Required for Toros trades. Get one at odos.xyz. | | ARBITRUM_RPC_URL | Arbitrum RPC endpoint | | BASE_RPC_URL | Base RPC endpoint | | POLYGON_RPC_URL | Polygon RPC endpoint | | OPTIMISM_RPC_URL | Optimism RPC endpoint | | ETHEREUM_RPC_URL | Ethereum RPC endpoint | | HYPERLIQUID_RPC_URL | Hyperliquid RPC endpoint |

Public RPCs are used as fallback for any variable not set.

MCP server modes — set via the -s flag in your MCP client config:

| Args | Mode | What's enabled | |------|------|----------------| | mcp (no flag) | Read-only | Vault info, composition, Toros products, Hyperliquid positions | | mcp -s trade | + Trading | Approve tokens, execute swaps, change assets | | mcp -s trade,toros | + Toros | Toros withdrawals and limit orders | | mcp -s trade,toros,lending | + Lending | Aave V3, Compound V3, Fluid | | mcp -s trade,toros,lending,lp | + Liquidity | Uniswap V3, Velodrome, Aerodrome, Pancake CL | | mcp -s all | Everything | All tools enabled |

Read-only mode is safe to grant to any AI client. Use -s all only with trusted agents.


MCP tools

Always available (read)

| Tool | Description | |------|-------------| | chamber_list_linked_vaults | List linked vaults on this machine | | chamber_get_vault_info | Vault name, manager, total value | | chamber_get_composition | Current holdings and balances | | chamber_estimate_trade | Estimate gas before executing | | chamber_get_toros_products | Browse Toros leveraged token products | | chamber_get_toros_deposit_assets | Valid deposit assets for a Toros pool | | chamber_toros_get_limit_order | Read active limit order | | chamber_toros_has_limit_order | Check if limit order exists | | chamber_get_nft_manager_address | NFT manager address for LP protocols | | chamber_price_to_tick | Convert price range to ticks for CL pools | | chamber_hyperliquid_get_positions | Perp + spot positions and PnL | | chamber_hyperliquid_get_open_orders | Unfilled orders on Hyperliquid |

-s trade

| Tool | Description | |------|-------------| | chamber_approve_token | Approve token for a DEX aggregator | | chamber_approve_spender | Approve token for any spender address | | chamber_execute_trade | Swap via Odos, 1inch, KyberSwap, Toros, Pendle, CoW | | chamber_change_assets | Update vault's enabled asset list |

-s toros

| Tool | Description | |------|-------------| | chamber_complete_toros_withdrawal | Claim tokens after Toros redemption | | chamber_toros_approve_limit_order | Approve token for limit order manager | | chamber_toros_create_limit_order | Set stop-loss / take-profit | | chamber_toros_modify_limit_order | Update existing limit order | | chamber_toros_delete_limit_order | Cancel limit order |

-s lending

| Tool | Description | |------|-------------| | chamber_aave_lend | Supply to Aave V3 | | chamber_aave_withdraw | Withdraw from Aave V3 | | chamber_aave_borrow | Borrow from Aave V3 | | chamber_aave_repay | Repay Aave V3 loan | | chamber_compound_lend | Supply to Compound V3 or Fluid | | chamber_compound_withdraw | Withdraw from Compound V3 or Fluid |

-s lp

| Tool | Description | |------|-------------| | chamber_lp_add | Open concentrated liquidity position | | chamber_lp_increase | Add liquidity to existing position | | chamber_lp_remove | Remove liquidity (partial or full) | | chamber_lp_claim_fees | Collect trading fees |

Supported protocols: Uniswap V3, Velodrome CL, Aerodrome CL, Pancake CL

-s hyperliquid

| Tool | Description | |------|-------------| | chamber_hyperliquid_deposit | Deposit USDC into Hyperliquid | | chamber_hyperliquid_perp_to_spot | Move USDC perp → spot wallet | | chamber_hyperliquid_withdraw | Withdraw USDC back to EVM vault | | chamber_hyperliquid_order | Open market order (long or short) | | chamber_hyperliquid_close_position | Close position by percentage |

Hyperliquid trading requires the vault to be deployed on the Hyperliquid network and whitelisted by dHEDGE.


Security

  • Private keys are AES-256-CBC encrypted using a randomly generated machine-local key (~/.chamber/.key)
  • Keys never leave your machine — no cloud server, no telemetry
  • Vault linking is CLI-only — private keys are never passed through Claude or logged
  • Run chamber mcp (no -s flag) for read-only access — safe to grant to AI clients by default
  • The -s all flag enables all write operations including on-chain transactions — use with trusted agents only

Related