---
title: "ThunderPhone ਨੂੰ MCP ਸਰਵਰ ਵਜੋਂ ਵਰਤੋ"
description: "Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code ਜਾਂ ਕਿਸੇ ਹੋਰ Streamable HTTP MCP ਕਲਾਇੰਟ ਤੋਂ ThunderPhone ਵੌਇਸ ਏਜੰਟ ਬਣਾਓ, ਟੈਸਟ ਕਰੋ, ਪ੍ਰਮਾਣਿਤ ਕਰੋ ਅਤੇ ਚਲਾਓ।"
---

ThunderPhone ਇੱਥੇ ਇੱਕ ਸਟ੍ਰੀਮੇਬਲ HTTP ਮਾਡਲ ਕਾਂਟੈਕਸਟ ਪ੍ਰੋਟੋਕੋਲ ਸਰਵਰ ਉਪਲਬਧ ਕਰਵਾਉਂਦਾ ਹੈ:

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

ਇਹ [ਕਿਸੇ ਰਿਮੋਟ MCP ਸਰਵਰ ਨੂੰ ਵੌਇਸ ਏਜੰਟ ਨਾਲ ਕਨੈਕਟ ਕਰਨ](/pa/guides/mcp-servers) ਦੇ ਉਲਟ ਦਿਸ਼ਾ ਹੈ:

| ਦਿਸ਼ਾ | ਨਤੀਜਾ |
| --- | --- |
| ਰਿਮੋਟ MCP ਸਰਵਰ → ThunderPhone ਏਜੰਟ | ਇੱਕ ਵੌਇਸ ਏਜੰਟ ਰਿਮੋਟ ਸਰਵਰ ਦੇ ਟੂਲ ਕਾਲ ਕਰ ਸਕਦਾ ਹੈ। |
| ThunderPhone → ਤੁਹਾਡਾ MCP ਕਲਾਇੰਟ | ਤੁਹਾਡਾ ਕੋਡਿੰਗ ਏਜੰਟ ThunderPhone ਨੂੰ ਬਣਾ, ਟੈਸਟ ਅਤੇ ਚਲਾ ਸਕਦਾ ਹੈ। |

## ਪ੍ਰਮਾਣਿਤ ਕਰੋ

ਡਾਇਰੈਕਟਰੀ ਕਲਾਇੰਟਾਂ ਲਈ ਮੂਲ ਰੂਪ ਵਿੱਚ [OAuth](/pa/guides/oauth) ਵਰਤੋ: ਸਾਈਨ ਇਨ ਕਰੋ, ਇੱਕ ਸੰਗਠਨ ਚੁਣੋ ਅਤੇ ਮੰਗੀਆਂ ਗਈਆਂ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਮਨਜ਼ੂਰੀ ਦਿਓ। ਪਹੁੰਚ ਰੱਦ ਕਰਨ ਲਈ **ਸੰਗਠਨ → API ਕੁੰਜੀਆਂ → ਅਧਿਕ੍ਰਿਤ ਐਪਾਂ** ਵਿੱਚ ਜਾਓ।

API ਕੁੰਜੀ ਨਾਲ ਸੰਰਚਿਤ ਕਲਾਇੰਟਾਂ ਲਈ, **ਸੰਗਠਨ → ਕੁੰਜੀਆਂ** ਵਿੱਚ ਇੱਕ `sk_live_` ਕੁੰਜੀ ਬਣਾਓ ਅਤੇ ਇਸਨੂੰ ਆਪਣੇ MCP ਕਲਾਇੰਟ ਲਈ `THUNDERPHONE_API_KEY` ਵਜੋਂ ਉਪਲਬਧ ਕਰਵਾਓ। ਇਹ ਕੁੰਜੀ ਇੱਕ ਹੀ ਸੰਗਠਨ ਨਾਲ ਬੰਨ੍ਹੀ ਹੁੰਦੀ ਹੈ; ਕਿਸੇ ਹੋਰ ਸੰਗਠਨ ਦੀ ਮਲਕੀਅਤ ਵਾਲਾ ਪਛਾਣਕਰਤਾ ਨਹੀਂ ਮਿਲਿਆ ਵਾਂਗ ਵਰਤਾਅ ਕਰਦਾ ਹੈ।

<Warning>
  ਇੱਕ `sk_live_` ਕੁੰਜੀ ਸੰਗਠਨ ਡਾਟਾ ਪੜ੍ਹ ਸਕਦੀ ਹੈ ਅਤੇ ਪ੍ਰੋਡਕਸ਼ਨ ਕਾਰਵਾਈਆਂ ਕਰ ਸਕਦੀ ਹੈ, ਜਿਵੇਂ ਏਜੰਟ ਡਿਪਲੌਇ ਕਰਨਾ, ਕਾਲਾਂ ਕਰਨਾ, ਨੰਬਰ ਖਰੀਦਣਾ, ਮੁਹਿੰਮਾਂ ਸ਼ੁਰੂ ਕਰਨਾ ਅਤੇ ਸਰੋਤ ਮਿਟਾਉਣਾ। ਇਸਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਕੋਡ, ਰਿਪੋਜ਼ਟਰੀਆਂ, ਸਕ੍ਰੀਨਸ਼ਾਟਾਂ ਅਤੇ ਚੈਟ ਲੌਗਾਂ ਤੋਂ ਦੂਰ ਰੱਖੋ। ਆਪਣੇ ਕਲਾਇੰਟ ਦੇ ਸੀਕ੍ਰੇਟ ਸਟੋਰ ਜਾਂ ਵਾਤਾਵਰਣ ਸਹਾਇਤਾ ਦੀ ਵਰਤੋਂ ਕਰੋ ਅਤੇ ਸਾਹਮਣੇ ਆਈ ਕੁੰਜੀ ਨੂੰ ਤੁਰੰਤ ਰੱਦ ਕਰੋ।
</Warning>

## CLI ਅਤੇ stdio ਵਿਕਲਪ

[ThunderPhone CLI](/pa/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](/pa/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 ਦੇ ਇਨਪੁੱਟ ਪ੍ਰੋਂਪਟ ਰਾਹੀਂ ਕੁੰਜੀ ਦਰਜ ਕਰੋ:

```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 | ਏਜੰਟ 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 | ਪ੍ਰੋਡਕਸ਼ਨ ਰਿਟਰੀਵਲ ਰਾਹੀਂ ਖੋਜ ਕਰਦਾ ਹੈ। |

### ਇੰਟੀਗ੍ਰੇਸ਼ਨ, ਵੈੱਬਹੁੱਕ ਅਤੇ ਰਿਮੋਟ 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": "…"
}
```

ਸਹਾਇਕ ਵਰਤੋਂਕਾਰ ਨੂੰ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਕੀ ਪ੍ਰਭਾਵਿਤ ਹੋਵੇਗਾ ਅਤੇ ਹਾਂ ਲਈ ਪੁੱਛਦਾ ਹੈ। ਫਿਰ ਇਹ ਉਹੀ ਆਰਗੂਮੈਂਟਾਂ ਦੇ ਨਾਲ `confirmation_token` ਜੋੜ ਕੇ ਬੇਨਤੀ ਦੁਹਰਾਉਂਦਾ ਹੈ। ਟੋਕਨ 10 ਮਿੰਟ ਲਈ ਵੈਧ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਸੰਸਥਾ, ਇੱਕ ਟੂਲ ਅਤੇ ਆਰਗੂਮੈਂਟਾਂ ਦੇ ਇੱਕ ਸਟੀਕ ਸੈੱਟ ਲਈ ਲਾਗੂ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ ਤਿੰਨ ਏਜੰਟ ਮਿਟਾਉਣ ਲਈ ਤਿੰਨ ਪੁਸ਼ਟੀਆਂ ਲੋੜੀਂਦੀਆਂ ਹਨ। `pause` ਜਾਂ `stop` ਨਾਲ `campaign_action` ਇਹ ਕਦਮ ਛੱਡ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਜੋ ਚੱਲ ਰਹੀ ਮੁਹਿੰਮ ਨੂੰ ਹਮੇਸ਼ਾ ਤੁਰੰਤ ਰੋਕਿਆ ਜਾ ਸਕੇ।

## ਸ਼ੁਰੂਆਤੀ prompt

`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` ਨਾਲ ਇੱਕ ਪੜ੍ਹੋ। ਜਨਤਕ ਫੈਚ ਛੋਟਾ ਟਾਈਮਆਉਟ, 2 MiB ਸੀਮਾ ਅਤੇ ਪ੍ਰਕਿਰਿਆ ਅੰਦਰ ਦਸ-ਮਿੰਟ ਕੈਸ਼ ਵਰਤਦੇ ਹਨ।

## ਪ੍ਰੋਟੋਕੋਲ ਅਤੇ ਗਲਤੀਆਂ

ਸਰਵਰ ਪ੍ਰੋਟੋਕੋਲ ਵਰਜਨ `2025-06-18` ਅਤੇ `2025-03-26` ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ; ਇਹ ਸਮਰਥਿਤ ਕਲਾਇੰਟ ਵਰਜਨ ਨੂੰ ਵਾਪਸ ਭੇਜਦਾ ਹੈ ਅਤੇ ਨਹੀਂ ਤਾਂ `2025-06-18` ਚੁਣਦਾ ਹੈ। ਇਹ `initialize`, `ping`, ਟੂਲ, prompt, ਸਰੋਤ ਅਤੇ ਨੋਟੀਫਿਕੇਸ਼ਨ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਨੋਟੀਫਿਕੇਸ਼ਨ `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."
}
```

ਵੱਖਰਾ `outbound_tcpa_confirmation_required:` ਪ੍ਰੀਫਿਕਸ `place_call` ਲਈ ਬਰਕਰਾਰ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ। ਅਣਜਾਣ JSON-RPC ਵਿਧੀਆਂ HTTP `200` ਜਵਾਬ ਵਿੱਚ `-32601` ਵਾਪਸ ਕਰਦੀਆਂ ਹਨ। JSON-RPC ਬੈਚਾਂ ਨੂੰ MCP `2025-06-18` ਸਮਰਥਨ ਨਹੀਂ ਦਿੰਦਾ ਅਤੇ ਇਹ ਸਾਫ਼ `-32600` ਅਵੈਧ-ਬੇਨਤੀ ਗਲਤੀ ਵਾਪਸ ਕਰਦੇ ਹਨ।
