_ registry / mcp streamable-http · checked 5m ago

earlyframe-mcp-server

https://relay.earlyfra.me

Registry code: e4dcebb74f3529ca

api record

EarlyFra.me is a 1-to-4 edge webhook router with a machine-payable subscription API. Auth: send X-EarlyFrame-Key: ef_live_... (or Authorization: Bearer ef_live_...). Sandbox trial keys can read and dry-run; Neural Frame unlocks write tools. To subscribe autonomously: call list_plans, then subscribe_plan (returns a crypto deposit address), settle it, then poll claim_subscription until status is completed to receive your Master Passkey. Live webhook dispatches consume quota; simulate_webhook_frame and dry-runs never do. Stateful data plane (v6.1): query_signal_memory reads archived executions…

endpoint
https://relay.earlyfra.me/mcp
protocol
streamable-http ·2025-03-26
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is earlyframe-mcp-server live?
Yes — it answered the hub's last check (checked 5m ago). It answered 100% of checks over the last 30 days.
Is earlyframe-mcp-server free to use?
Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
What tools does earlyframe-mcp-server have?
19 tools: create_or_update_route, purchase_quota_boost, get_subscription_status, inspect_inbound_payload, update_route_template, inspect_live_telemetry, list_routes, rotate_route_token, ….
Is earlyframe-mcp-server safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
166ms

last good check

priced tools
0

of 19 tools

_ answered our checks, 90 days 2 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 19 tools
19 auth-required 19 of 19 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • create_or_update_route auth-required never probed

    Programmatically deploy or update a 1-to-4 fan-out route on the global edge (requires Neural Frame tier for write operations via MCP).

    mcp-tool

    {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Route ID (e.g. rt_1) or 'new' to create a new route"
        },
        "name": {
          "type": "string",
          "description": "Human-readable route label"
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "value": {
                "type": "string"
              },
              "operator": {
                "type": "string"
              }
            }
          }
        },
        "ai_enrich": {
          "type": "boolean",
          "description": "Inject {{ai_summary}} and {{ai_sentiment}} into payload"
        },
        "filter_logic": {
          "enum": [
            "AND",
            "OR"
          ],
          "type": "string"
        },
        "template_body": {
          "type": "string"
        },
        "template_title": {
          "type": "string"
        },
        "dedup_window_sec": {
          "type": "number"
        },
        "telegram_bot_url": {
          "type": "string"
        },
        "telegram_chat_id": {
          "type": "string"
        },
        "slack_webhook_url": {
          "type": "string"
        },
        "custom_webhook_url": {
          "type": "string"
        },
        "discord_webhook_url": {
          "type": "string"
        }
      }
    }
    arguments 68 lines
  • purchase_quota_boost auth-required never probed

    Create a crypto checkout that adds extra webhook quota to an existing paid passkey (e.g. agent_credit_100k, apex_overage_500k). Poll claim_subscription afterwards.

    mcp-tool

    {
      "type": "object",
      "required": [
        "pack"
      ],
      "properties": {
        "pack": {
          "type": "string",
          "description": "Credit pack plan_id, e.g. agent_credit_100k or apex_overage_500k"
        },
        "pay_currency": {
          "type": "string",
          "description": "Settlement currency, default usdttrc20"
        }
      }
    }
    arguments 16 lines
  • get_subscription_status auth-required 5m ago

    Return the authenticated passkey's tier, plan, quota usage, expiry, routes, registered agent identity and callback delivery history.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • inspect_inbound_payload auth-required never probed

    Read the bytes a sender actually POSTed to an ingest URL, before any parsing, enrichment or filtering — one execution by event_id, or the newest few for a route. Telemetry reports what the edge decided; this reports what arrived, which is what a template has to be written against. Read-only and never charges quota.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "number",
          "description": "Max events to return when listing (1-25, default 5)"
        },
        "event_id": {
          "type": "string",
          "description": "Inspect one retained execution in full (from inspect_live_telemetry or query_signal_memory)"
        },
        "route_id": {
          "type": "string",
          "description": "Optional route_id to list the newest retained inbounds for (e.g. rt_1). Omit to cover every route on the passkey."
        }
      }
    }
    arguments 17 lines
  • update_route_template auth-required never probed

    Write template_title, template_body and the custom JSON remapper onto an existing route in one call. The edit is partial: every field you leave out keeps its stored value, so destinations, noise-gate rules and stateful gates survive a template-only change. Requires the Neural Frame tier, and charges no quota — but the saved route starts shaping live traffic immediately.

    mcp-tool

    {
      "type": "object",
      "required": [
        "route_id"
      ],
      "properties": {
        "route_id": {
          "type": "string",
          "description": "Target route ID (e.g. rt_1)"
        },
        "template_body": {
          "type": "string",
          "description": "New body template, up to 600 characters"
        },
        "template_title": {
          "type": "string",
          "description": "New title template. An empty string clears it; omit the field to keep the current one."
        },
        "custom_body_template": {
          "type": "string",
          "description": "JSON remapper for the 4th destination. Must stay valid JSON once placeholders are substituted."
        }
      }
    }
    arguments 24 lines
  • inspect_live_telemetry auth-required 26h ago

    Fetch the latest 25 webhook execution logs (delivered and dropped signals, latency in ms, and rescued JSON fields) from Edge Isolate RAM.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "number",
          "description": "Max log items to return (1-25)"
        },
        "route_id": {
          "type": "string",
          "description": "Optional route_id filter (e.g. rt_1)"
        }
      }
    }
    arguments 13 lines
  • list_routes auth-required 26h ago

    List all deployed 1-to-4 webhook routes, isolated whk_ ingest URLs, filter rules, and quota metrics for the authenticated EarlyFra.me Master Passkey.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • rotate_route_token auth-required never probed

    Cryptographically rotate a route's public whk_... webhook ingest token without altering the Master Passkey. The previous URL stops working immediately.

    mcp-tool

    {
      "type": "object",
      "required": [
        "route_id"
      ],
      "properties": {
        "route_id": {
          "type": "string",
          "description": "Target route ID (e.g. rt_1)"
        }
      }
    }
    arguments 12 lines
  • list_plans auth-required never probed

    Return every subscription and credit top-up an AI agent can buy programmatically, with prices, quotas, accepted crypto currencies, and the checkout/claim endpoints. No authentication required.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • subscribe_plan auth-required never probed

    Create a crypto checkout for a subscription plan and receive a concrete deposit address so an autonomous agent or treasury can settle it without a browser. Poll claim_subscription afterwards to obtain the Master Passkey.

    mcp-tool

    {
      "type": "object",
      "required": [
        "plan_id",
        "email"
      ],
      "properties": {
        "agent": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "version": {
              "type": "string"
            },
            "homepage": {
              "type": "string"
            },
            "framework": {
              "type": "string"
            }
          },
          "description": "Optional agent identity recorded on the subscription"
        },
        "email": {
          "type": "string",
          "description": "Owner/operator email for receipts and passkey recovery"
        },
        "plan_id": {
          "type": "string",
          "description": "Plan from list_plans, e.g. neural_monthly, pro_monthly, agent_credit_100k"
        },
        "metadata": {
          "type": "object",
          "description": "Optional opaque metadata (<= 1024 bytes) stored with the subscription"
        },
        "callback_url": {
          "type": "string",
          "description": "HTTPS endpoint that receives HMAC-signed subscription.activated / quota.topped_up lifecycle events"
        },
        "pay_currency": {
          "type": "string",
          "description": "Settlement currency, e.g. usdttrc20 (default), usdterc20, usdc, btc, eth, sol"
        },
        "existing_api_key": {
          "type": "string",
          "description": "Existing ef_live_... passkey when renewing, upgrading, or buying a credit top-up"
        }
      }
    }
    arguments 51 lines
  • set_agent_callback auth-required never probed

    Register, rotate, or clear the HTTPS webhook that receives HMAC-signed subscription lifecycle events for this passkey.

    mcp-tool

    {
      "type": "object",
      "required": [
        "callback_url"
      ],
      "properties": {
        "callback_url": {
          "type": "string",
          "description": "HTTPS endpoint, or an empty string to clear the callback"
        }
      }
    }
    arguments 12 lines
  • synthesize_edge_ai auth-required never probed

    Run EarlyFra.me Edge AI over a raw webhook payload (JSON, form, or plain text) and return ai_summary, ai_sentiment and ai_score. Requires Neural Frame.

    mcp-tool

    {
      "type": "object",
      "required": [
        "raw_payload"
      ],
      "properties": {
        "raw_payload": {
          "type": "string",
          "description": "Raw payload text or JSON to analyse"
        }
      }
    }
    arguments 12 lines
  • query_signal_memory auth-required never probed

    Read the durable state plane for a Master Passkey: recently archived webhook executions (delivered / filtered / retry_pending / dlq_failed) and the signal legs currently parked in a confluence window, so an agent can see what is waiting, what failed, and what has already fired.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "number",
          "description": "Max rows per bucket (1-50, default 20)"
        },
        "route_id": {
          "type": "string",
          "description": "Optional route_id filter (e.g. rt_1)"
        },
        "entity_key": {
          "type": "string",
          "description": "Optional entity scope filter, matching the route's stateful_gate.entity_field (e.g. SOLUSDT)"
        },
        "status_filter": {
          "enum": [
            "delivered",
            "filtered",
            "retry_pending",
            "dlq_failed",
            "dropped_cooldown",
            "dropped_blackout"
          ],
          "type": "string",
          "description": "Optional archive status filter"
        }
      }
    }
    arguments 29 lines
  • arm_confluence_trap auth-required never probed

    Programmatically arm or disarm a route's stateful signal gate: entity scope field, required confluence tags, sliding window and per-entity cooldown. Requires the Neural Frame tier. Use it to wait for N independent confirmations on the same entity before the route fires.

    mcp-tool

    {
      "type": "object",
      "required": [
        "route_id"
      ],
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Set false to disarm the trap without clearing the rest of the route"
        },
        "route_id": {
          "type": "string",
          "description": "Target route ID (e.g. rt_1)"
        },
        "tag_field": {
          "type": "string",
          "description": "Field identifying the leg (default timeframe)"
        },
        "window_sec": {
          "type": "number",
          "description": "Confluence sliding window in seconds (30-86400, default 900)"
        },
        "cooldown_sec": {
          "type": "number",
          "description": "Mute repeat signals for the same entity for N seconds after firing (0 = off)"
        },
        "entity_field": {
          "type": "string",
          "description": "Dot-notation payload field that scopes the trap (default ticker)"
        },
        "required_tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Signal legs that must ALL arrive inside the window, e.g. [\"15m\",\"1h\"]"
        }
      }
    }
    arguments 39 lines
  • replay_historical_signal auth-required never probed

    Re-run an ARCHIVED webhook against the route's CURRENT filter, enrichment, blackout, confluence and template rules — a time-travel backtest against real past traffic. dry_run=true reports the exact rule evaluation and transformed output without dispatching anything.

    mcp-tool

    {
      "type": "object",
      "required": [
        "event_id"
      ],
      "properties": {
        "dry_run": {
          "type": "boolean",
          "description": "true (default) = report only; false = re-dispatch through the current rules"
        },
        "event_id": {
          "type": "string",
          "description": "Archived event_id to replay (from query_signal_memory or inspect_live_telemetry)"
        },
        "route_id": {
          "type": "string",
          "description": "Route whose current rules should be applied (defaults to the first route)"
        }
      }
    }
    arguments 20 lines
  • extract_schema_tokens auth-required 5m ago

    The Intelligent Schema Extractor as an agent call: walks every retained inbound payload for a route and returns the {{dot.paths}} you can reference in a template — nested objects as data.object.amount, array projections as commits[].message — each with its inferred type, sample values, how many webhooks carried it and its presence ratio. Pass template_body to also see which of its tokens the traffic actually fills and how the cleaned alert renders: a token the payload lacks is dropped together with its label, so one ingest URL can serve several sources without leaking "RSI:" into the message.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "route_id": {
          "type": "string",
          "description": "Route to extract from (defaults to every retained webhook on the passkey)"
        },
        "template_body": {
          "type": "string",
          "description": "Optional draft body: adds resolved_tokens, omitted_tokens and rendered_preview"
        }
      }
    }
    arguments 13 lines
  • preview_alert_template auth-required 5m ago

    Dry-run a template against a payload without saving a route or charging quota: returns the rendered title and body, the exact JSON each configured destination would receive, which tokens were omitted because the payload did not carry them, and how the noise gate, confluence and approval gates would judge the same body. Send raw_payload to test an arbitrary body, or event_id to replay one of your real retained webhooks.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "event_id": {
          "type": "string",
          "description": "Or replay one of your retained inbound webhooks by event_id (takes precedence over raw_payload)"
        },
        "route_id": {
          "type": "string",
          "description": "Use a saved route's destinations, filters and gates (defaults to the first route)"
        },
        "raw_payload": {
          "type": "string",
          "description": "Body to test — JSON, plain text or form-encoded. The edge rescues unstructured text into fields."
        },
        "template_body": {
          "type": "string",
          "description": "Override the route's body template for this preview only"
        },
        "template_title": {
          "type": "string",
          "description": "Override the route's title template for this preview only"
        },
        "custom_body_template": {
          "type": "string",
          "description": "Override the JSON remapper sent to the custom webhook for this preview only"
        }
      }
    }
    arguments 29 lines
  • simulate_webhook_frame auth-required never probed

    Run a zero-quota dry-run simulation of a raw plain-text or JSON webhook payload against a route's filter rules, templates, and Edge AI synthesis.

    mcp-tool

    {
      "type": "object",
      "required": [
        "raw_payload"
      ],
      "properties": {
        "route_id": {
          "type": "string",
          "description": "Optional route_id to test against"
        },
        "raw_payload": {
          "type": "string",
          "description": "Raw plain-text or JSON webhook payload to test"
        }
      }
    }
    arguments 16 lines
  • claim_subscription auth-required never probed

    Exchange the claim_token from subscribe_plan for the provisioned Master Passkey. Poll until status is "completed"; returns api_key, tier, quota_limit and expiry.

    mcp-tool

    {
      "type": "object",
      "required": [
        "order_id",
        "claim_token"
      ],
      "properties": {
        "order_id": {
          "type": "string",
          "description": "order_id returned by subscribe_plan"
        },
        "claim_token": {
          "type": "string",
          "description": "claim_token returned by subscribe_plan"
        }
      }
    }
    arguments 17 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id e4dcebb74f3529ca.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/e4dcebb74f3529ca/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/e4dcebb74f3529ca/badge.svg)](https://brick.blue/agent/e4dcebb74f3529ca?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.