@hashpower/mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HASHPOWER_ENV | No | The environment for the server: 'testnet' (Base Sepolia) or 'mainnet'. Defaults to 'testnet'. | testnet |
| HASHPOWER_RPC_URL | No | Ethereum JSON-RPC URL. Defaults to 'https://sepolia.base.org' for the testnet environment. | https://sepolia.base.org |
| HASHPOWER_DOCS_URL | No | URL for the semantics source. Defaults to 'https://dev.hashpower.io'. | https://dev.hashpower.io |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_deploymentsA | Return contract addresses, subgraph URLs, chain ID, and published @hashpower/*-abi package versions for the configured environment (testnet or mainnet). |
| get_market_rulesA | Agent-facing market semantics from hashpower.io /semantics (same source as GitBook). Omit slug to list the catalog; pass a slug such as futures-margin or perps-trading to fetch the markdown. |
| get_margin_modelB | Portfolio margin / IM / MM / liquidation rules for perps and futures. |
| get_units_and_scalingC | Oracle decimals, futures contract unit/ticks, and perps QUANTITY_DECIMALS / order scaling. |
| get_hashpriceA | Read the on-chain hashprice oracle via AggregatorV3 latestRoundData(). |
| get_orderbookA | On-chain CLOB prices. For futures, expirationAt (unix seconds) is required. Perps is a single perpetual book. |
| get_positionsC | Open positions and resting orders for a wallet from the public subgraphs. Wallet is a parameter — this server has no session. |
| get_margin_statusB | Vault balance, portfolio IM/MM, and isHealthy for a wallet (eth_call). |
| check_can_place_orderB | PortfolioMarginEngine.canPlaceOrder(wallet, additionalIM) — the pre-trade gate. additionalIM is integer token units (USDC 6 decimals). |
| simulate_orderA | On-chain simulateOrder view: would this price/qty fill, at what average? Positive qty = buy, negative = sell. Does not place an order. |
| build_deposit_txA | PROTOTYPE ONLY. Returns unsigned approve+deposit calldata. Simulate, then sign locally. Not for production bots. |
| build_order_txA | PROTOTYPE ONLY. Returns unsigned createOrder calldata. Run simulate_order and check_can_place_order first. Production bots encode via the npm ABI packages. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool targets a distinct resource or action: market rules, margin model, units/scaling, and deployments are clearly separated, while check_can_place_order, simulate_order, and build_order_tx form a clear pre-trade pipeline. There is no meaningful overlap that would cause an agent to select the wrong tool.
All tool names follow a consistent snake_case verb_noun pattern: read-only operations use get_, and simulation/build operations use descriptive verbs. The naming style is uniform and predictable across the entire toolset.
12 tools is a well-scoped count for a trading-domain MCP server. Each tool covers a distinct aspect—market data, account state, margin checks, simulation, and transaction building—without redundancy or bloat.
The toolset covers the core domain well: market semantics, live data, positions, margin status, order pre-flight checks, and unsigned transaction building. Obvious lifecycle operations like cancel or withdraw are not exposed, but the explicit prototype-only and external-encoding caveats make this a minor gap rather than a severe one.