# call_read_only_function

Call a read-only function on a smart contract (no signing required).

Agent View of the PolicyLayer registry record for `call_read_only_function`. HTML page: https://policylayer.com/tools/io-github-aibtcdev-mcp-server/call-read-only-function

## Facts

- Tool: `call_read_only_function`
- Server: Aibtc (`aibtcdev/aibtc-mcp-server`) — https://policylayer.com/tools/io-github-aibtcdev-mcp-server.md
- Homepage: https://github.com/aibtcdev/aibtc-mcp-server
- Risk category: Read (Low risk)
- Registry record: grade F, identity verified
- 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": "call_read_only_function",
    "arguments": {}
  }
}
```

## Why call_read_only_function is rated Low

This tool queries smart contract state and returns data without executing state-changing transactions. The read-only nature means it has no ability to modify data, execute arbitrary code, or cause irreversible effects. Severity is low as misuse would only result in information disclosure, not asset loss or operational damage.

From the tool's own definition: "Tool name explicitly states 'read_only' and description confirms 'no signing required', indicating retrieval without state modification or side effects."

## Use case

AI agents call call_read_only_function to retrieve information from Aibtc 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 Aibtc:

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

## Other tools on Aibtc (357)

- `bitflow_cancel_order` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/bitflow-cancel-order.md
- `bounty_cancel` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/bounty-cancel.md
- `credentials_delete` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/credentials-delete.md
- `delete_hiro_api_key` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/delete-hiro-api-key.md
- `identity_unset_wallet` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/identity-unset-wallet.md
- `jingswap_cancel_cycle` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/jingswap-cancel-cycle.md
- `jingswap_cancel_sbtc` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/jingswap-cancel-sbtc.md
- `lightning_lock` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/lightning-lock.md
- `ordinals_p2p_cancel` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/ordinals-p2p-cancel.md
- `pillar_direct_revoke_fast_pool` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/pillar-direct-revoke-fast-pool.md
- `reputation_revoke_feedback` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/reputation-revoke-feedback.md
- `stackspot_cancel_pot` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/stackspot-cancel-pot.md
- `wallet_delete` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/wallet-delete.md
- `broadcast_transaction` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/broadcast-transaction.md
- `btc_sign_message` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/btc-sign-message.md
- `call_contract` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/call-contract.md
- `deploy_contract` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/deploy-contract.md
- `dual_stacking_opt_out` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/dual-stacking-opt-out.md
- `inference_check_provider` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/inference-check-provider.md
- `inscribe_child_reveal` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/inscribe-child-reveal.md
- `inscribe_reveal` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/inscribe-reveal.md
- `jingswap_close_deposits` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/jingswap-close-deposits.md
- `jingswap_settle_with_refresh` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/jingswap-settle-with-refresh.md
- `lightning_unlock` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/lightning-unlock.md
- `news_publisher_compile_brief` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/news-publisher-compile-brief.md
- `nonce_heal` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/nonce-heal.md
- `nostr_sign_event` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/nostr-sign-event.md
- `pillar_connect` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/pillar-connect.md
- `pillar_key_generate` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/pillar-key-generate.md
- `pillar_key_lock` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/pillar-key-lock.md
- …and 327 more: https://policylayer.com/tools/io-github-aibtcdev-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=io-github-aibtcdev-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-aibtcdev-mcp-server
