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 · Code & DevOps

Dialyne

Real phone calls in France for AI agents: dial +33 numbers, menus, hold, AI disclosure.

Checks passed
15 / 22

0 failed · 7 not measured

Median response
191 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
12

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?
402

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 192 ms.

  • Pass
    Valid handshake

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

  • Pass
    Lists tools

    tools/list returned 12 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 191 ms over 2 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 192 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

    43 of 43 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-07T04:26:33.045783Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using Dialyne

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 dialyne https://mcp.dialyne.com/mcp

Capabilities

Tools 12

answer_call_question

Send the user's answer to a question the voice agent asked during a live call (shown by get_call as pending_question) and get confirmation that it was relayed. Compliance: the same rules as the task apply; an answer that threatens, impersonates someone, asks the callee for codes, card details or a transfer, or dictates a payment code or a full card with its security code is refused before anything is sent. Use it only when get_call shows a pending_question. The answer is spoken to the person on the line, so it must be the user's real information or decision: if you do not know it, ask the user and relay their words; never invent personal details. If the callee asks for a code (SMS, verification, delivery), a password or a card detail, ask the user: they decide whether to give it (write it as [secret: value] so it is masked in stored transcripts) or to decline, or to take the call themselves with transfer_call_to_user. During a live call, answer quickly: after about 45 seconds without an answer (pending_question.seconds_left) the voice agent offers the callee a callback; if you need to ask your human, call hold_call_question first (one extra minute, only if the callee agrees). If the call then ended with the question still open and a callback is scheduled (get_call shows status retry_scheduled with a pending_question), the answer is still accepted: it is kept and given at the start of the callback (sending the same answer again is harmless). Any other ended call fails with wrong_call_state. Then continue with get_call.

Discovered
cancel_call

Cancel a call that is scheduled or in progress (including a scheduled callback or automatic retry) and get the cancelled status back. Compliance: stops any further attempt to that number for this call; nothing is charged beyond the time already spoken. A live call is hung up immediately; only the time already spoken is paid and the reserved credit is released. A scheduled call will not be placed. Use it when the user changes their mind or the task is no longer needed. Cannot be undone. Cancelling an already cancelled call has no further effect; a call that already ended cannot be cancelled.

Discovered
configure_agent_identity

Read or change how the voice agent introduces itself on the user's calls: name, tone, opening line, answer to "who is calling?", introduction and the AI mention in the opening. Compliance: the recommended settings (default) say "Hello, this is Léa, <user>'s virtual assistant. I'm calling about…" and answer yes when asked if it is an AI (EU AI Act art. 50); the agent never denies being an AI, whatever the settings. Call it with no argument to read the current identity, a preview of what the agent will say, and the warning. Name and tone can be changed freely. Any other change is a deviation from the recommended settings: the first attempt returns the warning (error responsibility_acceptance_required) and changes nothing. Show the warning text to the user word for word; only if the user explicitly accepts, call again with the same changes plus accept_responsibility=true and warning_version. The acceptance is logged with a timestamp and the user becomes responsible for those settings. Refused whatever the acceptance: texts claiming the agent is human, or presenting it as police, government or a bank. When to use: the user asks to rename the agent, change how it introduces itself or its tone. When not to use: a one-off greeting for a single call (put it in place_phone_call's task instead). Side effects: changes the settings for every new call of the account (calls already scheduled keep their identity). Idempotent.

Discovered
get_account_balance

Read the remaining call time on this account and get the minutes of conversation left on the prepaid credit (subscription minutes included, with their expiry date) and the account limits (simultaneous calls, calls per day). Compliance: read-only; no payment can be made from here (only the account owner adds credit, in the web app). Use it before a long call (e.g. one with a long hold) or after place_phone_call failed for insufficient credit. Read-only. Credit cannot be added from here: if it is low, tell the user to add credit from their account in the web app.

Discovered
get_batch_calls

Get the progress and results of a batch of calls: counts by status, successes, refused numbers and, for each call, its call_id, status, outcome and summary. Compliance: read-only, limited to this account's own batches. Use it after place_batch_calls to report results to the user. Read-only. For one call's transcript, use get_call with response_format='detailed'. To stop a single call, use cancel_call.

Discovered
get_call

Get the status and written result of a call placed with place_phone_call (outcome, summary, pending question, transcript on request), optionally waiting for news. Compliance: read-only; transcripts are text only (no audio is recorded) and are kept 90 days at most. Use it to follow a call in progress (repeat until done=true), to see whether the voice agent is waiting for the user's answer (pending_question), and to read the final outcome and summary to report to the user. Read-only: it never places, changes or ends a call. Returns: status (scheduled, in_progress, retry_scheduled, completed, cancelled, failed), done, outcome (success, failed, voicemail, no_answer, busy, callback_requested, callee_objected), summary, pending_question {question_id, text}, new events since after_event_id, last_event_id and next_step. A call that is busy or not answered is retried automatically (status retry_scheduled), except on lines where every call needs a new request from the user (event callback_suggested: ask the user). callee_objected means the person asked not to be called again: the transcript was deleted and the number can no longer be called; tell the user.

Discovered
hold_call_question

Get one more minute to answer the voice agent's pending question: the request is passed to the voice agent, which asks the callee. Compliance: the extension happens ONLY if the callee agrees; the voice agent asks them politely and never makes anyone wait more than 2 minutes in total for one question. Use it as soon as get_call shows a pending_question you cannot answer yourself (you need to ask your human): call hold_call_question first, then ask your human. Once per question (+60 seconds). The voice agent asks the callee "can you hold for another minute, or shall I call you back?": if they agree, pending_question.seconds_left grows by 60; if they would rather be called back, the agent arranges a callback and your answer, sent later with answer_call_question, is given at the callback. Follow it with get_call (event question_hold: accepted, callee_prefers_callback or not_possible). Not for a finished call, nor when you already know the answer (just answer).

Discovered
list_calls

List this account's calls, newest first, and get for each one its call_id, phone number, status, outcome, task and one-line summary. Compliance: read-only, limited to this account's own calls; transcripts older than 90 days are deleted. Use it to find a call_id, to check whether a number was already called recently before placing a new call, or to answer questions such as 'what happened with my call to the garage?'. Read-only. For the full result and transcript of one call, use get_call with response_format='detailed'.

Discovered
place_batch_calls

Place the same call to a list of numbers in France (Pro and Enterprise plans) and get back a batch_id with one call_id per number. Compliance: the AI disclosure is always made; marketing, prospecting, surveys and mass calling of people who did not expect it are unlawful and refused; anti-harassment limits per number apply. Use it when the user explicitly asks to make the same kind of call to several numbers they provide (e.g. confirm tomorrow's appointments with their own customers, ask several garages for a quote). The account's limits apply: calls run a few at a time (simultaneous-call limit; the rest wait their turn), the batch is refused if it exceeds the calls left for the last 24 hours, automatic retries and calls still waiting 15 minutes after the requested time stay within 08:00-21:00 callee's time. Each call is paid like a single call. Returns immediately; follow it with get_batch_calls, or each call with get_call. Starter accounts get plan_feature_required: tell the user.

Discovered
place_phone_call

Place a real outbound phone call to a number in France (+33) and get back a written result: a voice agent carries out the task you describe (book a table, move an appointment, ask a business a question, follow up on an order or a claim). Compliance: the service's rules require the voice agent to disclose it is an AI assistant at the start of every call (EU AI Act art. 50), and calls are placed only on the user's explicit request. The only exception is a callee the user confirms already knows an AI will call (ai_disclosure; not recommended). The voice agent opens by saying it is an AI assistant calling on behalf of the user; if the callee objects to the call, it ends the call politely and the number is never called again by this service. It navigates phone menus (voice or keypad), waits on hold and talks with the person who answers. No audio is returned or recorded: you get a written outcome, a summary and, on request, the transcript (text kept 90 days at most). When to use: the user explicitly asked you to phone a specific French business or person, and the number and the task are confirmed. Number found by you: if the number did not come from the user (you found it by web search, in memory or in a document), STOP before calling: show the number to the user, ask "Shall I call this number?" and call only after they confirm in a later message. Missing details: do not quiz the user for every detail before calling. Give the facts you already have in task; if the callee asks for something the user did not give, get_call shows it as pending_question and you ask the user then. When not to use: marketing, sales prospecting, surveys, debt collection, mass or repeated calling (unlawful in France and refused); impersonating another person, an authority or a bank; threats or harassment; asking the callee for their codes, passwords, card details or a money transfer, gift cards or crypto (claiming money owed to the user is fine); dictating a payment code (3-D Secure, voucher) or a full card number with its security code; emergencies (emergency numbers are refused: tell the user to dial them directly). When you decline, tell the user why in one sentence (e.g. prospecting calls are unlawful in France and refused by this service). Codes and payment details: the user decides what to give. A verification code, password or card number the user gives you may go in task or in answer_call_question; good practice is to share it only when the call needs it, mark it [secret: value], and prefer transfer_call_to_user for a payment. Behavior: places a real call that cannot be taken back once answered. It is paid from the account's prepaid credit, per second of conversation; busy or unanswered calls are free and retried once after 15 minutes, within 08:00-21:00 callee's time (on lines where every call needs a new request from the user, get_call shows callback_suggested instead: ask the user before calling again). The call is placed now (or at scheduled_at) whatever the hour: the user decides. Returns immediately with a call_id while the call runs in the background (usually 1-10 minutes): then call get_call (wait_seconds=25) until done=true, answer any pending_question with answer_call_question within 45 seconds (hold_call_question asks the callee for one more minute), and report the outcome and summary to the user. To retry safely after an error or timeout, reuse the same idempotency_key.

Discovered
schedule_callback

Schedule a new attempt of a finished call (same number, same task) at the time the user chose and get the scheduled time back, for instance when the callee said 'call back tomorrow after 3 pm'. Compliance: only on the user's request; limited to 3 callbacks within 14 days, at the exact time the user chose (no calling-hours window); turned off on lines where every call needs a new request from the user (error callbacks_disabled). Use it only after get_call shows done=true. To call another number or do a different task, use place_phone_call instead. The time is kept as given (at least 2 minutes from now); at most 14 days ahead and 3 callbacks per call. A real call will be placed at that time and paid like any call; cancel it with cancel_call.

Discovered
transfer_call_to_user

Transfer a live call to the user's own phone so they can talk to the callee themselves, and get the transfer request confirmed. Compliance: the voice agent tells the callee it is handing over to the person it calls for; recommended whenever a payment or sensitive data is needed. The voice agent tells the callee it is passing the call over, rings user_phone_number, connects both sides without hanging up, then leaves the call. Use it only when the user asked to take over the conversation (or accepted when you offered) and can pick up their phone now. Fails if the call is not in progress. Follow progress with get_call: transfer events go requested → ringing → connected (or failed, in which case the voice agent stays on the line).

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected192 ms12
Connected190 ms12