MCP-Server
Tecto bringt einen hauseigenen MCP-Server mit. Damit kann ein Assistent — Claude, eine Agenten-CLI, alles, was das Protokoll spricht — die Boards eines Workspace lesen und bewegen, ohne dass jemand Klebecode schreiben muss.
Es gibt nichts zu installieren. Der Server läuft auf Ihrer Tecto-Instanz und
antwortet unter https://app.tectoapp.io/mcp; Sie richten den Assistenten auf
diese Adresse und geben ihm ein Token.
Er ist eine dünne Schicht über der öffentlichen API: Der Endpunkt hat keine eigene Rechtelogik, sondern stellt gewöhnliche API-Anfragen mit Ihrem Zugangsdatum. Ein Assistent sieht und ändert damit genau das, was Sie können. Karteninhalte gehen als kanonisches Markdown über die Leitung.
Einrichtung
Zuerst ein Token anlegen: Einstellungen → Tokens, im Workspace, in dem der
Assistent arbeiten soll. content:read, wenn er nur lesen soll,
content:write, wenn er auch schreiben soll. Das Geheimnis wird einmal
angezeigt.
Ein hier erstelltes Token gilt hier — es liest und schreibt, was Tecto Ihnen zeigt, und nichts, was in den anderen Apps liegt. Deshalb müssen Sie dem Assistenten auch nicht sagen, welchen Workspace er nehmen soll: Das Token nennt einen, und der Endpunkt liest ihn dort ab.
In der Konfigurationsdatei eines MCP-Hosts:
{
"mcpServers": {
"tecto": {
"type": "http",
"url": "https://app.tectoapp.io/mcp",
"headers": {
"Authorization": "Bearer tecto_pat_…"
}
}
}
}
Die Hosts schreiben das unterschiedlich; gebraucht werden überall dieselben
zwei Dinge: die Adresse und der Authorization-Header. In Claude Code etwa:
claude mcp add --transport http tecto https://app.tectoapp.io/mcp \
--header "Authorization: Bearer tecto_pat_…"
Wenn Ihr Konto in mehreren Workspaces ist und Sie einen ausdrücklich nennen
möchten, verwenden Sie stattdessen
https://app.tectoapp.io/mcp/w/<Workspace-ID>. Ein Token kann immer nur seinen
eigenen Workspace nennen, die beiden müssen also übereinstimmen.
Dass ein Assistent nur liest, regelt das Token und keine Einstellung: Ein
content:read-Token weist der Server bei jedem Schreibvorgang ab, und das ist
eine härtere Zusicherung als ein Schalter auf der Clientseite.
Als Connector hinzufügen
Hosts ohne Header-Feld — claude.ai gehört dazu — fügen den Endpunkt als
Connector hinzu und melden Sie stattdessen an. Tragen Sie dieselbe Adresse
https://app.tectoapp.io/mcp in den Connector-Dialog ein; der Rest ist eine Anmeldung
und ein Bildschirm mit der Frage, ob Sie verbinden möchten. Nichts zu
kopieren, kein Token, das Sie aufbewahren müssen.
Ein Connector reicht weiter als ein Token, und der Bildschirm sagt das, bevor Sie zustimmen:
- Er gilt für jeden Workspace, in dem Sie Mitglied sind, nicht für einen.
- Er liest und schreibt, was Sie können. Einen nur lesenden Connector gibt
es nicht; für einen Assistenten, der nur schauen soll, erstellen Sie ein
Token mit
content:read. - Er sieht weiterhin nur Tecto, und er hört auf zu funktionieren, wenn Ihr Zugriff endet.
Weil ein Connector mehrere Workspaces umfasst, muss der Assistent sagen,
welchen er meint: https://app.tectoapp.io/mcp/w/<Workspace-ID>.
Was der Assistent bekommt
Nur lesend, sofern nicht markiert.
get_workspace— Name und Zuschnitt des Workspace, den das Token öffnet.list_boards/get_board— die Boards, und die Spalten und Lanes eines Boards.get_board_cards— die Karten eines Boards, gruppiert nach Spalte × Lane, mit ehrlichen Gesamtzahlen und Cursorn je Gruppe für lange Spalten.create_board(schreibend) — ein neues Board in einer Sammlung, mit den Standardspalten, die auch die App anlegen würde.add_card(schreibend) — eine neue Karte am Spaltenende, oder eine bestehende Seite als Karte angeheftet.move_card(schreibend) — Spalte, Lane und Position in einem Schritt, derselbe transaktionale Move wie in der App.get_card/update_card(schreibend) — der Karteninhalt als kanonisches Markdown, gelesen und im Ganzen ersetzt.comment_on_card(schreibend) /list_card_comments— die Diskussion der Karte.search— Volltext über den Workspace; jeder Treffer sagt, was er ist.
Was der Assistent nicht darf, durfte auch das Token nicht: Rechte, Sichtbarkeit und Papierkorb-Semantik gehören dem Server, nicht der MCP-Schicht.
Wenn etwas abgelehnt wird
Der Endpunkt antwortet wie die API, eine Ablehnung sagt also, welcher der drei Fälle vorliegt:
- 401 — kein Zugangsdatum, oder eines, das unbekannt, widerrufen oder abgelaufen ist.
- 403 — ein Zugangsdatum, das das nicht darf: ein Token ganz ohne
content:read, eincontent:read-Token, das schreiben soll, oder eines, das zu einem anderen Workspace gehört als dem, den die Adresse nennt. - Alles andere ist die gewöhnliche Antwort der API, mit ihrem eigenen Wortlaut durchgereicht.