Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Real phone calls in France for AI agents: dial +33 numbers, menus, hold, AI disclosure.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://mcp.dialyne.com/mcp터미널에서 이 명령어를 실행하세요
claude mcp add --transport http dialyne https://mcp.dialyne.com/mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"dialyne": {
"url": "https://mcp.dialyne.com/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"dialyne": {
"type": "http",
"url": "https://mcp.dialyne.com/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://mcp.dialyne.com/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 7일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
place_phone_callPlace 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 th
get_callGet 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 follo
answer_call_questionSend 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,
transfer_call_to_userTransfer 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.
schedule_callbackSchedule 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
cancel_callCancel 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 imme
list_callsList 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
get_account_balanceRead 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
hold_call_questionGet 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 to
place_batch_callsPlace 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 refus
get_batch_callsGet 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.
configure_agent_identityRead 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, 's virtual assistant. I'm calli
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 도메인 dialyne.com 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
894ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 12개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.0)은 오늘 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Asset Notation
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read and maintain an Asset Notation file on disk: net worth, holdings, valuations, CSV import.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Website: https://dialyne.com · MCP server: https://mcp.dialyne.com/mcp · API: https://api.dialyne.com · Dashboard: https://app.dialyne.com · Docs: https://dialyne.com/docs/ · For agents: https://dialyne.com/llms.txt
Dialyne gives an AI agent a phone line in France. The agent describes a task in plain language ("book a table for 4 on Friday around 8 pm for Martin"); Dialyne's voice agent calls the French number, introduces itself as the user's virtual assistant (an AI), navigates the phone menu, waits on hold, talks to the person, and returns a written result: outcome, summary and transcript.
This repository is the public showcase: MCP connection files for each client, an agent skill, examples and docs. The Dialyne service itself is hosted and closed-source; nothing here runs a server.
The server uses OAuth 2.1 (dynamic client registration, PKCE). Paste the URL; your client opens a Dialyne sign-in page the first time a tool is called. Agents without a browser can send an API key as Authorization: Bearer instead. Never put a key in a URL.
| Client | How |
|---|---|
| Claude (claude.ai, Desktop) | Settings › Connectors › Add custom connector › https://mcp.dialyne.com/mcp |
| ChatGPT | Settings › Connectors (developer mode) › Create › URL above, authentication OAuth |
| Claude Code | claude mcp add --transport http dialyne https://mcp.dialyne.com/mcp — or install this repo as a plugin (.claude-plugin/) |
| Cursor | Install this repo as a plugin (.cursor-plugin/), or ~/.cursor/mcp.json: {"mcpServers": {"dialyne": {"url": "https://mcp.dialyne.com/mcp"}}} |
| VS Code / Copilot | .vscode/mcp.json: {"servers": {"dialyne": {"type": "http", "url": "https://mcp.dialyne.com/mcp"}}} |
| Codex / ChatGPT plugins | plugin.json + mcp.json at the root (Agent Plugins format) and .codex-plugin/plugin.json |
| Gemini CLI | gemini extensions install https://github.com/dialyne/dialyne-mcp (gemini-extension.json) |
| OpenAI Responses API | {"type": "mcp", "server_label": "dialyne", "server_url": "https://mcp.dialyne.com/mcp", "headers": {"Authorization": "Bearer "}, "require_approval": "always"} |
| Hermes, OpenClaw | Skill in skills/dialyne-phone-call/ + API key in DIALYNE_API_KEY |
| n8n | examples/n8n/ (HTTP Request nodes), or the MCP Client tool with the URL above |
Step-by-step instructions an agent can follow on its own: llms-install.md.
| Tool | What it does |
|---|---|
place_phone_call | Calls a French number with a task in plain language; returns a call_id immediately (the call runs 1–10 min in the background). Optional language, scheduled_at, voice, idempotency_key. |
get_call | Status and written result; waits up to 50 s for news (answered, on hold, question, transfer, end). Repeat until done=true. |
answer_call_question | Relays the user's answer when the voice agent asks something during the call (within ~45 s). |
hold_call_question | Asks the callee for one more minute when the user needs time to answer a pending question (only if the callee agrees; never more than 2 minutes per question). |
transfer_call_to_user | Hands the live call over to the user's phone. |
schedule_callback | Calls the same number again later with the same task. |
cancel_call | Cancels a scheduled call or hangs up a live one. |
list_calls | Past and scheduled calls, searchable. |
get_account_balance | Minutes of conversation left and account limits. |
configure_agent_identity | Reads or changes how the voice agent introduces itself (name, tone, opening line, answer to "who is calling?", AI mention in the opening). Name and tone change freely; any other change needs the user's explicit, logged acceptance of the warning it returns. |
place_batch_calls | Places the same call to a list of French numbers (Pro and Enterprise plans, 100 numbers at most); returns a batch_id and one call_id per number. Never for marketing or mass calling. |
get_batch_calls | Progress and results of a batch: counts by status, successes, refused numbers, and each call's outcome and summary. |
Typical flow: place_phone_call → get_call(wait_seconds=25) until done → answer_call_question if a pending_question appears → report outcome and summary. Full reference: https://dialyne.com/docs/mcp
User: Call Le Lys on 05 34 00 11 22 and book a table for 4 on Friday around 8 pm, name Martin. I prefer indoors.
Agent:
place_phone_call(phone_number="+33534001122", task="Book a table for 4 on Friday around 8 pm for Martin. 7:30-9 pm is fine. Indoors preferred.")→get_call(...)→ the restaurant asks "terrace or indoors?" →answer_call_question(call_id, "Indoors, please")→get_call(...)
Agent: Done: table for 4 on Friday at 7:45 pm, indoors, under Martin. 20:00 was full.
Code examples: curl, Python, TypeScript, n8n.
configure_agent_identity; a change away from the recommended settings only applies after the user accepts a warning, which is logged, and the user is then responsible for those settings. One rule never changes: the agent never denies being an AI. Agents must show the warning to their user and never accept it on their behalf.[secret: value] and Dialyne masks it in what it stores (card numbers are masked automatically); for a payment, prefer handing the call to the user.Details: https://dialyne.com/legal/cgu
Same call quality on every plan; busy and unanswered calls are free; billed per second; hold time 0.04 € per minute.
Your phone number is free while your account is active. Details: https://dialyne.com/tarifs/
assets/ Dialyne logo (light, dark) and app icon
server.json MCP Registry entry (com.dialyne/dialyne, remote only) plugin.json, mcp.json Agent Plugins manifest (Cursor, Codex/ChatGPT) .claude-plugin/plugin.json Claude Code plugin (+ .mcp.json) .cursor-plugin/plugin.json Cursor plugin .codex-plugin/plugin.json Codex / ChatGPT presentation overlay gemini-extension.json Gemini CLI extension skills/dialyne-phone-call/ Agent skill (Claude Code, Codex, Cursor, Copilot, Gemini CLI, Hermes, OpenClaw) llms-install.md Install steps for AI agents examples/ curl, Python, TypeScript, n8n
MIT for everything in this repository (see LICENSE). The Dialyne service is subject to its own terms of service.