Pharos MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Bind address for HTTP transport | 127.0.0.1 |
| MCP_PORT | No | Port for HTTP transport | 3001 |
| TRUST_PROXY | No | Set 'true' behind a load balancer so rate limiting uses the real client IP from X-Forwarded-For | false |
| MCP_TRANSPORT | No | Transport mode: 'stdio' or 'http' | stdio |
| MCP_AUTH_TOKEN | No | Bearer token for HTTP transport authentication; auth is off when unset | |
| PHAROS_RPC_URL | No | Upstream JSON-RPC endpoint | https://rpc.pharos.xyz |
| PHAROS_CHAIN_ID | No | Expected chain ID | 1672 |
| PHAROS_NATIVE_SYMBOL | No | Native token symbol | PROS |
| RATE_LIMIT_PER_MINUTE | No | Per-IP request cap; 0 disables | 120 |
| ENABLE_SEND_RAW_TRANSACTION | No | Enable transaction broadcasting (true/false) | false |
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_chain_infoA | Get Pharos chain ID, client version, latest block and configured RPC endpoint |
| get_block_numberA | Get the latest Pharos block number |
| get_balanceA | Get the native PROS balance of an EVM address |
| get_transaction_countB | Get an address transaction count (nonce) |
| get_gas_priceA | Get current Pharos gas price and priority fee |
| get_blockA | Get a Pharos block by tag or number |
| get_transactionB | Get a transaction by hash |
| get_transaction_receiptA | Get a transaction receipt by hash |
| get_codeB | Get contract bytecode at an address |
| get_storage_atC | Read a contract storage slot |
| eth_callC | Execute a read-only EVM contract call |
| estimate_gasA | Estimate gas for a transaction without sending it |
| get_logsA | Get EVM logs with bounded block range supplied by the caller |
| send_raw_transactionA | Broadcast an already-signed raw EVM transaction. This server never receives a private key. |
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 14 tools
Every tool targets a distinct resource or action: code, storage, call, gas, logs, transaction, receipt, balance, nonce, gas price, block, chain info. No two tools have overlapping purposes; even similar ones like get_transaction and get_transaction_receipt are clearly separated by what they return.
All tools follow a snake_case pattern, predominantly verb_get_* for reads and send_raw_transaction for the write operation. eth_call and estimate_gas are also snake_case and align with common EVM naming, preserving overall consistency.
14 tools is well within the ideal 3-15 range for an EVM blockchain server. Each tool corresponds to a standard JSON-RPC method, and none are redundant or superfluous given the server's purpose.
The tool set covers the full spectrum of EVM node interactions: chain info, blocks, transactions, receipts, balances, storage, code, calls, gas estimation, logs, nonce, gas price, and raw transaction broadcast. This is a complete surface for typical dApp or chain interaction needs.