> ## Documentation Index
> Fetch the complete documentation index at: https://docs.telloai.io/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP

> MCP로 Tello의 통화 기능을 AI 도구처럼 외부에서 호출해요.

## 할 수 있는 일

MCP 클라이언트(예: Claude Desktop)를 Tello에 연결하면, `telephony_call` 같은 도구로 통화를
걸 수 있어요. 인증은 OAuth 2.0과 API Key 두 방식을 지원해요.

```bash MCP Server URL theme={null}
https://mcp.telloai.io/api/mcp
```

## 시작하기 전에

포털 로그인이 필요해요. API Key 방식은 설정 파일을 편집할 수 있는 MCP 클라이언트가 필요해요.

## 사용 방법

포털의 **MCP 연결** 화면 위쪽에서 **MCP Server URL**을 복사해요.

* **OAuth 2.0** — MCP 클라이언트에 서버 URL을 입력하면 로그인 화면이 떠요. 로그인하면
  `telephony_call` 도구가 보여요.
* **API Key** — `+ 새 Key 발급`으로 키를 만들고(키 이름은 선택), 발급 창의 설정 예시를 복사해
  클라이언트 config 파일에 붙여넣어요.

```json ~/.claude/claude_desktop_config.json (또는 mcp.json) theme={null}
{
  "mcpServers": {
    "tello": {
      "url": "https://mcp.telloai.io/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
```

## 제공 도구

<AccordionGroup>
  <Accordion title="telephony_list_agents">
    AI 에이전트 목록을 반환해요. `telephony_call` 시 에이전트를 이름으로 선택할 때 써요.

    파라미터 없음.
  </Accordion>

  <Accordion title="telephony_call">
    AI 에이전트가 실제 전화번호로 음성 통화를 발신해요.

    | 파라미터                 | 설명                              |
    | -------------------- | ------------------------------- |
    | `to`                 | 발신할 전화번호 (예: `010-1234-5678`)   |
    | `agent_id`           | 사용할 에이전트 ID. 생략 시 기본 에이전트 자동 선택 |
    | `prompt`             | 통화 목적 지시어                       |
    | `confirmation_token` | 확인 응답 재호출용 토큰                   |
    | `confirm`            | `true`면 저장된 스냅샷으로 실제 발신         |
    | `revision_request`   | 시나리오 수정 요청                      |

    발신 후 즉시 `dispatched` 상태를 반환해요. 실제 연결 여부는 `telephony_status`로 확인해요.

    <Warning>
      `confirmation_token` 없이 반복 호출하면 **중복 발신**돼요. 상태 확인은 반드시
      `telephony_status`를 쓰세요.
    </Warning>

    `confirmation_required` 응답을 받으면 `scenario_summary`를 사용자에게 보여주고, 승인 시
    `confirmation_token` + `confirm=true`로, 수정 요청 시 `confirmation_token` +
    `revision_request`로 재호출해요. 토큰을 포함한 재호출은 `confirm=true`가 되기 전까지
    발신되지 않으므로 안전하게 반복할 수 있어요.
  </Accordion>

  <Accordion title="telephony_status">
    통화 상태를 조회해요.

    | 파라미터       | 설명                                                 |
    | ---------- | -------------------------------------------------- |
    | `call_id`  | `telephony_call`이 반환한 call\_id                     |
    | `queue_id` | 발신 큐 ID — 회선부족·재시도 대기 통화 조회 (큐 상태 + 최신 call 상태 반환) |
  </Accordion>

  <Accordion title="telephony_get_summary">
    완료된 통화의 결과·전사·요약을 조회해요.

    | 파라미터      | 설명                                          |
    | --------- | ------------------------------------------- |
    | `call_id` | 조회할 call\_id. `status`가 `completed`인 경우만 유효 |
  </Accordion>
</AccordionGroup>

## 주의사항

* 전체 키는 **발급 직후 한 번만** 볼 수 있어요. 분실하면 폐기하고 다시 발급해요.
* `폐기`하면 그 키는 즉시 쓸 수 없어요.

## 관련 문서

* [SDK](/developer/sdk)
* [A2A](/developer/a2a)
