MCP-Server

PJM vs MISO Energy Arbitrage Oracle

io.github.dornansgar390-hue/energy-oracle

Was dieses MCP kann

Delivers subscription-gated PJM and MISO wholesale electricity arbitrage signals, profitability checks, and on-chain subscription transaction support.

build_subscription_tx
Build Subscription Transaction
Generate the cryptographic transaction calldata required to purchase a subscription on Arbitrum One. Output covers a two-step payload: ERC-20 RLC token approve followed by contract purchaseSubscription. This tool strictly builds calldata and does not submit transactions; the calling agent must sign and broadcast the payload externally.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'title': 'build_subscription_txArguments', 'required': ['agent_address', 'tier'], 'properties': {'tier': {'type': 'integer', 'title': 'Tier', 'description': 'Subscription tier: 0 = 1 day ($20), 1 = 3 days ($50), 2 = 7 days ($100)'}, 'agent_address': {'type': 'string', 'title': 'Agent Address', 'description': 'EVM address of the agent that will receive the subscription, e.g. 0x1234...'}, 'sponsor_address': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Sponsor Address', 'default': None, 'description': "Optional EVM address of a sponsor who pays for the agent's subscription"}}}
Ausgabeschema
{'type': 'object', 'title': 'build_subscription_txOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
check_subscription
Check Subscription
Check whether an EVM address has an active subscription. Returns expiry timestamp and human-readable info.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'title': 'check_subscriptionArguments', 'required': ['address'], 'properties': {'address': {'type': 'string', 'title': 'Address', 'description': "The agent's EVM address (0x...), e.g. 0x1234..."}}}
Ausgabeschema
{'type': 'object', 'title': 'check_subscriptionOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_connection_info
Connection Info
Retrieve integration and transport configuration guides for connecting this oracle to AI clients (Claude Desktop, Cursor, MCP clients), including the complete list of accessible tools and capabilities.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'title': 'get_connection_infoArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_connection_infoOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_oracle_info
Oracle General Info
Retrieve comprehensive metadata for the PJM vs MISO Energy Arbitrage Oracle: smart contract address, Arbitrum One network, Intel TDX attestation status, and available subscription pricing tiers. Use as the primary initialization step for any agent workflow.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'title': 'get_oracle_infoArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_oracle_infoOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_oracle_status
Oracle Status
Check the real-time operational status of the oracle contract. Returns whether the system is ACTIVE or in MAINTENANCE, along with total active subscribers. Use this tool to verify system availability before requesting premium telemetry.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'title': 'get_oracle_statusArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_oracle_statusOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_sdk_template
Get SDK Template
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.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'title': 'get_sdk_templateArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'get_sdk_templateOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_subscription_cost
Get Subscription Cost
Current subscription cost in RLC (dynamic, pegged to USD). Returns live cost from on-chain contract.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'title': 'get_subscription_costArguments', 'required': ['tier'], 'properties': {'tier': {'type': 'integer', 'title': 'Tier', 'description': 'Subscription tier: 0 = 1 day ($20), 1 = 3 days ($50), 2 = 7 days ($100)'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_subscription_costOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
get_telemetry
Get Telemetry
Retrieve the premium analytical energy signal computed inside the Intel TDX enclave. Returns the complete spatial arbitrage vector (direction: -1, 0, +1) and current price spread index between PJM and MISO. Executed as a static on-chain view call. Requires an active, unexpired paid RLC subscription for the provided address.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'title': 'get_telemetryArguments', 'required': ['subscriber_address'], 'properties': {'subscriber_address': {'type': 'string', 'title': 'Subscriber Address', 'description': 'EVM address that has an active RLC subscription, e.g. 0x1234...'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_telemetryOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
is_arbitrage_profitable
Is Arbitrage Profitable
Evaluate the instantaneous financial viability of spatial electricity arbitrage between PJM West Hub and MISO Indiana Hub wholesale markets. Returns a boolean profitability indicator. Use as a zero-friction pre-flight check before deciding to purchase a full telemetry subscription.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'title': 'is_arbitrage_profitableArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'is_arbitrage_profitableOutput', 'required': ['result'], 'properties': {'result': {'type': 'string', 'title': 'Result'}}}
Hinzugefügt
get_sdk_template
21. September 2026 02:41
Hinzugefügt
get_connection_info
21. September 2026 02:41
Hinzugefügt
build_subscription_tx
21. September 2026 02:41
Hinzugefügt
get_telemetry
21. September 2026 02:41
Hinzugefügt
is_arbitrage_profitable
21. September 2026 02:41
Hinzugefügt
get_subscription_cost
21. September 2026 02:41
Hinzugefügt
check_subscription
21. September 2026 02:41
Hinzugefügt
get_oracle_status
21. September 2026 02:41
Hinzugefügt
get_oracle_info
21. September 2026 02:41