ThunderPhone 2.0 अब लाइव है।सेल्फ़-सर्व, 2¢/मिनट से।घोषणा पढ़ें

Connect tools & data

ThunderPhone को MCP सर्वर के रूप में उपयोग करें

Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code या किसी अन्य Streamable HTTP MCP क्लाइंट से ThunderPhone वॉइस एजेंट बनाएं, टेस्ट करें, वैलिडेट करें और संचालित करें।

ThunderPhone यहां एक स्ट्रीमेबल HTTP मॉडल कॉन्टेक्स्ट प्रोटोकॉल सर्वर उपलब्ध कराता है:

https://api.thunderphone.com/v1/mcp

यह किसी रिमोट MCP सर्वर को वॉइस एजेंट से कनेक्ट करने की विपरीत दिशा है:

दिशापरिणाम
रिमोट MCP सर्वर → ThunderPhone एजेंटएक वॉइस एजेंट रिमोट सर्वर के टूल्स को कॉल कर सकता है।
ThunderPhone → आपका MCP क्लाइंटआपका कोडिंग एजेंट ThunderPhone को बिल्ड, टेस्ट और ऑपरेट कर सकता है।

प्रमाणित करें

डायरेक्टरी क्लाइंट्स के लिए डिफ़ॉल्ट रूप से OAuth का उपयोग करें: साइन इन करें, एक संगठन चुनें, और मांगी गई अनुमतियों को अनुमोदित करें। संगठन → API कीज़ → अधिकृत ऐप्स में जाकर एक्सेस रद्द करें।

API key के साथ कॉन्फ़िगर किए गए क्लाइंट्स के लिए, संगठन → कीज़ में sk_live_ key बनाएं और इसे अपने MCP क्लाइंट में THUNDERPHONE_API_KEY के रूप में उपलब्ध कराएं। key एक संगठन से बंधी होती है; किसी दूसरे संगठन के स्वामित्व वाली id न मिलने जैसा व्यवहार करती है।

CLI और stdio विकल्प

ThunderPhone CLI असंबंधित सर्वर्स को बनाए रखते हुए क्लाइंट कॉन्फ़िगरेशन लिख सकता है:

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 stdio का उपयोग करता है।

किसी भी stdio-सक्षम क्लाइंट के लिए, command: "npx" को args: ["-y", "@thunderphone/mcp"] के साथ कॉन्फ़िगर करें। रैपर पहले THUNDERPHONE_API_KEY का उपयोग करता है, फिर thunderphone login के क्रेडेंशियल्स का, एक्सपायर हुए टोकन्स को रीफ्रेश करता है, और उसके बाद mcp-remote के माध्यम से OAuth का उपयोग करता है। डिवाइस लॉगिन और OAuth के लिए संबंधित API OAuth रोलआउट आवश्यक है। API key पाथ के लिए नहीं। सीधे HTTP कॉन्फ़िगरेशन CLI क्रेडेंशियल स्टोर को नहीं पढ़ते; डिवाइस लॉगिन को दोबारा उपयोग करने के लिए stdio रैपर का उपयोग करें।

ये नीचे दिए गए मैन्युअल क्लाइंट कॉन्फ़िगरेशन के विकल्प हैं।

क्लाइंट कॉन्फ़िगरेशन

Claude और ChatGPT OAuth के साथ साइन इन करते हैं; इसमें कोई API key शामिल नहीं होती। अगर आपका अभी तक ThunderPhone अकाउंट नहीं है, तो साइन-इन पेज पर अकाउंट बनाएं चुनें और अपना ईमेल सत्यापित करने के बाद आप अप्रूवल स्क्रीन पर वापस आ जाएंगे।

Claude (वेब, डेस्कटॉप और मोबाइल)

  1. कस्टमाइज़ → कनेक्टर्स खोलें (पुराने वर्ज़न में सेटिंग्स → कनेक्टर्स)। अगर ThunderPhone कनेक्टर डायरेक्टरी में दिखता है, तो उसे चुनें। अन्यथा कस्टम कनेक्टर जोड़ें चुनें, उसका नाम ThunderPhone रखें और https://api.thunderphone.com/v1/mcp दर्ज करें।
  2. कनेक्ट चुनें, ThunderPhone में साइन इन करें, संगठन चुनें और परमिशन अप्रूव करें।
  3. किसी चैट में, टूल्स मेनू से ThunderPhone सक्षम करें और अपनी ज़रूरत के लिए पूछें, उदाहरण के लिए "मेरे एजेंट्स की सूची दिखाएं"।

Claude हर टूल का पहली बार उपयोग करने से पहले पूछता है। इनमें से ज़्यादातर प्रॉम्प्ट छोड़ने के लिए, कस्टमाइज़ → कनेक्टर्स → ThunderPhone खोलें और रीड-ओनली टूल्स को हमेशा अनुमति देने के लिए सेट करें। ये टूल्स केवल जानकारी देखते हैं: एजेंट्स, कॉल्स, ट्रांसक्रिप्ट्स, बैलेंस, डॉक्स। अगर आप हर बदलाव होने से पहले उसे देखना चाहते हैं, तो राइट/डिलीट टूल्स को अप्रूवल पर ही रखें।

कस्टम कनेक्टर्स के लिए पेड Claude प्लान चाहिए। Team और Enterprise प्लान में, पहले कोई ओनर संगठन की कनेक्टर सेटिंग्स के अंतर्गत कनेक्टर जोड़ता है, फिर हर सदस्य अपना ThunderPhone अकाउंट कनेक्ट करता है।

ChatGPT

  1. अगर ThunderPhone ChatGPT ऐप डायरेक्टरी में दिखता है, तो उसे चुनें और कनेक्ट करें।
  2. अन्यथा सेटिंग्स → ऐप्स और कनेक्टर्स → एडवांस्ड सेटिंग्स खोलें, डेवलपर मोड चालू करें और URL https://api.thunderphone.com/v1/mcp तथा OAuth ऑथेंटिकेशन के साथ एक कनेक्टर बनाएं।
  3. 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

Claude Desktop कॉन्फ़िगरेशन में एक mcp-remote ब्रिज जोड़ें:

{
  "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 के इनपुट प्रॉम्प्ट के माध्यम से key दर्ज करें:

{
  "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 का अर्थ ओपन-वर्ल्ड/नेटवर्क इंटरैक्शन है। डैश का अर्थ है कि कोई संकेत सेट नहीं है।

कनेक्शन

टूलमुख्य आर्ग्युमेंटएनोटेशनयह क्या करता है
get_connection_identity—R, Iक्रेडेंशियल को वैलिडेट करता है और उसका संगठन तथा सुरक्षित क्रेडेंशियल मेटाडेटा लौटाता है।

एजेंट्स

टूलमुख्य आर्ग्युमेंटएनोटेशनयह क्या करता है
list_agents—R, Iएजेंट की सूची देता है।
get_agentagent_idR, Iएक एजेंट प्राप्त करता है।
create_agentएजेंट कॉन्फ़िगरेशन—एक एजेंट बनाता है।
update_agentagent_id, बदले गए फ़ील्डDएजेंट ड्राफ़्ट में फ़ील्ड स्टेज करता है और ड्राफ़्ट में मौजूद फ़ील्ड को बदल देता है। यह कन्फ़र्मेशन चरण के बिना चलता है: deploy_agent तक डिप्लॉय किया गया एजेंट अपरिवर्तित रहता है और discard_agent_draft ड्राफ़्ट को वापस कर देता है।
deploy_agentagent_id, वैकल्पिक if_updated_atD, Iड्राफ़्ट को प्रोडक्शन में प्रमोट करता है।
discard_agent_draftagent_id, वैकल्पिक if_updated_at, दूसरे अनुरोध पर confirmation_tokenD, Iस्टेज किए गए बदलावों को त्यागता है। दो चरणों वाली प्रक्रिया, विनाशकारी कार्रवाइयों की पुष्टि देखें।
duplicate_agentagent_id, वैकल्पिक name—संगठन के भीतर एक एजेंट की कॉपी बनाता है।
delete_agentagent_id, दूसरे अनुरोध पर confirmation_tokenD, Iएक एजेंट को स्थायी रूप से हटाता है। दो चरणों वाली प्रक्रिया।
list_agent_versionsagent_idR, Iडिप्लॉय किए गए कॉन्फ़िगरेशन वर्ज़न की सूची देता है।

फ़ोन नंबर और कैरियर्स

टूलमुख्य आर्ग्यूमेंटएनोटेशनयह क्या करता है
list_phone_numbers—R, Iसंगठन के नंबर और रूटिंग की सूची देता है।
get_phone_number_limits—R, Iमैनेज्ड नंबर के उपयोग और सीमाएं प्राप्त करता है।
provision_phone_numberवैकल्पिक area_code, city, state, idempotency_keyD, OThunderPhone द्वारा मैनेज किया गया इनबाउंड नंबर खरीदता है।
list_voip_connections—R, Iकनेक्ट किए गए ग्राहक कैरियर की सूची देता है।
search_voip_numbersconnection_id, country, type, वैकल्पिक area_codeR, I, Oकैरियर इन्वेंट्री में खोज करता है।
import_voip_numbersconnection_id, numbersD, Oकैरियर पर पहले से स्वामित्व वाले नंबर इंपोर्ट करता है।
update_phone_numberphone_number_id, रूटिंग/लेबल/webhook फ़ील्डDएजेंट असाइनमेंट सहित नंबर रूटिंग अपडेट करता है।
delete_phone_numberphone_number_id, confirm, वैकल्पिक release_at_provider, दूसरे अनुरोध पर confirmation_tokenD, I, Oएक नंबर रिलीज़ करता है। दो चरण।

SMS

टूलमुख्य आर्ग्युमेंटएनोटेशनयह क्या करता है
send_smsfrom_number, to, body, idempotency_keyD, I, Oकनेक्ट किए गए Twilio या Telnyx नंबर के माध्यम से एक सादा-टेक्स्ट SMS भेजता है।

कॉल्स

टूलमुख्य आर्ग्युमेंटएनोटेशनयह क्या करता है
list_callsवैकल्पिक फ़िल्टर, limit, offsetR, IREST कॉल हिस्ट्री फ़िल्टर के साथ कॉल सूचीबद्ध करता है।
get_callcall_idR, Iकॉल की स्थिति और मेटाडेटा प्राप्त करता है।
get_call_transcriptcall_id, वैकल्पिक liveR, Iकॉल ट्रांसक्रिप्ट प्राप्त करता है।
get_call_audio_urlcall_id, वैकल्पिक downloadR, I, Oसाइन किया हुआ ऑडियो URL लौटाता है; यह MCP के माध्यम से कभी ऑडियो स्ट्रीम नहीं करता।
get_call_gradecall_idR, Iनवीनतम कॉल ग्रेड प्राप्त करता है।
place_callagent_id, from_number, to_numberD, Oएक गैर-आइडेम्पोटेंट आउटबाउंड कॉल करता है।
export_callsकॉल फ़िल्टर, export_formatR, IREST एंडपॉइंट की सीमा तक कॉल को JSON या CSV के रूप में एक्सपोर्ट करता है।

टेस्टिंग और वैलिडेशन

टूलमुख्य आर्ग्युमेंटएनोटेशनयह क्या करता है
list_test_scenariosagent_idR, Iटेस्ट सिनेरियो सूचीबद्ध करता है।
create_test_scenarioagent_id, title, scenario_prompt, वैकल्पिक कंडीशन—एक सिनेरियो बनाता है।
generate_test_scenariosagent_id, वैकल्पिक count, include_edge_cases, localeOएजेंट प्रॉम्प्ट से सिनेरियो जनरेट करता है।
run_agent_testsagent_id, channel, consent_to_charge, वैकल्पिक चयन/मैट्रिक्सD, Oवेब या टेलीफोनी के माध्यम से सिनेरियो निष्पादित करता है।
get_test_runagent_id, batch_idR, Iबैच स्टेटस और प्रति-सिनेरियो परिणाम प्राप्त करता है।
list_validation_runsagent_idR, Iहाल के ड्राफ्ट वैलिडेशन रन सूचीबद्ध करता है।
get_validation_statusagent_idR, Iनवीनतम वैलिडेशन स्टेट और ड्राफ्ट मैच प्राप्त करता है।

नॉलेज

टूलमुख्य आर्ग्युमेंटएनोटेशनयह क्या करता है
list_knowledge_bases—R, Iनॉलेज बेस की सूची देता है।
create_knowledge_basename, वैकल्पिक description—एक नॉलेज बेस बनाता है।
add_knowledge_documentknowledge_base_id, name, content—टेक्स्ट या Markdown जोड़ता है।
import_knowledge_urlurl, वैकल्पिक nameOसुरक्षित इनजेशन के लिए एक सार्वजनिक पेज को क्यू में डालता है।
search_knowledgeknowledge_base_id, queryR, Iप्रोडक्शन रिट्रीवल में खोजता है।

इंटीग्रेशन्स, वेबहुक्स और रिमोट MCP सर्वर्स

टूलमुख्य आर्ग्युमेंटएनोटेशनयह क्या करता है
list_integrations—R, IHTTP फ़ंक्शन इंटीग्रेशन की सूची देता है।
create_integrationdisplay_name, फ़ंक्शन spec, वैकल्पिक एंडपॉइंट फ़ील्ड—एक HTTP टूल बनाता है। डैशबोर्ड में ऑथेंटिकेशन हेडर जोड़ें।
test_integrationurl, वैकल्पिक मेथड/बॉडी/टाइमआउट, header_names के साथ integration_id, दूसरे रिक्वेस्ट पर confirmation_tokenD, Oएक सीमित, SSRF-सुरक्षित टेस्ट रिक्वेस्ट भेजता है। सेव किए गए हेडर वैल्यू इंटीग्रेशन से भरे जाते हैं और केवल उसके अपने होस्ट को भेजे जाते हैं। POST (डिफ़ॉल्ट), PUT, PATCH और DELETE दो-स्टेप वाले हैं; GET तुरंत चलता है।
list_webhook_endpoints—R, Iसाइन किए गए वेबहुक एंडपॉइंट की सूची देता है।
list_webhook_deliveriesवैकल्पिक agent_id, वैकल्पिक endpoint_idR, Iहाल के पेलोड-रहित वेबहुक डिलीवरी परिणामों की सूची देता है।
create_webhook_endpointlabel, url, वैकल्पिक इवेंट/स्टेटसOएक साइन किया गया वेबहुक एंडपॉइंट बनाता है।
test_webhook_endpointendpoint_idOसामान्य डिलीवरी के माध्यम से एक सिंथेटिक इवेंट भेजता है।
list_mcp_servers—R, Iवॉइस एजेंट द्वारा कॉल किए जा सकने वाले रिमोट सर्वर की सूची देता है।
create_mcp_serverdisplay_name, urlOएक रिमोट सर्वर को रजिस्टर और सिंक करता है। जिन सर्वर को ऑथेंटिकेशन हेडर चाहिए, उन्हें डैशबोर्ड में जोड़ें।
sync_mcp_server_toolsserver_idD, Oरिमोट सर्वर के टूल कैटलॉग को रिफ्रेश करता है।

कैंपेन्स

टूलमुख्य आर्ग्युमेंटएनोटेशनयह क्या करता है
list_campaigns—R, Iआउटबाउंड कैंपेन्स की सूची देता है।
create_campaignकैंपेन फ़ील्ड्स—एक ड्राफ़्ट कैंपेन बनाता है।
add_campaign_contactscampaign_id, contacts—अधिकतम 5,000 JSON कॉन्टैक्ट्स जोड़ता है।
campaign_actioncampaign_id, action, वैकल्पिक consent_to_charge, दूसरे रिक्वेस्ट पर confirmation_tokenD, Ostart, pause, resume, या stop चलाता है। start और resume दो-चरणीय हैं; pause और stop तुरंत चलते हैं।
get_campaign_statscampaign_idR, Iकाउंटर्स और हाल के परिणाम प्राप्त करता है।

वॉइस, बिलिंग और दस्तावेज़

टूलमुख्य आर्ग्युमेंटएनोटेशनयह क्या करता है
list_voices—R, Iवॉइस और समर्थित भाषाओं की सूची देता है।
preview_voicevoice, language, textOएक सैंपल जनरेट करता है और एक साइन किया हुआ URL लौटाता है।
list_voice_clones—R, Iकस्टम वॉइस क्लोन की सूची देता है।
get_billing_summary—R, Iबैलेंस और आधिकारिक टियर मूल्य प्राप्त करता है; कोई पेमेंट परिवर्तन एक्सपोज़ नहीं किए जाते।
search_docsquery, वैकल्पिक limitR, I, Oसार्वजनिक दस्तावेज़ इंडेक्स में खोजता है।
get_doc_pagepathR, I, Oएक सार्वजनिक Markdown दस्तावेज़ पेज प्राप्त करता है।

सभी प्रोडक्ट टूल्स सार्वजनिक API के समान REST कोड पाथ्स का उपयोग करते हैं। इसलिए 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 मिनट के लिए वैध होता है और एक संगठन, एक टूल और आर्ग्युमेंट्स के एक सटीक सेट को कवर करता है, इसलिए तीन एजेंट हटाने के लिए तीन पुष्टियों की आवश्यकता होती है। pause या stop के साथ campaign_action इस चरण को छोड़ देता है, ताकि चल रहे कैंपेन को हमेशा तुरंत रोका जा सके; GET के साथ test_integration भी ऐसा ही करता है। कुछ D टूल एक ही अनुरोध में चलते हैं, क्योंकि D उनके प्रभाव को चिह्नित करता है, सर्वर-साइड पुष्टि को नहीं: update_agent ड्राफ्ट में मौजूद कॉन्फ़िगरेशन को बदल देता है (discard_agent_draft इसे वापस करता है), deploy_agent लाइव कॉन्फ़िगरेशन को बदल देता है, update_phone_number लाइव कॉल को दोबारा रूट करता है, sync_mcp_server_tools रिमोट सर्वर के टूल कैटलॉग को बदल देता है, import_voip_numbers नंबरों को आपके कैरियर पर दोबारा पॉइंट करता है, run_agent_tests क्रेडिट खर्च कर सकता है, send_sms और place_call किसी वास्तविक व्यक्ति तक पहुंचते हैं (place_call अपनी अलग सहमति पुष्टि रखता है), और provision_phone_number एक नंबर खरीदता है। आपका MCP क्लाइंट फिर भी आपसे इन्हें मंज़ूरी देने के लिए कह सकता है।

स्टार्टर प्रॉम्प्ट

prompts/list पाँच दोबारा इस्तेमाल किए जा सकने वाले वर्कफ़्लो उपलब्ध कराता है:

  • create_inbound_receptionist
  • run_agent_tests
  • buy_and_attach_number
  • review_low_grade_calls
  • add_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, Allow: POST के साथ 405 Method Not Allowed लौटाते हैं।

टूल विफलताएं isError: true के साथ सफल JSON-RPC रिस्पॉन्स ही रहती हैं। इनके टेक्स्ट में एक छोटे वाक्य के बाद JSON ब्लॉक होता है:

{
  "code": "insufficient_balance",
  "detail": "There is not enough prepaid balance.",
  "next_step": "Call get_billing_summary, add funds in Organization > Billing, then retry."
}

place_call के लिए अलग outbound_tcpa_confirmation_required: प्रीफ़िक्स बनाए रखा गया है। अज्ञात JSON-RPC मेथड HTTP 200 रिस्पॉन्स में -32601 लौटाते हैं। MCP 2025-06-18 JSON-RPC बैच को सपोर्ट नहीं करता और एक साफ़ -32600 अमान्य-अनुरोध त्रुटि लौटाता है।