# read_contract

Read data from a smart contract by calling a view/pure function. This doesn

Agent View of the PolicyLayer registry record for `read_contract`. HTML page: https://policylayer.com/tools/chulanpro5-evm-mcp-server/read-contract

## Facts

- Tool: `read_contract`
- Server: EVM MCP Server (`chulanpro5/evm-mcp-server`) — https://policylayer.com/tools/chulanpro5-evm-mcp-server.md
- Homepage: https://github.com/chulanpro5/evm-mcp-server
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "read_contract",
    "arguments": {}
  }
}
```

## Why read_contract is rated Low

The tool is explicitly designed to read data from smart contracts using view/pure functions, which by definition cannot alter blockchain state or have side effects. This is a data retrieval operation with no capability to modify, execute arbitrary code, delete data, or move funds. The low severity reflects minimal blast radius—misuse would only expose readable contract data.

From the tool's own definition: "Tool name is 'read_contract' and description states 'Read data from a smart contract by calling a view/pure function.' View and pure functions are read-only operations that cannot modify state."

## Use case

AI agents call read_contract to retrieve information from EVM MCP Server without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches EVM MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "read_contract": {}
  }
}
```

## Other tools on EVM MCP Server (35)

- `deploy_token` — Execute — https://policylayer.com/tools/chulanpro5-evm-mcp-server/deploy-token.md
- `enable_trading` — Execute — https://policylayer.com/tools/chulanpro5-evm-mcp-server/enable-trading.md
- `set_swap_and_liquify_enabled` — Execute — https://policylayer.com/tools/chulanpro5-evm-mcp-server/set-swap-and-liquify-enabled.md
- `write_contract` — Execute — https://policylayer.com/tools/chulanpro5-evm-mcp-server/write-contract.md
- `add_liquidity` — Financial — https://policylayer.com/tools/chulanpro5-evm-mcp-server/add-liquidity.md
- `buy_usdt_from_wallet` — Financial — https://policylayer.com/tools/chulanpro5-evm-mcp-server/buy-usdt-from-wallet.md
- `deploy_tax_token` — Financial — https://policylayer.com/tools/chulanpro5-evm-mcp-server/deploy-tax-token.md
- `lock_lp_token` — Financial — https://policylayer.com/tools/chulanpro5-evm-mcp-server/lock-lp-token.md
- `sell_usdt_from_wallet` — Financial — https://policylayer.com/tools/chulanpro5-evm-mcp-server/sell-usdt-from-wallet.md
- `transfer_erc1155` — Financial — https://policylayer.com/tools/chulanpro5-evm-mcp-server/transfer-erc1155.md
- `transfer_erc20` — Financial — https://policylayer.com/tools/chulanpro5-evm-mcp-server/transfer-erc20.md
- `transfer_eth` — Financial — https://policylayer.com/tools/chulanpro5-evm-mcp-server/transfer-eth.md
- `transfer_nft` — Financial — https://policylayer.com/tools/chulanpro5-evm-mcp-server/transfer-nft.md
- `transfer_token` — Financial — https://policylayer.com/tools/chulanpro5-evm-mcp-server/transfer-token.md
- `check_nft_ownership` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/check-nft-ownership.md
- `estimate_gas` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/estimate-gas.md
- `get_address_from_private_key` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-address-from-private-key.md
- `get_balance` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-balance.md
- `get_block_by_number` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-block-by-number.md
- `get_chain_info` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-chain-info.md
- `get_erc1155_balance` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-erc1155-balance.md
- `get_erc1155_token_uri` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-erc1155-token-uri.md
- `get_erc20_balance` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-erc20-balance.md
- `get_latest_block` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-latest-block.md
- `get_nft_balance` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-nft-balance.md
- `get_nft_info` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-nft-info.md
- `get_supported_networks` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-supported-networks.md
- `get_token_balance` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-token-balance.md
- `get_token_balance_erc20` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-token-balance-erc20.md
- `get_token_info` — Read — https://policylayer.com/tools/chulanpro5-evm-mcp-server/get-token-info.md
- …and 5 more: https://policylayer.com/tools/chulanpro5-evm-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=chulanpro5-evm-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/chulanpro5-evm-mcp-server
