Open in
Χρησιμοποιήστε το ThunderPhone ως διακομιστή MCP
Δημιουργήστε, δοκιμάστε, επικυρώστε και διαχειριστείτε φωνητικούς πράκτορες ThunderPhone από το Claude, το ChatGPT, το Claude Code, το Codex, το Cursor, το VS Code ή άλλο πρόγραμμα-πελάτη Streamable HTTP MCP.
Το ThunderPhone παρέχει έναν διακομιστή Streamable HTTP Model Context Protocol στη διεύθυνση:
https://api.thunderphone.com/v1/mcpΑυτή είναι η αντίθετη κατεύθυνση από τη σύνδεση ενός απομακρυσμένου διακομιστή MCP με έναν φωνητικό πράκτορα:
| Κατεύθυνση | Αποτέλεσμα |
|---|---|
| Απομακρυσμένος διακομιστής MCP → πράκτορας ThunderPhone | Ένας φωνητικός πράκτορας μπορεί να καλεί τα εργαλεία του απομακρυσμένου διακομιστή. |
| ThunderPhone → το πρόγραμμα-πελάτη MCP σας | Ο πράκτορας προγραμματισμού σας μπορεί να δημιουργεί, να δοκιμάζει και να διαχειρίζεται το ThunderPhone. |
Έλεγχος ταυτότητας
Χρησιμοποιήστε OAuth από προεπιλογή για προγράμματα-πελάτες καταλόγου: συνδεθείτε, επιλέξτε έναν οργανισμό και εγκρίνετε τα ζητούμενα δικαιώματα. Ανακαλέστε την πρόσβαση από Οργανισμός → Κλειδιά API → Εξουσιοδοτημένες εφαρμογές.
Για προγράμματα-πελάτες που έχουν ρυθμιστεί με κλειδί API, δημιουργήστε ένα κλειδί sk_live_ από Οργανισμός → Κλειδιά και διαθέστε το στο πρόγραμμα-πελάτη MCP σας ως THUNDERPHONE_API_KEY. Το κλειδί συνδέεται με έναν οργανισμό· ένα αναγνωριστικό που ανήκει σε άλλον οργανισμό αντιμετωπίζεται ως να μην βρέθηκε.
Εναλλακτικές λύσεις CLI και τυπικής εισόδου/εξόδου
Το CLI του ThunderPhone μπορεί να εγγράψει ρυθμίσεις προγράμματος-πελάτη διατηρώντας άλλους διακομιστές:
npx -y @thunderphone/mcp setup --client cursor --api-key-env THUNDERPHONE_API_KEY
npx thunderphone mcp setup --client claude-desktop --scope userΜετά από καθολική εγκατάσταση του @thunderphone/mcp, χρησιμοποιήστε thunderphone-mcp setup με τις
ίδιες επιλογές. Η ρύθμιση υποστηρίζει Claude Code, Codex, Cursor, VS Code, Gemini, Claude
Desktop και Windsurf. Προτιμάται το άμεσο HTTP· το Desktop χρησιμοποιεί τυπική είσοδο/έξοδο.
Για οποιοδήποτε πρόγραμμα-πελάτη που υποστηρίζει τυπική είσοδο/έξοδο, ρυθμίστε το command: "npx" με
args: ["-y", "@thunderphone/mcp"]. Το περιτύλιγμα χρησιμοποιεί πρώτα το THUNDERPHONE_API_KEY,
έπειτα τα διαπιστευτήρια από το thunderphone login, ανανεώνοντας ληγμένα διακριτικά, και κατόπιν
OAuth μέσω του mcp-remote. Η σύνδεση μέσω συσκευής και το OAuth απαιτούν την αντίστοιχη ενεργοποίηση
OAuth του API. Η διαδρομή με κλειδί API δεν την απαιτεί. Οι άμεσες ρυθμίσεις HTTP δεν διαβάζουν
τον χώρο αποθήκευσης διαπιστευτηρίων του CLI· χρησιμοποιήστε το περιτύλιγμα τυπικής εισόδου/εξόδου για να επαναχρησιμοποιήσετε τη σύνδεση μέσω συσκευής.
Αυτές αποτελούν εναλλακτικές λύσεις στις μη αυτόματες ρυθμίσεις προγραμμάτων-πελατών παρακάτω.
Ρύθμιση παραμέτρων προγράμματος-πελάτη
Τα Claude και ChatGPT συνδέονται με OAuth, χωρίς να απαιτείται κλειδί API. Αν δεν έχετε ακόμη λογαριασμό ThunderPhone, επιλέξτε Δημιουργία λογαριασμού στη σελίδα σύνδεσης και, αφού επαληθεύσετε το email σας, θα επιστρέψετε στην οθόνη έγκρισης.
Claude (ιστός, επιτραπέζιος υπολογιστής και κινητό)
- Ανοίξτε Ρυθμίσεις → Συνδέσεις. Αν το ThunderPhone εμφανίζεται στον κατάλογο συνδέσεων, επιλέξτε το. Διαφορετικά, επιλέξτε Προσθήκη προσαρμοσμένης σύνδεσης, ονομάστε το
ThunderPhoneκαι εισαγάγετεhttps://api.thunderphone.com/v1/mcp. - Επιλέξτε Σύνδεση, συνδεθείτε στο ThunderPhone, επιλέξτε τον οργανισμό και εγκρίνετε τα δικαιώματα.
- Σε μια συνομιλία, ενεργοποιήστε το ThunderPhone από το μενού εργαλείων και ζητήστε ό,τι χρειάζεστε, για παράδειγμα «Εμφανίστε τους πράκτορές μου».
Οι προσαρμοσμένες συνδέσεις απαιτούν επί πληρωμή πρόγραμμα Claude. Στα προγράμματα Team και Enterprise, ένας κάτοχος προσθέτει πρώτα τη σύνδεση στις ρυθμίσεις συνδέσεων του οργανισμού και, στη συνέχεια, κάθε μέλος συνδέει τον δικό του λογαριασμό ThunderPhone.
ChatGPT
- Αν το ThunderPhone εμφανίζεται στον κατάλογο εφαρμογών του ChatGPT, επιλέξτε το και συνδεθείτε.
- Διαφορετικά, ανοίξτε Ρυθμίσεις → Εφαρμογές και συνδέσεις → Ρυθμίσεις για προχωρημένους, ενεργοποιήστε τη Λειτουργία προγραμματιστή και δημιουργήστε μια σύνδεση με τη διεύθυνση URL
https://api.thunderphone.com/v1/mcpκαι έλεγχο ταυτότητας OAuth. - Συνδεθείτε στο ThunderPhone, επιλέξτε τον οργανισμό και εγκρίνετε τα δικαιώματα. Προσθέστε το ThunderPhone σε μια συνομιλία από το μενού εργαλείων.
Η διαγραφή ενός πράκτορα ή αριθμού τηλεφώνου, η απόρριψη ενός προσχεδίου και η έναρξη μιας καμπάνιας ζητούν δεύτερη επιβεβαίωση σε οποιαδήποτε εφαρμογή· δείτε Επιβεβαίωση καταστροφικών ενεργειών.
Claude Code
claude mcp add --transport http thunderphone https://api.thunderphone.com/v1/mcp \
--header "Authorization: Bearer $THUNDERPHONE_API_KEY"Codex
Προσθέστε το παρακάτω στο ~/.codex/config.toml:
[mcp_servers.thunderphone]
url = "https://api.thunderphone.com/v1/mcp"
bearer_token_env_var = "THUNDERPHONE_API_KEY"Cursor
Δημιουργήστε το .cursor/mcp.json:
{
"mcpServers": {
"thunderphone": {
"url": "https://api.thunderphone.com/v1/mcp",
"headers": {
"Authorization": "Bearer ${env:THUNDERPHONE_API_KEY}"
}
}
}
}Claude Desktop
Προσθέστε μια γέφυρα mcp-remote στη ρύθμιση παραμέτρων του Claude Desktop:
{
"mcpServers": {
"thunderphone": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.thunderphone.com/v1/mcp",
"--header",
"Authorization: Bearer ${THUNDERPHONE_API_KEY}"
],
"env": {
"THUNDERPHONE_API_KEY": "sk_live_YOUR_API_KEY"
}
}
}
}VS Code
Δημιουργήστε το .vscode/mcp.json και εισαγάγετε το κλειδί μέσω του πλαισίου εισαγωγής του VS Code:
{
"inputs": [
{
"type": "promptString",
"id": "thunderphone-api-key",
"description": "ThunderPhone organization API key",
"password": true
}
],
"servers": {
"thunderphone": {
"type": "http",
"url": "https://api.thunderphone.com/v1/mcp",
"headers": {
"Authorization": "Bearer ${input:thunderphone-api-key}"
}
}
}
}Εργαλεία
Κάθε εργαλείο φέρει επισημάνσεις MCP. Στους πίνακες, το R σημαίνει μόνο για ανάγνωση, το D καταστροφικό, το I ιδιομορφικό και το O αλληλεπίδραση με ανοικτό κόσμο/δίκτυο. Η παύλα σημαίνει ότι δεν έχει οριστεί κάποια ένδειξη.
Πράκτορες
| Εργαλείο | Κύρια ορίσματα | Επισημάνσεις | Τι κάνει |
|---|---|---|---|
list_agents | — | R, I | Παραθέτει τους πράκτορες. |
get_agent | agent_id | R, I | Ανακτά έναν πράκτορα. |
create_agent | διαμόρφωση πράκτορα | — | Δημιουργεί έναν πράκτορα. |
update_agent | agent_id, τροποποιημένα πεδία | — | Προετοιμάζει πεδία στο πρόχειρο του πράκτορα. |
deploy_agent | agent_id, προαιρετικό if_updated_at | I | Προωθεί το πρόχειρο στην παραγωγή. |
discard_agent_draft | agent_id, προαιρετικό if_updated_at, confirmation_token στο δεύτερο αίτημα | D, I | Απορρίπτει τις προετοιμασμένες αλλαγές. Δύο βήματα, δείτε Επιβεβαίωση καταστροφικών ενεργειών. |
duplicate_agent | agent_id, προαιρετικό name | — | Αντιγράφει έναν πράκτορα εντός του οργανισμού. |
delete_agent | agent_id, confirmation_token στο δεύτερο αίτημα | D, I | Διαγράφει οριστικά έναν πράκτορα. Δύο βήματα. |
list_agent_versions | agent_id | R, I | Παραθέτει τις εκδοχές διαμόρφωσης που έχουν αναπτυχθεί. |
Αριθμοί τηλεφώνου και πάροχοι
| Εργαλείο | Κύρια ορίσματα | Επισημάνσεις | Τι κάνει |
|---|---|---|---|
list_phone_numbers | — | R, I | Παραθέτει τους αριθμούς του οργανισμού και τη δρομολόγηση. |
get_phone_number_limits | — | R, I | Ανακτά τη χρήση και τα όρια των διαχειριζόμενων αριθμών. |
provision_phone_number | προαιρετικά area_code, city, state, idempotency_key | O | Αγοράζει έναν εισερχόμενο αριθμό που διαχειρίζεται το ThunderPhone. |
list_voip_connections | — | R, I | Παραθέτει τους συνδεδεμένους παρόχους των πελατών. |
search_voip_numbers | connection_id, country, type, προαιρετικό area_code | R, I, O | Αναζητά το απόθεμα του παρόχου. |
import_voip_numbers | connection_id, numbers | O | Εισάγει αριθμούς που ανήκουν ήδη στον πάροχο. |
update_phone_number | phone_number_id, πεδία δρομολόγησης/ετικέτας/webhook | — | Ενημερώνει τη δρομολόγηση αριθμού, συμπεριλαμβανομένης της ανάθεσης πράκτορα. |
delete_phone_number | phone_number_id, confirm, προαιρετικά release_at_provider, confirmation_token στο δεύτερο αίτημα | D, I, O | Απελευθερώνει έναν αριθμό. Δύο βήματα. |
Κλήσεις
| Εργαλείο | Κύρια ορίσματα | Επισημάνσεις | Τι κάνει |
|---|---|---|---|
list_calls | προαιρετικά φίλτρα, limit, offset | R, I | Παραθέτει κλήσεις με τα φίλτρα ιστορικού κλήσεων REST. |
get_call | call_id | R, I | Ανακτά την κατάσταση και τα μεταδεδομένα κλήσης. |
get_call_transcript | call_id, προαιρετικό live | R, I | Ανακτά την απομαγνητοφώνηση της κλήσης. |
get_call_audio_url | call_id, προαιρετικό download | R, I, O | Επιστρέφει ένα υπογεγραμμένο URL ήχου· δεν μεταδίδει ποτέ ήχο μέσω MCP. |
get_call_grade | call_id | R, I | Ανακτά την πιο πρόσφατη αξιολόγηση κλήσης. |
place_call | agent_id, from_number, to_number | O | Πραγματοποιεί μία μη ιδιομορφική εξερχόμενη κλήση. |
export_calls | φίλτρα κλήσεων, export_format | R, I | Εξάγει έως το όριο του τερματικού REST ως JSON ή CSV. |
Δοκιμές και επικύρωση
| Εργαλείο | Κύρια ορίσματα | Επισημάνσεις | Τι κάνει |
|---|---|---|---|
list_test_scenarios | agent_id | R, I | Παραθέτει σενάρια δοκιμών. |
create_test_scenario | agent_id, title, scenario_prompt, προαιρετικές συνθήκες | — | Δημιουργεί ένα σενάριο. |
generate_test_scenarios | agent_id, προαιρετικά count, include_edge_cases, locale | O | Δημιουργεί σενάρια από την προτροπή του πράκτορα. |
run_agent_tests | agent_id, channel, consent_to_charge, προαιρετική επιλογή/μήτρα | O | Εκτελεί σενάρια μέσω ιστού ή τηλεφωνίας. |
get_test_run | agent_id, batch_id | R, I | Ανακτά την κατάσταση παρτίδας και τα αποτελέσματα ανά σενάριο. |
list_validation_runs | agent_id | R, I | Παραθέτει πρόσφατες εκτελέσεις επικύρωσης προχείρου. |
get_validation_status | agent_id | R, I | Ανακτά την πιο πρόσφατη κατάσταση επικύρωσης και την αντιστοίχιση προχείρου. |
Γνώση
| Εργαλείο | Κύρια ορίσματα | Επισημάνσεις | Τι κάνει |
|---|---|---|---|
list_knowledge_bases | — | R, I | Παραθέτει βάσεις γνώσης. |
create_knowledge_base | name, προαιρετικό description | — | Δημιουργεί μια βάση γνώσης. |
add_knowledge_document | knowledge_base_id, name, content | — | Προσθέτει κείμενο ή Markdown. |
import_knowledge_url | url, προαιρετικό name | O | Προσθέτει μια δημόσια σελίδα στην ουρά για ασφαλή εισαγωγή. |
search_knowledge | knowledge_base_id, query | R, I | Αναζητά μέσω ανάκτησης παραγωγής. |
Ενσωματώσεις, webhooks και απομακρυσμένοι διακομιστές MCP
| Εργαλείο | Κύρια ορίσματα | Επισημάνσεις | Τι κάνει |
|---|---|---|---|
list_integrations | — | R, I | Παραθέτει ενσωματώσεις συναρτήσεων HTTP. |
create_integration | display_name, spec συνάρτησης, προαιρετικά πεδία τερματικού | — | Δημιουργεί ένα εργαλείο HTTP. |
test_integration | url, προαιρετικά μέθοδος/κεφαλίδες/σώμα/χρονικό όριο | O | Στέλνει ένα περιορισμένο, προστατευμένο από SSRF αίτημα δοκιμής. |
list_webhook_endpoints | — | R, I | Παραθέτει υπογεγραμμένα τερματικά webhook. |
create_webhook_endpoint | label, url, προαιρετικά συμβάντα/κατάσταση | O | Δημιουργεί ένα υπογεγραμμένο τερματικό webhook. |
test_webhook_endpoint | endpoint_id | O | Στέλνει ένα συνθετικό συμβάν μέσω κανονικής παράδοσης. |
list_mcp_servers | — | R, I | Παραθέτει απομακρυσμένους διακομιστές που μπορούν να καλούνται από φωνητικούς πράκτορες. |
create_mcp_server | display_name, url, προαιρετικές κεφαλίδες | O | Καταχωρίζει και συγχρονίζει έναν απομακρυσμένο διακομιστή. |
sync_mcp_server_tools | server_id | O | Ανανεώνει τον κατάλογο εργαλείων ενός απομακρυσμένου διακομιστή. |
Εκστρατείες
| Εργαλείο | Κύρια ορίσματα | Επισημάνσεις | Τι κάνει |
|---|---|---|---|
list_campaigns | — | R, I | Παραθέτει εξερχόμενες εκστρατείες. |
create_campaign | πεδία εκστρατείας | — | Δημιουργεί μια πρόχειρη εκστρατεία. |
add_campaign_contacts | campaign_id, contacts | — | Προσθέτει έως 5.000 επαφές JSON. |
campaign_action | campaign_id, action, προαιρετικά consent_to_charge, confirmation_token στο δεύτερο αίτημα | D, O | Εκτελεί start, pause, resume ή stop. Τα start και resume έχουν δύο βήματα· τα pause και stop εκτελούνται αμέσως. |
get_campaign_stats | campaign_id | R, I | Ανακτά μετρητές και πρόσφατα αποτελέσματα. |
Φωνές, χρέωση, εισαγωγές και τεκμηρίωση
| Εργαλείο | Κύρια ορίσματα | Επισημάνσεις | Τι κάνει |
|---|---|---|---|
list_voices | — | R, I | Παραθέτει φωνές και υποστηριζόμενες γλώσσες. |
preview_voice | voice, language, text | O | Δημιουργεί ένα δείγμα και επιστρέφει ένα υπογεγραμμένο URL. |
list_voice_clones | — | R, I | Παραθέτει προσαρμοσμένους κλώνους φωνής. |
get_billing_summary | — | R, I | Ανακτά το υπόλοιπο και τις έγκυρες τιμές βαθμίδων· δεν εκτίθενται μεταβολές πληρωμών. |
create_agent_import | vendor, vendor_key | O | Ξεκινά μια κρυπτογραφημένη εισαγωγή από Vapi, Retell, ElevenLabs ή Bland. |
get_agent_import | public_id | R, I | Ανακτά την προτεινόμενη διαφορά εισαγωγής. |
commit_agent_import | public_id | — | Οριστικοποιεί επιλεγμένους πράκτορες από ένα ελεγμένο πλάνο. |
search_docs | query, προαιρετικό limit | R, I, O | Αναζητά στο ευρετήριο δημόσιας τεκμηρίωσης. |
get_doc_page | path | R, I, O | Ανακτά μία δημόσια σελίδα τεκμηρίωσης Markdown. |
Όλα τα εργαλεία προϊόντος χρησιμοποιούν τις ίδιες διαδρομές κώδικα REST με το δημόσιο API. Επομένως, η επικύρωση REST, ο περιορισμός στον οργανισμό, οι ρόλοι, η έγκριση χρέωσης, οι ποσοστώσεις, η επιβεβαίωση TCPA, η ασφάλεια παρόχου και η συμπεριφορά ελέγχου εφαρμόζονται χωρίς αλλαγές.
Επιβεβαίωση καταστροφικών ενεργειών
Τα εργαλεία με σήμανση D αλλάζουν ή αφαιρούν κάτι που δεν μπορεί να αποκατασταθεί ή ξεκινούν την κλήση πραγματικών ατόμων. Απαιτούν δύο αιτήματα. Το πρώτο αίτημα δεν αλλάζει τίποτα και επιστρέφει:
{
"status": "confirmation_required",
"action": "Delete agent",
"target": { "id": 195, "name": "Front Desk Receptionist" },
"confirmation_token": "…",
"expires_in_seconds": 600,
"next_step": "…"
}Ο βοηθός δείχνει στον χρήστη τι επηρεάζεται και ζητά επιβεβαίωση. Στη συνέχεια επαναλαμβάνει το αίτημα με τα ίδια ορίσματα μαζί με το confirmation_token. Ένα διακριτικό είναι έγκυρο για 10 λεπτά και καλύπτει έναν οργανισμό, ένα εργαλείο και ένα ακριβές σύνολο ορισμάτων, επομένως η διαγραφή τριών πρακτόρων απαιτεί τρεις επιβεβαιώσεις. Το campaign_action με pause ή stop παραλείπει αυτό το βήμα, ώστε μια εκτελούμενη καμπάνια να μπορεί πάντα να διακόπτεται αμέσως.
Αρχικά προτροπές
Το prompts/list παρέχει έξι επαναχρησιμοποιήσιμες ροές εργασίας:
create_inbound_receptionistrun_agent_testsimport_vapi_assistantsbuy_and_attach_numberreview_low_grade_callsadd_url_to_agent_knowledge
Χρησιμοποιήστε το prompts/get με το όνομα της αναφερόμενης προτροπής και τα δηλωμένα ορίσματά της για να λάβετε ένα έτοιμο προς εκτέλεση μήνυμα χρήστη.
Πόροι
Το resources/list εκθέτει δημόσιες, αποθηκευμένες στην προσωρινή μνήμη αναφορές:
| URI | Περιεχόμενο |
|---|---|
thunderphone://docs/llms.txt | Ευρετήριο δημόσιας τεκμηρίωσης. |
thunderphone://docs/quickstart | Markdown γρήγορης εκκίνησης. |
thunderphone://pricing | Markdown τρεχουσών δημόσιων τιμών. |
Διαβάστε έναν πόρο με το resources/read. Οι δημόσιες ανακτήσεις χρησιμοποιούν σύντομο χρονικό όριο, όριο 2 MiB και δεκάλεπτη προσωρινή μνήμη εντός διεργασίας.
Πρωτόκολλο και σφάλματα
Ο διακομιστής υποστηρίζει τις εκδόσεις πρωτοκόλλου 2025-06-18 και 2025-03-26; επιστρέφει ως απόκριση μια υποστηριζόμενη έκδοση πελάτη και διαφορετικά επιλέγει την 2025-06-18. Υλοποιεί τα initialize, ping, εργαλεία, προτροπές, πόρους και ειδοποιήσεις. Οι ειδοποιήσεις επιστρέφουν 202 Accepted. Αυτός ο διακομιστής χωρίς κατάσταση δεν εκθέτει ακροατή SSE ή διαγραφή συνεδρίας, επομένως τα GET και DELETE επιστρέφουν 405 Method Not Allowed με Allow: POST.
Οι αποτυχίες εργαλείων παραμένουν επιτυχημένες αποκρίσεις JSON-RPC με isError: true. Το κείμενό τους περιέχει μια σύντομη πρόταση ακολουθούμενη από ένα μπλοκ JSON:
{
"code": "insufficient_balance",
"detail": "There is not enough prepaid balance.",
"next_step": "Call get_billing_summary, add funds in Organization > Billing, then retry."
}Το διακριτό πρόθεμα outbound_tcpa_confirmation_required: διατηρείται για το place_call. Άγνωστες μέθοδοι JSON-RPC επιστρέφουν -32601 σε απόκριση HTTP 200. Οι δέσμες JSON-RPC δεν υποστηρίζονται από το MCP 2025-06-18 και επιστρέφουν καθαρό σφάλμα μη έγκυρου αιτήματος -32600.