API & MCP Doku

Integrieren Sie Simple Stickers mit KI-Agenten, Claude und Automatisierungsskripten

πŸ”‘

Authentifizierung

Sowohl die REST API als auch der MCP Server verwenden Bearer Token-Authentifizierung ΓΌber einen API-SchlΓΌssel. Claude.ai (Web, Desktop-App, Mobil) meldet sich am MCP Server stattdessen per OAuth an β€” Sie mΓΌssen keinen SchlΓΌssel generieren oder kopieren, siehe Mit Claude.ai verbinden.

Token-Typ GΓΌltigkeitsdauer Wie man ihn erhΓ€lt
ss_<40 hex chars> β€” API-SchlΓΌssel Langlebig β€” gΓΌltig bis widerrufen Generieren in Kontoeinstellungen β†’ API-Reiter
ss_… β€” per OAuth ausgestellter SchlΓΌssel Langlebig β€” gΓΌltig bis widerrufen Wird beim Verbinden von Claude.ai automatisch erstellt (in der SchlΓΌsselliste mit der Quelle β€žVerbundene Appβ€œ)

πŸ”§ API-SchlΓΌssel generieren

  1. 1 Γ–ffnen Sie Simple Stickers und klicken Sie auf Ihren Avatar oben rechts
  2. 2 Gehen Sie zu Kontoeinstellungen β†’ API Reiter
  3. 3 Klicken Sie auf API-SchlΓΌssel generieren, geben Sie optional einen Namen an
  4. 4
    Kopieren Sie den SchlΓΌssel sofort β€” er wird nur einmal angezeigt

    Der SchlΓΌssel beginnt mit ss_ gefolgt von 40 Hexadezimalzeichen.

πŸ“€ Token verwenden

Übergeben Sie den Token bei jeder Anfrage als Bearer Authorization Header:

Authorization: Bearer ss_a1b2c3d4e5f6...

API-SchlΓΌssel sind auf den Benutzer beschrΓ€nkt, der sie erstellt hat. Alle DatenvorgΓ€nge geben nur die Daten dieses Benutzers zurΓΌck.

πŸ“‘

REST API

🌐 Endpunkt

POST https://www.simplestickers.app/api/agent Content-Type: application/json Authorization: Bearer <token>

πŸ“¨ Anfrage-Body

Alle Aktionen teilen den gleichen JSON Umschlag:

{ "action": "<action_name>", "<param>": "<value>" }

πŸ“¬ Antworten

  • 200 OK Erfolg β€” JSON-Daten im Body
  • 4xx / 5xx Fehler β€” {"error": "message"}
πŸ“

Projekte

list_projects

Gibt alle Projekte des authentifizierten Benutzers zurΓΌck.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"list_projects"}'

Antwort: Array von {"id","name","created_at"} Objekten.

find_project

Suche mit Teiltreffer unabhÀngig von Groß-/Kleinschreibung. Gibt ein Array von übereinstimmenden Projekten zurück.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"find_project","name":"My Work"}'
ParameterTypErforderlich
namestringJa

create_project

Erstellt ein neues Projekt. Gibt das erstellte Projektobjekt zurΓΌck.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"create_project","name":"Q3 Campaign"}'
ParameterTypErforderlich
namestringJa

rename_project

Benennt ein vorhandenes Projekt um.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"rename_project","project_id":"<uuid>","name":"New Name"}'
ParameterTypErforderlich
project_idstring (UUID)Ja
namestringJa

delete_project

LΓΆscht ein Projekt und alle seine Aufgaben (kaskadierend). Gibt {"success":true} zurΓΌck.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"delete_project","project_id":"<uuid>"}'
⚠️ Nicht umkehrbar. Alle Aufgaben im Projekt werden dauerhaft gelâscht.
πŸ“

Aufgaben

list_tasks

Gibt Aufgaben in einem Projekt zurΓΌck, geordnet nach Position. Optional gefiltert nach Status.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"list_tasks","project_id":"<uuid>"}' # Nach Status filtern: -d '{"action":"list_tasks","project_id":"<uuid>","status":"in_progress"}' # Kompaktmodus ohne vollstΓ€ndige Notizen: -d '{"action":"list_tasks","project_id":"<uuid>","include_notes":false}'
ParameterTypErforderlichBeschreibung
project_idstring (UUID)Ja
statusstringNeinNach Statuswert filtern (siehe Enum unten)
include_notesbooleanNeinBei false werden statt der vollstΓ€ndigen Notizen notes_preview (erste Zeile) und notes_chars zurΓΌckgegeben β€” deutlich kleinere Antwort, ideal fΓΌr Orchestrierungs-Loops

get_task

Gibt eine einzelne Aufgabe nach ID zurück, einschließlich ihrer project_id.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"get_task","task_id":"<uuid>"}'

create_task

Erstellt eine neue Aufgabe in einem Projekt. Gibt das erstellte Aufgabeobjekt zurΓΌck.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "action": "create_task", "project_id": "<uuid>", "text": "Write unit tests", "priority": true, "color": "yellow", "deadline": "2026-06-30", "notes": "## Context\n\n- Cover happy path\n- Cover edge cases" }'
ParameterTypErforderlichStandard
project_idstring (UUID)Ja
textstringJa
statusstringNeinbacklog
notesstring (Markdown)Neinnull
prioritybooleanNeinfalse
colorstring | nullNeinnull (weiß)
deadlinestring (YYYY-MM-DD) | nullNeinnull
positionnumberNeinEnde der Spalte (max + 1000)

update_task

Aktualisiert ein oder mehrere Felder einer bestehenden Aufgabe. Mindestens ein optionales Feld muss angegeben werden.

# Aufgabe zu in_progress verschieben: curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"update_task","task_id":"<uuid>","status":"in_progress"}' # Mehrere Felder auf einmal aktualisieren: -d '{"action":"update_task","task_id":"<uuid>","priority":true,"color":"green","deadline":null}'
ParameterTypErforderlich
task_idstring (UUID)Ja
textstringNein
statusstringNein
notesstring (Markdown) | nullNein
prioritybooleanNein
colorstring | nullNein
deadlinestring (YYYY-MM-DD) | nullNein
positionnumberNein

append_to_notes

HΓ€ngt Text an das Ende der Notizen einer Aufgabe an, ohne die bestehenden Notizen erneut zu senden. Der neue Text wird durch eine Leerzeile getrennt (sind die Notizen leer, wird nur der neue Text gespeichert). Der Vorgang ist atomar, gleichzeitige AnhΓ€nge ΓΌberschreiben sich also nicht. Gibt die aktualisierte Aufgabe zurΓΌck.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"append_to_notes","task_id":"<uuid>","text":"## Testergebnis\n\n- Alles bestanden"}'
ParameterTypErforderlich
task_idstring (UUID)Ja
textstring (Markdown)Ja

delete_task

LΓΆscht eine Aufgabe dauerhaft. Gibt {"success":true} zurΓΌck.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"delete_task","task_id":"<uuid>"}'

πŸ“‹ Enum-Werte

status

  • backlog
  • in_progress
  • review
  • testing
  • done

color

  • yellow
  • green
  • blue
  • null (weiß)

deadline

YYYY-MM-DD string, oder null zum LΓΆschen.

priority

true = hohe PrioritΓ€t
false = normal

πŸ“„

Aufgabennotizen (Markdown)

Aufgabennotizen werden als plain Markdown Strings gespeichert und ΓΌbertragen. Das Frontend rendert sie ΓΌber react-markdown. Schreiben und lesen Sie immer Markdown β€” kein HTML.

Syntax Ergebnis
**text**Fett
*text*Kursiv
~~text~~Durchgestrichen
## HeadingH2 Überschrift
### HeadingH3 Überschrift
- itemAufzΓ€hlungsliste
1. itemNummerierte Liste
`code`Inline Code
```\ncode\n```Codeblock
> textBlockzitat
[text](url)Hyperlink

πŸ“‹ Beispiel-Notiz in create_task

"notes": "## Task overview\n\n- Requirement 1\n- Requirement 2\n\n**Important:** deadline is Friday\n\n[Design brief](https://example.com/brief)"
Γ„ltere Notizen: Notizen, die vor der Markdown-Migration gespeichert wurden, kΓΆnnen HTML enthalten. Das Frontend konvertiert sie automatisch bei der Anzeige. Beim Lesen ΓΌber die API kΓΆnnen alte Notizen HTML-Strings zurΓΌckgeben β€” schreiben Sie immer Markdown, seien Sie beim Lesen tolerant.
βš™οΈ

Einstellungen

get_column_settings

Gibt die Kanban-Spalten-Sichtbarkeitseinstellungen des Benutzers zurΓΌck.

curl -s -X POST https://www.simplestickers.app/api/agent \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"get_column_settings"}'

Beispielantwort:

{ "columns": { "backlog": true, "in_progress": true, "review": false, "testing": false, "done": true } }

columns ist null, wenn der Benutzer die Spaltensichtbarkeit nicht angepasst hat (alle Standard gelten).

❌

Fehlerreferenz

HTTP-Status error Wert Bedeutung
401 Unauthorized Token fehlt, ist ungΓΌltig oder widerrufen. Der MCP Server liefert zusΓ€tzlich einen WWW-Authenticate-Header mit Verweis auf die OAuth-Metadaten.
400 Missing <param> Erforderlicher Parameter nicht angegeben
400 Unknown action Aktionsname nicht erkannt
403 Key management requires JWT authentication Versuch, SchlΓΌssel mit API-SchlΓΌssel-Token zu verwalten
500 varies Unerwarteter Serverfehler
πŸ€–

MCP-Integration

Was ist MCP?

MCP (Model Context Protocol) ist ein Standard, der es KI-Clients (Claude Code, Claude Desktop, Cursor…) ermΓΆglicht, sich mit externen Tools zu verbinden. Anders als die REST API beschreibt sich der MCP Server selbst β€” der Client fragt, welche Tools existieren, und ruft sie dann direkt auf, ohne URLs oder Anfrage-Formate kennen zu mΓΌssen.

βœ… MCP verwenden, wenn…

  • β€’ Sie mΓΆchten, dass Claude Ihre Aufgaben dialogisch verwaltet
  • β€’ Sie benΓΆtigen, dass die KI verfΓΌgbare Operationen selbst erkennt
  • β€’ Sie eine schlΓΌsselfertige Integration mit Claude Code / Claude Desktop bevorzugen
  • β€’ Sie natΓΌrliche Sprache anstelle von curl-Befehlen verwenden mΓΆchten

πŸ“‘ REST API verwenden, wenn…

  • β€’ Sie Ihre eigenen Automatisierungsskripte oder CI-Pipelines erstellen
  • β€’ Sie granulare Kontrolle ΓΌber HTTP-Anfragen benΓΆtigen
  • β€’ Sie mit Systemen integrieren, die MCP nicht unterstΓΌtzen
  • β€’ Sie Antworten programmgesteuert verarbeiten mΓΆchten

πŸ› οΈ VerfΓΌgbare MCP-Tools

list_projects

find_project

create_project

rename_project

delete_project

get_column_settings
list_tasks

get_task

create_task

update_task

append_to_notes

delete_task
MCP-Endpunkt: https://www.simplestickers.app/api/mcp (Streamable HTTP Transport, JSON-RPC 2.0)

πŸ”Œ So verbinden Sie sich

  • β€’ Claude.ai β€” Web, Desktop-App, Mobil: benutzerdefinierter Connector mit OAuth-Anmeldung, ohne API-SchlΓΌssel β€” Anleitung
  • β€’ Claude Code: Konfiguration mit API-SchlΓΌssel im Header oder OAuth-Anmeldung β€” Anleitung
  • β€’ n8n und andere Tools: HTTP-MCP-Client mit dem Header Authorization: Bearer ss_… (SchlΓΌssel aus Kontoeinstellungen β†’ API)
☁️

Mit Claude.ai verbinden

FΓΌgen Sie Simple Stickers in Claude als benutzerdefinierten Connector hinzu. Sie melden sich mit Ihrem Simple Stickers-Konto an und erlauben den Zugriff β€” ein API-SchlΓΌssel muss weder generiert noch irgendwo eingefΓΌgt werden. Der Connector funktioniert dann in Claude im Web, in der Desktop-App und auf dem Handy.

πŸ”— Vorgehen

  1. 1 Γ–ffnen Sie in Claude Settings β†’ Connectors und klicken Sie auf Add custom connector
  2. 2
    Geben Sie einen beliebigen Namen (z. B. Simple Stickers) und die Server-URL ein:
    https://www.simplestickers.app/api/mcp
  3. 3 Klicken Sie auf Connect β€” eine Simple Stickers-Seite ΓΆffnet sich
  4. 4 Melden Sie sich an (per E-Mail oder Google) und klicken Sie auf Erlauben. Sie kehren zu Claude zurΓΌck und der Connector ist verbunden.

βœ… Wie geht es weiter

  • β€’ Der Connector wird mit der Claude Desktop-App und dem Handy synchronisiert β€” Sie richten ihn nur einmal ein
  • β€’ Im GesprΓ€ch genΓΌgt z. B. β€žWelche Aufgaben habe ich im Projekt Website?β€œ
  • β€’ Claude hat denselben Zugriff wie Sie: Es kann Ihre Projekte und Aufgaben sehen, erstellen, bearbeiten und lΓΆschen

πŸ”Œ Trennen

  • β€’ Γ–ffnen Sie in Simple Stickers Kontoeinstellungen β†’ API-Reiter
  • β€’ Widerrufen Sie den SchlΓΌssel mit der Quelle Verbundene App (Name β€žClaudeβ€œ) ΓΌber die SchaltflΓ€che Widerrufen
  • β€’ Ab dann hat Claude keinen Zugriff mehr auf Ihr Konto; zum erneuten Verbinden klicken Sie in Claude einfach wieder auf Connect
In den Claude-PlΓ€nen Team / Enterprise kΓΆnnen nur Organisationsinhaber benutzerdefinierte Connectoren hinzufΓΌgen; die ΓΌbrigen Mitglieder verbinden sich dann nur mit ihrem eigenen Konto.
πŸ’»

Claude Code Einrichtung

Claude Code unterstΓΌtzt HTTP MCP-Server nativ β€” kein Proxy erforderlich. Konfigurieren Sie einmal global oder pro Projekt.

πŸ” Am einfachsten: Anmeldung per OAuth (ohne API-SchlΓΌssel)

FΓΌgen Sie den Server ohne Header hinzu und melden Sie sich dann mit /mcp β†’ simplestickers β†’ Authenticate an. Es ΓΆffnet sich ein Browser mit derselben Zustimmungsseite wie bei Claude.ai.

claude mcp add --transport http simplestickers https://www.simplestickers.app/api/mcp

FΓΌr Skripte und geteilte Konfigurationen kΓΆnnen Sie weiterhin einen API-SchlΓΌssel im Header verwenden β€” siehe unten.

🌐 Globale Konfiguration β€” ~/.claude/mcp.json

Gilt fΓΌr alle Claude Code Sitzungen auf Ihrem Computer:

{ "mcpServers": { "simplestickers": { "type": "http", "url": "https://www.simplestickers.app/api/mcp", "headers": { "Authorization": "Bearer ss_your_api_key_here" } } } }

πŸ“ Pro-Projekt-Konfiguration β€” .mcp.json im Projektroot

Gleiches Format wie globale Konfiguration β€” gilt nur beim Arbeiten in diesem Verzeichnis:

{ "mcpServers": { "simplestickers": { "type": "http", "url": "https://www.simplestickers.app/api/mcp", "headers": { "Authorization": "Bearer ss_your_api_key_here" } } } }

βœ… Verbindung prΓΌfen

Nach dem Speichern der Konfiguration ΓΆffnen Sie Claude Code und geben Sie ein:

/mcp

Sie sollten simplestickers aufgelistet sehen mit allen 12 verfΓΌgbaren Tools. Wenn der Server als getrennt angezeigt wird, klicken Sie auf Reconnect.

πŸ–₯️

Claude Desktop Einrichtung

Empfohlen: Am einfachsten fΓΌgen Sie Simple Stickers als Connector in Claude.ai hinzu β€” er erscheint automatisch auch in Claude Desktop und auf dem Handy, ohne Konfigurationsdateien und ohne API-SchlΓΌssel. Siehe Mit Claude.ai verbinden. Die manuelle Konfiguration unten ist eine Alternative fΓΌr die lokale Einrichtung mit API-SchlΓΌssel.
Wichtig: Claude Desktop unterstΓΌtzt HTTP MCP Transport nicht direkt β€” es nutzt nur stdio Transport. Verwenden Sie mcp-remote als Proxy. Das -y Flag genehmigt automatisch die npm-Installation ohne interaktive Eingabeaufforderungen.

🍎 macOS

Konfigurationsdatei: ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "simplestickers": { "command": "npx", "args": [ "-y", "mcp-remote", "https://www.simplestickers.app/api/mcp", "--header", "Authorization: Bearer ss_your_api_key_here" ] } } }

πŸͺŸ Windows

Konfigurationsdatei: %APPDATA%\Claude\claude_desktop_config.json

(normalerweise C:\Users\<name>\AppData\Roaming\Claude\claude_desktop_config.json)

Unter Windows startet Claude Desktop Prozesse ohne Shell-Kontext, daher muss npx in cmd /c eingewickelt werden:

{ "mcpServers": { "simplestickers": { "command": "cmd", "args": [ "/c", "npx", "-y", "mcp-remote", "https://www.simplestickers.app/api/mcp", "--header", "Authorization: Bearer ss_your_api_key_here" ] } } }
Nach dem Bearbeiten der Konfiguration starten Sie Claude Desktop neu. Sie sollten die Simple Stickers Tools in der Tool-Liste in einer Unterhaltung sehen.
πŸ’‘

Schnellbeispiele

πŸ“‘ Kompletter REST-Workflow β€” Projekt finden β†’ Aufgabe erstellen β†’ Status aktualisieren

BASE="https://www.simplestickers.app/api/agent" TOKEN="ss_your_api_key_here" # 1. Projekt finden curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"find_project","name":"My Work"}' # 2. Aufgabe erstellen (project_id aus Schritt 1 verwenden) curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "action": "create_task", "project_id": "<project-uuid>", "text": "Write unit tests", "priority": true, "color": "yellow" }' # 3. Aufgabe zu in_progress verschieben (Task ID aus Schritt 2 verwenden) curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "action": "update_task", "task_id": "<task-uuid>", "status": "in_progress" }' # 4. Als erledigt markieren curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"action":"update_task","task_id":"<task-uuid>","status":"done"}'

πŸ€– MCP-Workflow in Claude Code

Sobald der MCP-Server konfiguriert ist, kΓΆnnen Sie natΓΌrlich mit Claude sprechen:

Sie: Find my "Website Redesign" project and list all tasks that are in_progress
Sie: Create a high-priority task "Fix mobile navigation" with a deadline of 2026-06-30 and add notes with a checklist
Sie: Move all tasks named "Deploy *" to done status

Claude nutzt die MCP-Tools automatisch basierend auf Ihren natΓΌrlichsprachlichen Anweisungen.

πŸ”¬ MCP-Server direkt mit curl testen

BASE="https://www.simplestickers.app/api/mcp" TOKEN="ss_your_api_key_here" # Ohne Token β†’ HTTP 401 + WWW-Authenticate (OAuth-Discovery) curl -s -i -X POST $BASE -H "Content-Type: application/json" -d '{}' # Handshake curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{}},"id":1}' # Tools auflisten curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":2}' # Tool aufrufen curl -s -X POST $BASE \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"list_projects","arguments":{}},"id":3}'