MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Data access / search

Ahel

Data and tools for your AI agent: company, people, SEO, social and EU register data. Pay per call.

Checks passed
15 / 22

1 failed · 6 not measured

Median response
291 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
11

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
103
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
411

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 245 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name ahel.

  • Pass
    Lists tools

    tools/list returned 11 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 291 ms over 2 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 331 ms over 2 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    2 of 2 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Pass
    Stable tool list

    No tool was removed and no required parameter was added in the last 30 days.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    52 of 52 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-11-02T12:35:56.972375Z, within 180 days.

  • Fail
    Open-source licence

    GitHub does not report an OSI licence.

Start using Ahel

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http ahel https://mcp.ahel.ai

Capabilities

Tools 11

balance

The workspace's prepaid balance in USD, what runs in flight hold, what settled runs used today and this month (shown to the Owner), any daily spend cap on the team API key this connection uses, and where to top up. Check it when a run is refused for funds, or before a job that will make many runs. Free; changes nothing. NOT for: the price of one run, which is capability_inspect.

Discovered
capability_inspect

Read one task or provider tool from Ahel's catalog by its id: its exact inputs (Ahel's own contract, or the published reference input when Ahel has none), its status and exact reason, Ahel's price per provider (Unknown when Ahel has no rate), for a temporarily unavailable item the market prices seen elsewhere, for comparison, and the exact run_capability call when it can run. With arguments it also prices that exact run before anything runs: Ahel's quote, the most it may cost, the amount a run would reserve and whether the balance covers it; nothing is reserved, charged or started. With rows or rows_text (up to 100, for people.email.find or companies.register.search or companies.emails.from_website) it quotes a whole list instead: rows, rows that can run, each row's price and the most one row and the list may cost, the balance against it, and what each row that cannot run is missing. Free; changes nothing. NOT for: finding ids, which is capability_search, or running it, which is run_capability.

Discovered
capability_run_status

Without execution_id: the paid data capabilities this workspace can run, each with its providers and exact prices. With execution_id: that run's state, attempts and exact cost, settled once in the ledger when final; with results true, its rows and provenance (include_raw true adds the provider's own answer), and, when it has rows, results_page and csv_url: give the person those links instead of writing the rows out again. Generated images and audio come as a signed link (media_url, valid for days) with their type and size; a small one is also attached as an image or audio block. A long result answers as many rows as fit and says the offset that reads the rest. NOT for: finding a task or tool to run, which is capability_search.

Discovered
capability_search

Search Ahel's catalog of data tasks and provider tools by words, a task id or a tool id: company and people enrichment, SEO, social, ads, e-commerce, reviews, AI generation, market and public data. Each result has its genuine task id or tool id, its platform, its status (ready, coming_soon meaning temporarily unavailable because Ahel has no provider for it yet, or unavailable while the run service is down) with the exact reason; a temporarily unavailable result may carry a market price seen elsewhere, for comparison. The same catalog, ids and statuses as the Catalog page on ahel.ai. Describe the job in plain words; results are ranked by how well they fit. When nothing fits it answers verdict none with the three nearest items: then call catalog_request. Free; changes nothing. NOT for: one item's exact inputs and prices, which is capability_inspect, or the team's own tools, which is my_tools.

Discovered
catalog_request

Ask Ahel to add a data task or provider tool the catalog does not have yet: call it when capability_search answers verdict none and none of its nearest items fits. Give what you need in plain words, an example input, and the most you would pay for one call. Answers a request id; asking again for the same thing adds to that request instead of making a new one. Free; runs nothing and charges nothing. NOT for: finding what already exists, which is capability_search.

Discovered
feedback

Rate one run or one catalog request of this workspace good or bad, or, with no id, report anything about Ahel: confusing results or charges, unclear instructions, unhelpful errors, a workaround you needed. Report small annoyances too, even when the task succeeded, each issue once. Ahel reads every note to fix providers and the catalog. Leave out private information, keys and raw responses. Free; changes nothing else. NOT for: reading a run's state or rows, which is capability_run_status, or asking for a missing task, which is catalog_request.

Discovered
get_started

How to start with Ahel: call this when the person asks what Ahel is, what it can do or how to begin. Returns what Ahel is, how the prepaid balance works, the three steps to find, price and run any data task or provider tool, and ready example prompts. Reads only; changes nothing. NOT for: finding a data task or provider tool for a specific ask, which is capability_search.

Discovered
my_tools

This team's own tools: the APIs and MCP servers the team added at ahel.ai/app/tools. Without tool, lists each one with its tools, their inputs and the exact call. With tool ("<key>/<tool name>" from that list) and arguments, calls it with the team's saved credentials, which never enter the chat. NOT for: Ahel's catalog of data tasks and provider tools, which is capability_search. If the transport times out, do not resubmit the work: call again with the same ids and poll.

Discovered
review

Rate how useful one finished run of this workspace was, after you have used its result: useful, partly, not_useful, or not_sure when you cannot tell, with an optional reason about the result (missing rows, wrong data, stale). One review per run; reviewing it again replaces the earlier one. Ahel reads every review to rank and fix providers. Leave out private information, keys and raw rows. Free; changes nothing else. NOT for: a catalog request, or reporting something confusing or broken, which is feedback.

Discovered
run_batch

Run one task over many inputs in one call: for repeated runs of the same task, one round trip rather than one per run. Priced the same per item as a single run, with no fee for batching: each item is quoted, reserved and charged on its own, and only a delivered result is charged. Give id and items, 1 to 100 objects of the task's inputs. Every item is checked first: a bad item is refused alone and the others run. Identical items run once and the answer maps back to each position. At most 5 run at once. max_cost_usd caps the whole batch: no item starts if what is charged, plus what is held, plus its own quote could pass it, and items left over answer not_started with nothing charged. A provider that is temporarily unavailable stops only the items it would serve. The answer comes within about 45 seconds: each item in input order has its position, state, rows, charged_usd, error and execution_id, then the totals. Items still going, and rows that did not fit, are read with capability_run_status. An item with rows also has results_page and csv_url: give the person those links instead of writing the rows out again. Sending the same call again the same UTC day answers the same runs with no new charge and starts what did not start; a new idempotency_key runs the items again. A task that is unknown or not ready refuses the whole call, free. NOT for: one run alone, which is run_capability.

Discovered
run_capability

Run one paid data capability (company data, people and contact data and the like) through Ahel's provider execution: it is quoted, the exact price is reserved from the workspace balance, and the run starts. Give id, a task id or tool id from capability_search: it runs only through the v2 capability Ahel's task map binds to it, and an item that is not ready is refused with its exact reason before anything is quoted. It then waits up to wait_seconds (default 20, at most 50; 0 answers at once): when the run finishes in that time, this same answer has its state, exact cost and rows, and generated images and audio as links; otherwise it answers the execution id, and capability_run_status reads the run. An answer with rows also has results_page and csv_url: give the person those links instead of writing the rows out again. Data collection only: a capability that writes or has a side effect is refused. Ahel picks the provider unless endpoint_ids pins one; exclude_endpoint_ids leaves providers out. Give max_cost_usd to hold the price: a run that would cost more is refused with nothing run or charged. Give idempotency_key so a retry after a lost answer is safe: the same key answers the same run, with no new charge. Give tag (such as a customer name) to see usage and cost by tag in Activity. A list: for people.email.find or companies.register.search or companies.emails.from_website, give rows (objects) or rows_text (paste up to 100 rows as text) instead of arguments: without confirm it answers the list's quote and runs nothing; with confirm true it runs every row once and answers the receipt (found, not found, failed, the exact total, the rows and a CSV link) and its run_id; run_id continues a run whose rows were still going. NOT for: the team's own tools, which is my_tools.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected245 ms11
Connected336 ms11