UNDER-RECONSTRUCTION
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_oracle_infoA | PJM vs MISO Energy Arbitrage Oracle — general info: contract, network, TEE, pricing tiers. Starting point for any agent. |
| get_oracle_statusA | Check if the oracle is ACTIVE or in MAINTENANCE, and the number of active subscribers. |
| check_subscriptionA | Check whether an EVM address has an active subscription. Returns expiry timestamp and human-readable info. |
| get_subscription_costA | Current subscription cost in RLC (dynamic, pegged to USD). Returns live cost from on-chain contract. |
| is_arbitrage_profitableA | Free: is PJM vs MISO arbitrage profitable right now? No subscription needed. |
| get_telemetryA | Full signal: arbitrageVector + priceSpread. Requires an active subscription. Executed as a view call: msg.sender = subscriber_address. |
| build_subscription_txA | Build calldata to purchase a subscription: approve(RLC) + purchaseSubscription. The agent (or sponsor) signs and sends it themselves. |
| get_connection_infoA | How to connect this oracle in Claude Desktop / Cursor / any MCP client, and the list of all available tools. |
| get_sdk_templateA | Get the FULL Python SDK code (ai_agent_oracle_client.py). Auto-cycle: check subscription → purchase (approve + purchase, RLC) → read signal. Suitable for non-MCP agents running on web3.py. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| oracle_arbitrage_check | Guide the agent to check PJM vs MISO arbitrage and interpret the result. |
| purchase_subscription_guide | Step-by-step guide for an AI agent to purchase an RLC subscription. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_status | Current oracle status (ACTIVE/MAINTENANCE) and subscriber count |
| resource_guide | Step-by-step guide for AI agents on using the oracle |
TDQS
Scored across 9 tools
Most tools are clearly distinct: status, subscription checks, pricing, signal retrieval, and connection info each target a different concern. The only mild overlap is get_oracle_info vs get_connection_info, both serving as entry points, but their content differs enough (contract/TEE details vs MCP client setup).
Tool names consistently use get_ or check_ or build_ prefixes with clear object nouns (oracle_info, subscription, telemetry, connection_info). Minor inconsistency: is_arbitrage_profitable uses a question-style prefix instead of get_/check_, but it is still readable and predictable.
Nine tools is well-scoped for an oracle server: it covers discovery, status, subscription management, pricing, signal access, and integration guidance. Each tool earns its place without redundancy.
The surface covers the full user journey: check status, check subscription, get cost, build purchase tx, and read the signal. Minor gaps: no tool to cancel or renew a subscription, and no direct on-chain balance check, but agents can work around these via the SDK template or external calls.