---
title: "ThunderPhone ને MCP સર્વર તરીકે ઉપયોગ કરો"
description: "Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code અથવા અન્ય Streamable HTTP MCP ક્લાયંટમાંથી ThunderPhone વૉઇસ એજન્ટ્સ બનાવો, પરીક્ષણ કરો, માન્ય કરો અને સંચાલિત કરો."
---

ThunderPhone અહીં Streamable HTTP Model Context Protocol સર્વર પ્રદાન કરે છે:

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

આ [વૉઇસ એજન્ટ સાથે રિમોટ MCP સર્વર કનેક્ટ કરવાની](/gu/guides/mcp-servers) વિરુદ્ધ દિશા છે:

| દિશા | પરિણામ |
| --- | --- |
| રિમોટ MCP સર્વર → ThunderPhone એજન્ટ | વૉઇસ એજન્ટ રિમોટ સર્વરના ટૂલ્સ કૉલ કરી શકે છે. |
| ThunderPhone → તમારો MCP ક્લાયન્ટ | તમારો કોડિંગ એજન્ટ ThunderPhone બનાવી, પરીક્ષણ કરી અને સંચાલિત કરી શકે છે. |

## પ્રમાણીકરણ કરો

ડિરેક્ટરી ક્લાયન્ટ્સ માટે ડિફૉલ્ટ રૂપે [OAuth](/gu/guides/oauth) વાપરો: સાઇન ઇન કરો, સંસ્થા પસંદ કરો અને વિનંતી કરેલી પરવાનગીઓને મંજૂરી આપો. **સંસ્થા → API કીઓ → અધિકૃત એપ્સ** હેઠળ ઍક્સેસ રદ કરો.

API કી સાથે કન્ફિગર કરેલા ક્લાયન્ટ્સ માટે, **સંસ્થા → કીઓ** હેઠળ `sk_live_` કી બનાવો અને તેને તમારા MCP ક્લાયન્ટને `THUNDERPHONE_API_KEY` તરીકે ઉપલબ્ધ કરાવો. કી એક સંસ્થા સાથે જોડાયેલી હોય છે; અન્ય સંસ્થાની માલિકીની ID મળતી નથી તેમ વર્તે છે.

<Warning>
  `sk_live_` કી સંસ્થાનો ડેટા વાંચી શકે છે અને એજન્ટ ડિપ્લોય કરવા, કૉલ કરવા, નંબર ખરીદવા, કેમ્પેઇન શરૂ કરવા અને સંસાધનો કાઢી નાખવા જેવી પ્રોડક્શન ક્રિયાઓ કરી શકે છે. તેને બ્રાઉઝર કોડ, રિપોઝિટરી, સ્ક્રીનશૉટ અને ચેટ લૉગથી દૂર રાખો. તમારા ક્લાયન્ટના સિક્રેટ સ્ટોર અથવા એન્વાયરમેન્ટ સપોર્ટનો ઉપયોગ કરો અને ખુલ્લી પડી ગયેલી કી તરત રદ કરો.
</Warning>

## CLI અને stdio વિકલ્પો

[ThunderPhone CLI](/gu/guides/cli) અસંબંધિત સર્વરો જાળવી રાખીને ક્લાયન્ટ કન્ફિગરેશન લખી શકે છે:

```bash
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-કી પાથ માટે તેની જરૂર નથી. ડાયરેક્ટ HTTP કન્ફિગરેશન્સ CLI ક્રેડેન્શિયલ સ્ટોર વાંચતા નથી; ડિવાઇસ લૉગિન ફરી વાપરવા માટે stdio રેપર વાપરો.

આ નીચેના મેન્યુઅલ ક્લાયન્ટ કન્ફિગરેશન્સના વિકલ્પો છે.

## ક્લાયન્ટ કન્ફિગરેશન

Claude અને ChatGPT [OAuth](/gu/guides/oauth) વડે સાઇન ઇન કરે છે; કોઈ API કી સામેલ નથી. જો તમારી પાસે હજુ ThunderPhone એકાઉન્ટ ન હોય, તો સાઇન-ઇન પેજ પર **એકાઉન્ટ બનાવો** પસંદ કરો અને તમારું ઇમેઇલ ચકાસ્યા પછી તમે મંજૂરી સ્ક્રીન પર પાછા આવશો.

### Claude (વેબ, ડેસ્કટોપ અને મોબાઇલ)

1. **સેટિંગ્સ → કનેક્ટર્સ** ખોલો. જો ThunderPhone કનેક્ટર ડિરેક્ટરીમાં દેખાય, તો તેને પસંદ કરો. અન્યથા **કસ્ટમ કનેક્ટર ઉમેરો** પસંદ કરો, તેનું નામ `ThunderPhone` આપો અને `https://api.thunderphone.com/v1/mcp` દાખલ કરો.
2. **કનેક્ટ** પસંદ કરો, ThunderPhone માં સાઇન ઇન કરો, સંસ્થા પસંદ કરો અને પરવાનગીઓને મંજૂરી આપો.
3. ચેટમાં, ટૂલ્સ મેનૂમાંથી ThunderPhone સક્રિય કરો અને તમને જે જોઈએ તે પૂછો, ઉદાહરણ તરીકે "મારા એજન્ટની યાદી આપો".

કસ્ટમ કનેક્ટર્સ માટે ચૂકવેલ Claude પ્લાન જરૂરી છે. Team અને Enterprise પ્લાનમાં, માલિક પહેલાં સંસ્થાની કનેક્ટર સેટિંગ્સ હેઠળ કનેક્ટર ઉમેરે છે, પછી દરેક સભ્ય પોતાનું ThunderPhone એકાઉન્ટ કનેક્ટ કરે છે.

### ChatGPT

1. જો ThunderPhone ChatGPT એપ ડિરેક્ટરીમાં દેખાય, તો તેને પસંદ કરો અને કનેક્ટ કરો.
2. અન્યથા **સેટિંગ્સ → એપ્સ અને કનેક્ટર્સ → અદ્યતન સેટિંગ્સ** ખોલો, **ડેવલપર મોડ** ચાલુ કરો અને `https://api.thunderphone.com/v1/mcp` URL તથા OAuth પ્રમાણીકરણ સાથે કનેક્ટર બનાવો.
3. ThunderPhone માં સાઇન ઇન કરો, સંસ્થા પસંદ કરો અને પરવાનગીઓને મંજૂરી આપો. ટૂલ્સ મેનૂમાંથી ThunderPhone ને ચેટમાં ઉમેરો.

એજન્ટ અથવા ફોન નંબર કાઢી નાખવો, ડ્રાફ્ટ રદ કરવો અને કેમ્પેઇન લોન્ચ કરવો—બંનેમાંથી કોઈપણ એપમાં બીજી પુષ્ટિ માંગે છે; [વિનાશક ક્રિયાઓની પુષ્ટિ](#confirming-destructive-actions) જુઓ.

### Claude Code

```bash
claude mcp add --transport http thunderphone https://api.thunderphone.com/v1/mcp \
  --header "Authorization: Bearer $THUNDERPHONE_API_KEY"
```

### Codex

આને `~/.codex/config.toml` માં ઉમેરો:

```toml
[mcp_servers.thunderphone]
url = "https://api.thunderphone.com/v1/mcp"
bearer_token_env_var = "THUNDERPHONE_API_KEY"
```

### Cursor

`.cursor/mcp.json` બનાવો:

```json
{
  "mcpServers": {
    "thunderphone": {
      "url": "https://api.thunderphone.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${env:THUNDERPHONE_API_KEY}"
      }
    }
  }
}
```

### Claude Desktop

Claude Desktop કન્ફિગરેશનમાં `mcp-remote` બ્રિજ ઉમેરો:

```json
{
  "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 ના ઇનપુટ prompt દ્વારા કી દાખલ કરો:

```json
{
  "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 | સ્ટેજ કરેલા ફેરફારો રદ કરે છે. બે-તબક્કાની પ્રક્રિયા, [વિનાશક ક્રિયાઓની પુષ્ટિ](#confirming-destructive-actions) જુઓ. |
| `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`, રૂટિંગ/લેબલ/વેબહૂક ફીલ્ડ્સ | — | એજન્ટ અસાઇનમેન્ટ સહિત નંબર રૂટિંગ અપડેટ કરે છે. |
| `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 | પ્રોડક્શન રિટ્રીવલ દ્વારા શોધે છે. |

### ઇન્ટિગ્રેશન્સ, વેબહૂક્સ અને રિમોટ MCP સર્વર્સ

| ટૂલ | મુખ્ય દલીલો | એનોટેશન | તે શું કરે છે |
| --- | --- | --- | --- |
| `list_integrations` | — | R, I | HTTP ફંક્શન ઇન્ટિગ્રેશન્સની સૂચિ આપે છે. |
| `create_integration` | `display_name`, ફંક્શન `spec`, વૈકલ્પિક એન્ડપૉઇન્ટ ફીલ્ડ્સ | — | HTTP ટૂલ બનાવે છે. |
| `test_integration` | `url`, વૈકલ્પિક મેથડ/હેડર્સ/બૉડી/ટાઇમઆઉટ | O | મર્યાદિત, SSRF-સંરક્ષિત પરીક્ષણ વિનંતી મોકલે છે. |
| `list_webhook_endpoints` | — | R, I | સહી કરેલ વેબહૂક એન્ડપૉઇન્ટ્સની સૂચિ આપે છે. |
| `create_webhook_endpoint` | `label`, `url`, વૈકલ્પિક ઇવેન્ટ્સ/સ્થિતિ | O | સહી કરેલ વેબહૂક એન્ડપૉઇન્ટ બનાવે છે. |
| `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 દસ્તાવેજ પેજ ફેચ કરે છે. |

બધા પ્રોડક્ટ ટૂલ્સ જાહેર API જેવા જ REST કોડ પાથ્સનો ઉપયોગ કરે છે. તેથી REST માન્યતા, સંસ્થા સ્કોપિંગ, ભૂમિકાઓ, બિલિંગ પ્રવેશ, ક્વોટા, TCPA પુષ્ટિ, પ્રોવાઇડર સુરક્ષા અને ઑડિટ વર્તન કોઈ ફેરફાર વિના લાગુ પડે છે.

## વિનાશક ક્રિયાઓની પુષ્ટિ

D ચિહ્નિત ટૂલ્સ એવી વસ્તુમાં ફેરફાર કરે છે અથવા તેને દૂર કરે છે જેને પુનઃસ્થાપિત કરી શકાતી નથી, અથવા વાસ્તવિક લોકોને ડાયલ કરવાનું શરૂ કરે છે. તે બે વિનંતીઓ લે છે. પ્રથમ વિનંતિમાં કંઈ બદલાતું નથી અને તે નીચેનું પરત કરે છે:

```json
{
  "status": "confirmation_required",
  "action": "Delete agent",
  "target": { "id": 195, "name": "Front Desk Receptionist" },
  "confirmation_token": "…",
  "expires_in_seconds": 600,
  "next_step": "…"
}
```

assistant વપરાશકર્તાને શું અસરગ્રસ્ત છે તે બતાવે છે અને હા માટે પૂછે છે. ત્યારબાદ તે સમાન દલીલો સાથે અને `confirmation_token` ઉમેરીને વિનંતિ ફરી કરે છે. ટોકન 10 મિનિટ માટે માન્ય હોય છે અને એક સંસ્થા, એક ટૂલ અને દલીલોના એક ચોક્કસ સમૂહને આવરી લે છે, તેથી ત્રણ એજન્ટ કાઢી નાખવા માટે ત્રણ પુષ્ટિઓ જરૂરી છે. `pause` અથવા `stop` સાથેનું `campaign_action` આ પગલું છોડી દે છે જેથી ચાલી રહેલી કેમ્પેઇનને હંમેશાં તરત રોકી શકાય.

## પ્રારંભિક prompts

`prompts/list` છ ફરીથી વાપરી શકાય તેવા વર્કફ્લો જાહેર કરે છે:

- `create_inbound_receptionist`
- `run_agent_tests`
- `import_vapi_assistants`
- `buy_and_attach_number`
- `review_low_grade_calls`
- `add_url_to_agent_knowledge`

ચલાવવા માટે તૈયાર વપરાશકર્તા સંદેશ મેળવવા માટે સૂચિબદ્ધ prompt નામ અને તેની જાહેર કરેલી દલીલો સાથે `prompts/get` નો ઉપયોગ કરો.

## સ્રોતો

`resources/list` જાહેર, કૅશ કરેલા સંદર્ભો પ્રદર્શિત કરે છે:

| URI | સામગ્રી |
| --- | --- |
| `thunderphone://docs/llms.txt` | જાહેર દસ્તાવેજીકરણ અનુક્રમણિકા. |
| `thunderphone://docs/quickstart` | ક્વિકસ્ટાર્ટ Markdown. |
| `thunderphone://pricing` | વર્તમાન જાહેર કિંમતોનું Markdown. |

`resources/read` વડે એક વાંચો. જાહેર ફેચ ટૂંકા timeout, 2 MiB મર્યાદા અને દસ મિનિટના in-process cache નો ઉપયોગ કરે છે.

## પ્રોટોકોલ અને ભૂલો

સર્વર `2025-06-18` અને `2025-03-26` પ્રોટોકોલ વર્ઝનને સપોર્ટ કરે છે; તે સપોર્ટેડ ક્લાયન્ટ વર્ઝનને echo કરે છે અને અન્યથા `2025-06-18` પસંદ કરે છે. તે `initialize`, `ping`, ટૂલ્સ, prompts, resources અને notifications અમલમાં મૂકે છે. Notifications `202 Accepted` પરત કરે છે. આ stateless સર્વર SSE listener અથવા session deletion પ્રદર્શિત કરતું નથી, તેથી `GET` અને `DELETE`, `Allow: POST` સાથે `405 Method Not Allowed` પરત કરે છે.

ટૂલ નિષ્ફળતાઓ `isError: true` સાથે સફળ JSON-RPC પ્રતિભાવો જ રહે છે. તેમના ટેક્સ્ટમાં JSON બ્લોક પછીનું ટૂંકું વાક્ય હોય છે:

```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:` prefix જાળવી રાખવામાં આવે છે. અજાણી JSON-RPC methods HTTP `200` પ્રતિભાવમાં `-32601` પરત કરે છે. JSON-RPC batches ને MCP `2025-06-18` દ્વારા સપોર્ટ કરવામાં આવતા નથી અને તે સ્વચ્છ `-32600` invalid-request ભૂલ પરત કરે છે.
