# Suporte OpenAI MCP

URL canônica: https://texttree.ai/pt-br/docs/openai-mcp/
URL em Markdown: https://texttree.ai/pt-br/docs/openai-mcp.md
Tipo de página: docs
Translation status: draft
Legal status: english_controls

## Resumo

OpenAI e MCP Apps SDK suportam detalhes para ferramentas, prompts, recursos, esquemas e metadados TextTree.

## Conteúdo fonte

# Suporte OpenAI MCP

TextTree expõe um endpoint MCP nativo que pode ser usado por clientes MCP
Compatível com OpenAI:

```txt
https://api.texttree.ai/mcp
```

O endpoint usa HTTP Streamable sem estado. Envie mensagens JSON-RPC com
`POST /mcp`, `Authorization: Bearer $TEXTREE_ACCESS_TOKEN`, `Aceitar:
aplicativo/json, texto/stream de eventos` y `Content-Type: aplicativo/json`.
`GET /mcp` e `DELETE /mcp` retornam `405` porque TextTree não mapeia
sessões MCP do lado do servidor.

## Descoberta OAuth

TextTree publica metadados de descoberta MCP OAuth para:

-`https://api.texttree.ai/.well-known/oauth-protected-resource/mcp`
-`https://api.texttree.ai/.well-known/oauth-authorization-server/mcp`

Os clientes OAuth usam código de autorização com recurso PKCE S256 e MCP
`https://api.texttree.ai/mcp`. Os tokens ao portador podem ser vinculados por público a esse recurso
MCP. Tokens sem público ainda são aceitos para compatibilidade.

## Versões do protocolo

TextTree atualmente suporta:

-`2025-11-25`
-`2025-06-18`
-`2025-03-26`

O servidor anuncia capacidades para ferramentas, prompts, recursos e
conclusões. `initialize` retorna instruções TextTree específicas que informam aos usuários
os agentes leem recursos de integração e cobrança, coletam destinos reais
explícito antes da adição e chame apenas `messages.send` com
SMS aprovado pelo destinatário e chave de idempotência estável.

## Métodos JSON-RPC

O endpoint MCP nativo aceita estes métodos JSON-RPC:

| Método | Finalidade |
| --- | --- |
| `initialize` | Inicia o handshake MCP e retorna a versão do protocolo, recursos, informações do servidor e instruções. |
| `notifications/initialized` | Marca o cliente como pronto após a inicialização. |
| `ping` | Verifique a disponibilidade do terminal. |
| `tools/list` | Lista os descritores de ferramentas disponíveis. |
| `tools/call` | Execute uma ferramenta pelo nome. |
| `resources/list` | Liste os recursos estáticos. |
| `resources/templates/list` | Lista modelos de recursos. |
| `resources/read` | Leia um recurso por URI. |
| `prompts/list` | Lista os prompts disponíveis. |
| `prompts/get` | Obtém um prompt por nome. |
| `completion/complete` | Retorna o preenchimento automático de argumentos para o caminho, o caminho do remetente e os valores da região. |

`notifications/initialized` e outras mensagens `notifications/*` não são recebidas
resposta. Conforme declarado acima, `GET /mcp` e `DELETE /mcp` retornam `405`.

## Ferramentas

O registro da ferramenta atual é:

| Ferramenta | Escopo | Finalidade |
| --- | --- | --- |
| `messages.send` | `messages:write` | Enfileira um SMS de saída pela mesma rota de mensagens do `/api/v1/messages`. |
| `onboarding.status` | `onboarding:read` | Inspeciona o status de integração, saldo, faturas e preparação de SMS. |
| `onboarding.create_invoice` | `onboarding:write` | Crie ou reutilize uma fatura de financiamento de lançamento. |
| `onboarding.invoice_status` | `onboarding:read` | Verifique o status da fatura de financiamento. |
| `onboarding.test_sms` | `onboarding:write` | Envie o SMS de teste de integração Fast Send fixo. |
| `onboarding.request_dedicated_number` | `onboarding:write` | Envie dados comerciais para a rota de número dedicado recomendada. |

As chamadas de ferramenta via MCP nativo requerem `mcp:execute` além de quaisquer escopos específicos da ferramenta.
O caminho REST herdado `POST /mcp/tools/:name` também requer mais `mcp:execute`
o escopo específico da ferramenta.

## Estrutura do descritor da ferramenta

`tools/list` retorna descritores com:

-`name`, `title` e `description`
- `inputSchema` do esquema JSON 2020-12
- `outputSchema` do esquema JSON 2020-12
- Anotações MCP: `readOnlyHint`, `destructiveHint`, `idempotentHint` e
  `openWorldHint`
-`_meta["texttree/required_scope"]`
-`_meta["texttree/timeout_ms"]`

Os campos do widget UI do OpenAI Apps SDK não são fornecidos atualmente.TextTree não
inclui um componente da Web do SDK do Google Apps, portanto, os descritores não incluem
`_meta.ui.resourceUri` ou `_meta["openai/outputTemplate"]`. Se TextTree adicionar um
UI do aplicativo ChatGPT posteriormente, esses campos devem apontar para o recurso do modelo de UI e
os descritores devem refletir qualquer `securitySchemes` que os clientes mais antigos precisem.

## Solicitações

Solicitações atuais do MCP:

-`texttree.onboard_agent`
  - argumentos: `path` (`dedicated_number` ou `fast_send`), `region`
  - objetivo: orientar um agente através da integração de número dedicado ou Fast Send
-`texttree.first_send`
  - argumentos: `recipient_context`, `sender_path` (`dedicated_number` ou
    `fast_send`)
  - objetivo: preparar um primeiro envio seguro de SMS após integração e financiamento

Os preenchimentos automáticos de prompt estão disponíveis para os argumentos caminho, caminho do remetente e região.

## Recursos e modelos

Recursos atuais:

-`texttree://mcp/tools`
-`texttree://onboarding/status`
-`texttree://billing/status`
-`texttree://messages/recent`

Modelos de recursos atuais:

-`texttree://invoices/{id}`
-`texttree://messages/{id}`
-`texttree://numbers/{id}`
-`texttree://onboarding/checklist`
-`texttree://billing/readiness`
-`texttree://elicitations/{correlation_id}`

As leituras de recursos aplicam seus escopos TextTree específicos por recurso antes de retornar
dados.

## Modelo de segurança

`messages.send` é a única ferramenta MCP atual que enfileira um SMS de saída. É
marcado como destrutivo e de mundo aberto, requer `messages:write` e passa por
os mesmos portões de supressão, despesa, preparação do expedidor e trabalhador de entrega que
`POST /api/v1/messages`.
