---
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 സെർവർ ബന്ധിപ്പിക്കുന്നതിന്റെ](/ml/guides/mcp-servers) വിപരീത ദിശയാണ്:

| ദിശ | ഫലം |
| --- | --- |
| റിമോട്ട് MCP സെർവർ → ThunderPhone ഏജന്റ് | ഒരു വോയ്‌സ് ഏജന്റിന് റിമോട്ട് സെർവറിന്റെ ടൂളുകൾ വിളിക്കാനാകും. |
| ThunderPhone → നിങ്ങളുടെ MCP ക്ലയന്റ് | നിങ്ങളുടെ കോഡിംഗ് ഏജന്റിന് ThunderPhone നിർമ്മിക്കാനും പരിശോധിക്കാനും പ്രവർത്തിപ്പിക്കാനും കഴിയും. |

## പ്രാമാണീകരണം

ഡയറക്ടറി ക്ലയന്റുകൾക്കായി ഡിഫോൾട്ടായി [OAuth](/ml/guides/oauth) ഉപയോഗിക്കുക: സൈൻ ഇൻ ചെയ്യുക, ഒരു ഓർഗനൈസേഷൻ തിരഞ്ഞെടുക്കുക, ആവശ്യപ്പെട്ട അനുമതികൾ അംഗീകരിക്കുക. **ഓർഗനൈസേഷൻ → API കീകൾ → അംഗീകൃത ആപ്പുകൾ** എന്നതിൽ ആക്സസ് റദ്ദാക്കുക.

API കീ ഉപയോഗിക്കാൻ ക്രമീകരിച്ച ക്ലയന്റുകൾക്കായി, **ഓർഗനൈസേഷൻ → കീകൾ** എന്നതിൽ ഒരു `sk_live_` കീ സൃഷ്ടിച്ച് അത് നിങ്ങളുടെ MCP ക്ലയന്റിന് `THUNDERPHONE_API_KEY` ആയി ലഭ്യമാക്കുക. കീ ഒരു ഓർഗനൈസേഷനുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു; മറ്റൊരു ഓർഗനൈസേഷന്റെ ഉടമസ്ഥതയിലുള്ള ഒരു ID കണ്ടെത്താനാകാത്തതുപോലെ പ്രവർത്തിക്കും.

<Warning>
  ഒരു `sk_live_` കീക്ക് ഓർഗനൈസേഷൻ ഡാറ്റ വായിക്കാനും ഏജന്റുകളെ ഡിപ്ലോയ് ചെയ്യുക, കോളുകൾ ചെയ്യുക, നമ്പറുകൾ വാങ്ങുക, ക്യാംപെയ്‌നുകൾ ആരംഭിക്കുക, റിസോഴ്സുകൾ ഇല്ലാതാക്കുക തുടങ്ങിയ പ്രൊഡക്ഷൻ പ്രവർത്തനങ്ങൾ നടത്താനും കഴിയും. ഇത് ബ്രൗസർ കോഡ്, റിപ്പോസിറ്ററികൾ, സ്ക്രീൻഷോട്ടുകൾ, ചാറ്റ് ലോഗുകൾ എന്നിവയിൽ നിന്ന് അകറ്റി സൂക്ഷിക്കുക. നിങ്ങളുടെ ക്ലയന്റിന്റെ സീക്രട്ട് സ്റ്റോർ അല്ലെങ്കിൽ എൻവയോൺമെന്റ് പിന്തുണ ഉപയോഗിച്ച് പുറത്തായ കീ ഉടൻ റദ്ദാക്കുക.
</Warning>

## CLI, stdio ബദലുകൾ

[ThunderPhone CLI](/ml/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](/ml/guides/oauth) ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുന്നു; API കീ ആവശ്യമില്ല. നിങ്ങൾക്ക് ഇതുവരെ ThunderPhone അക്കൗണ്ട് ഇല്ലെങ്കിൽ, സൈൻ-ഇൻ പേജിൽ **അക്കൗണ്ട് സൃഷ്ടിക്കുക** തിരഞ്ഞെടുക്കുക; ഇമെയിൽ സ്ഥിരീകരിച്ച ശേഷം നിങ്ങൾ അംഗീകാര സ്ക്രീനിലേക്ക് മടങ്ങും.

### Claude (വെബ്, ഡെസ്ക്ടോപ്പ്, മൊബൈൽ)

1. **ക്രമീകരണങ്ങൾ → കണക്റ്ററുകൾ** തുറക്കുക. കണക്റ്റർ ഡയറക്ടറിയിൽ ThunderPhone കാണുന്നുണ്ടെങ്കിൽ അത് തിരഞ്ഞെടുക്കുക. ഇല്ലെങ്കിൽ **ഇഷ്ടാനുസൃത കണക്റ്റർ ചേർക്കുക** തിരഞ്ഞെടുക്കുക, അതിന് `ThunderPhone` എന്ന് പേര് നൽകുക, തുടർന്ന് `https://api.thunderphone.com/v1/mcp` നൽകുക.
2. **കണക്റ്റ്** തിരഞ്ഞെടുക്കുക, ThunderPhone-ലേക്ക് സൈൻ ഇൻ ചെയ്യുക, ഓർഗനൈസേഷൻ തിരഞ്ഞെടുക്കുക, അനുമതികൾ അംഗീകരിക്കുക.
3. ഒരു ചാറ്റിൽ, ടൂൾസ് മെനുവിൽ നിന്ന് ThunderPhone പ്രവർത്തനക്ഷമമാക്കി നിങ്ങൾക്ക് ആവശ്യമുള്ളത് ചോദിക്കുക; ഉദാഹരണത്തിന്, "എന്റെ ഏജന്റുമാരെ പട്ടികപ്പെടുത്തുക".

ഇഷ്ടാനുസൃത കണക്റ്ററുകൾക്ക് പണമടച്ച Claude പ്ലാൻ ആവശ്യമാണ്. Team, Enterprise പ്ലാനുകളിൽ, ആദ്യം ഒരു ഉടമ ഓർഗനൈസേഷന്റെ കണക്റ്റർ ക്രമീകരണങ്ങളിൽ കണക്റ്റർ ചേർക്കണം; തുടർന്ന് ഓരോ അംഗവും സ്വന്തം ThunderPhone അക്കൗണ്ട് കണക്റ്റ് ചെയ്യണം.

### ChatGPT

1. ChatGPT ആപ്പ് ഡയറക്ടറിയിൽ ThunderPhone കാണുന്നുണ്ടെങ്കിൽ അത് തിരഞ്ഞെടുക്കുകയും കണക്റ്റ് ചെയ്യുകയും ചെയ്യുക.
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`, റൂട്ടിംഗ്/ലേബൽ/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 | ഏജന്റ് prompt-ൽ നിന്ന് സീനാരിയോകൾ ജനറേറ്റ് ചെയ്യുന്നു. |
| `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 ഡോക്യുമെന്റേഷൻ പേജ് ഫെച്ച് ചെയ്യുന്നു. |

എല്ലാ പ്രൊഡക്റ്റ് ടൂളുകളും പൊതു 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": "…"
}
```

എന്താണ് ബാധിക്കപ്പെടുക എന്ന് അസിസ്റ്റന്റ് ഉപയോക്താവിന് കാണിച്ച് സ്ഥിരീകരണം ചോദിക്കും. തുടർന്ന് അതേ ആർഗ്യുമെന്റുകൾക്കൊപ്പം `confirmation_token` ചേർത്ത് അഭ്യർത്ഥന ആവർത്തിക്കും. ഒരു ടോക്കൺ 10 മിനിറ്റ് സാധുവാണ്; അത് ഒരു ഓർഗനൈസേഷനും ഒരു ടൂളിനും ഒരു കൃത്യമായ ആർഗ്യുമെന്റ് സെറ്റിനും ബാധകമാണ്, അതിനാൽ മൂന്ന് ഏജന്റുമാരെ ഇല്ലാതാക്കാൻ മൂന്ന് സ്ഥിരീകരണങ്ങൾ ആവശ്യമാണ്. പ്രവർത്തിച്ചുകൊണ്ടിരിക്കുന്ന ഒരു കാമ്പെയ്ൻ എപ്പോഴും ഉടൻ നിർത്താനാകുന്നതിനായി `pause` അല്ലെങ്കിൽ `stop` ഉപയോഗിച്ചുള്ള `campaign_action` ഈ ഘട്ടം ഒഴിവാക്കും.

## ആരംഭ പ്രോംപ്റ്റുകൾ

`prompts/list` പുനരുപയോഗിക്കാവുന്ന ആറ് വർക്ക്ഫ്ലോകൾ പട്ടികപ്പെടുത്തുന്നു:

- `create_inbound_receptionist`
- `run_agent_tests`
- `import_vapi_assistants`
- `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 ബ്ലോക്കും ഉണ്ടായിരിക്കും:

```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` മടക്കിനൽകുന്നു. JSON-RPC ബാച്ചുകൾ MCP `2025-06-18` പിന്തുണയ്ക്കുന്നില്ല; അവ വ്യക്തമായ `-32600` അസാധുവായ-അഭ്യർത്ഥന പിശക് മടക്കിനൽകുന്നു.
