Seitentyp: docs

OpenAI MCP-Unterstützung

Details zur Unterstützung von OpenAI und MCP Apps SDK für TextTree-Tools, Eingabeaufforderungen, Ressourcen, Schemata und Metadaten.

Direkte Antwort

Details zur Unterstützung von OpenAI und MCP Apps SDK für TextTree-Tools, Eingabeaufforderungen, Ressourcen, Schemata und Metadaten.

Seiteninhalt

# OpenAI MCP-Unterstützung

TextTree stellt einen nativen MCP-Endpunkt bereit, der von MCP-Clients verwendet werden kann
OpenAI-kompatibel:

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

Der Endpunkt verwendet zustandsloses Streamable HTTP. Senden Sie JSON-RPC-Nachrichten mit
`POST /mcp`, `Authorization: Bearer $TEXTREE_ACCESS_TOKEN`, `Akzeptieren:
application/json, text/event-stream` y `Content-Type: application/json`.
`GET /mcp` und `DELETE /mcp` geben `405` zurück, da TextTree nicht zugeordnet wird
serverseitige MCP-Sitzungen.

## OAuth-Erkennung

TextTree veröffentlicht MCP-OAuth-Erkennungsmetadaten an:

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

OAuth-Clients verwenden Autorisierungscode mit PKCE S256 und MCP-Ressourcen
`https://api.texttree.ai/mcp`. Inhabertoken können von der Zielgruppe mit dieser Ressource verknüpft werden
MCP. Token ohne Zielgruppe werden aus Kompatibilitätsgründen weiterhin akzeptiert.

## Protokollversionen

TextTree unterstützt derzeit:

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

Der Server bietet Funktionen für Tools, Eingabeaufforderungen, Ressourcen usw. an
Abschlüsse. `initialize` gibt spezifische TextTree-Anweisungen zurück, die den Benutzern mitteilen
Agenten lesen Onboarding- und Abrechnungsressourcen und sammeln tatsächliche Ziele
explizit vor dem Zusatz angeben und nur `messages.send` mit aufrufen
Vom Empfänger genehmigte SMS und ein stabiler Idempotenzschlüssel.

## JSON-RPC-Methoden

Der native MCP-Endpunkt akzeptiert diese JSON-RPC-Methoden:

| Methode | Zweck |
| --- | --- |
| `initialize` | Startet den MCP-Handshake und gibt die Protokollversion, Funktionen, Serverinformationen und Anweisungen zurück. |
| `notifications/initialized` | Markiert den Client nach der Initialisierung als bereit. |
| `ping` | Überprüfen Sie die Verfügbarkeit des Endpunkts. |
| `tools/list` | Listet verfügbare Werkzeugbeschreibungen auf. |
| `tools/call` | Führen Sie ein Tool nach Namen aus. |
| `resources/list` | Listen Sie die statischen Ressourcen auf. |
| `resources/templates/list` | Listet Ressourcenvorlagen auf. |
| `resources/read` | Lesen Sie eine Ressource anhand der URI. |
| `prompts/list` | Listet verfügbare Eingabeaufforderungen auf. |
| `prompts/get` | Ruft eine Eingabeaufforderung mit Namen ab. |
| `completion/complete` | Gibt die automatische Vervollständigung von Argumenten für die Werte „Pfad“, „Absenderpfad“ und „Region“ zurück. |

`notifications/initialized` und andere `notifications/*`-Nachrichten werden nicht empfangen
Antwort. Wie oben erwähnt, geben `GET /mcp` und `DELETE /mcp` `405` zurück.

## Werkzeuge

Das aktuelle Werkzeugprotokoll lautet:

| Werkzeug | Geltungsbereich | Zweck |
| --- | --- | --- |
| `messages.send` | `messages:write` | Stellt eine ausgehende SMS über dieselbe Nachrichtenroute wie `/api/v1/messages` in die Warteschlange. |
| `onboarding.status` | `onboarding:read` | Überprüft den Status von Onboarding, Kontostand, Rechnungen und SMS-Vorbereitung. |
| `onboarding.create_invoice` | `onboarding:write` | Erstellen Sie eine Startfinanzierungsrechnung oder verwenden Sie sie wieder. |
| `onboarding.invoice_status` | `onboarding:read` | Überprüfen Sie den Status der Finanzierungsrechnung. |
| `onboarding.test_sms` | `onboarding:write` | Senden Sie die feste Fast Send-Onboarding-Test-SMS. |
| `onboarding.request_dedicated_number` | `onboarding:write` | Senden Sie Geschäftsdaten für die empfohlene Route mit dedizierten Nummern. |

Werkzeugaufrufe über natives MCP erfordern `mcp:execute` plus einen etwaigen werkzeugspezifischen Bereich.
Der geerbte REST-Pfad `POST /mcp/tools/:name` erfordert außerdem mehr `mcp:execute`
den spezifischen Umfang des Tools.

## Tool-Deskriptorstruktur

`tools/list` gibt Deskriptoren zurück mit:

- `name`, `title` und `description`
- JSON-Schema 2020-12 `inputSchema`
- JSON-Schema 2020-12 `outputSchema`
- MCP-Anmerkungen: `readOnlyHint`, `destructiveHint`, `idempotentHint` und
  `openWorldHint`
- `_meta["texttree/required_scope"]`
- `_meta["texttree/timeout_ms"]`

OpenAI Apps SDK-UI-Widget-Felder werden derzeit nicht bereitgestellt. TextTree nicht
Enthält eine Apps SDK-Webkomponente, sodass die Deskriptoren diese nicht enthalten
`_meta.ui.resourceUri` noch `_meta["openai/outputTemplate"]`. Wenn TextTree ein hinzufügt
ChatGPT-App-Benutzeroberfläche später sollten diese Felder auf die UI-Vorlagenressource verweisen und
Die Deskriptoren sollten alle `securitySchemes` widerspiegeln, die ältere Clients benötigen.

## Eingabeaufforderungen

Aktuelle MCP-Eingabeaufforderungen:

- `texttree.onboard_agent`
  - Argumente: `path` (`dedicated_number` oder `fast_send`), `region`
  - Zweck: Führen Sie einen Agenten durch das Dedicated Number- oder Fast Send-Onboarding
- `texttree.first_send`
  - Argumente: `recipient_context`, `sender_path` (`dedicated_number` oder
    `fast_send`)
  - Zweck: Vorbereitung eines ersten sicheren SMS-Versands nach Onboarding und Finanzierung

Für die Argumente „Pfad“, „Absenderpfad“ und „Region“ sind automatische Eingabeaufforderungen verfügbar.

## Ressourcen und Vorlagen

Aktuelle Ressourcen:

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

Aktuelle Ressourcenvorlagen:

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

Ressourcenlesevorgänge wenden ihre spezifischen TextTree-Bereiche pro Ressource an, bevor sie zurückgegeben werden
Daten.

## Sicherheitsmodell

`messages.send` ist das einzige aktuelle MCP-Tool, das eine ausgehende SMS in die Warteschlange stellt. Es ist
Als destruktive und offene Welt markiert, erfordert `messages:write` und geht durch
die gleichen Tore der Unterdrückung, der Kosten, der Vorbereitung des Versenders und des Zustellarbeiters wie
`POST /api/v1/messages`.
Markdown