Naar de inhoud

MCP-server

Wat het is

Het Model Context Protocol (MCP) is een open standaard waarmee een AI-assistent tools in een andere dienst kan aanroepen. Dotwick draait een MCP-server zodat een assistent je codes kan weergeven, maken en wijzigen, taggen en je scancijfers kan lezen.

De server is een dunne laag over deze API. Elk van zijn 11 tools roept één API-route aan met de scope van die route, onder dezelfde aanvraaglimieten, dus een assistent kan wat zijn sleutel met de hand ook zou kunnen en niets meer. Niets verwijdert: codes, mappen en tags verwijderen blijft in de app en de REST-API, dus geen enkele prompt kan een gedrukte code breken.

Voordat je begint

MCP hoort bij API-toegang (Pro, Business en Enterprise). Open in de app Settings → API en maak een sleutel met de scopes die de assistent nodig heeft: de leesscopes volstaan voor vragen over je scans, en met codes:write, folders:write of tags:write kan hij dingen wijzigen.

De assistent ziet alleen de tools die zijn sleutel toestaat, dus een sleutel met alleen leesrechten toont nooit create_code. Elke toolaanroep telt als één API-verzoek voor de aanvraaglimiet en het maandtotaal van de sleutel; de tools weergeven niet.

Koppel hem

De server spreekt Streamable HTTP op https://api.dotwick.com/mcp. Stuur de sleutel als bearer-token in de Authorization-header.

voorbeeldVoeg de server toe
claude mcp add --transport http dotwick https://api.dotwick.com/mcp \  --header "Authorization: Bearer $DOTWICK_API_KEY"

Claude, ChatGPT en andere clients

Claude Code voegt de server toe met het commando hierboven. Clients die een MCP-configuratiebestand lezen, zoals Cursor en VS Code, nemen het JSON-blok: bewaar de sleutel in een omgevingsvariabele en verwijs ernaar, schrijf hem nooit in het bestand.

ChatGPT en andere apps die een externe MCP-server via zijn URL toevoegen: voer de server-URL in en stuur de sleutel als bearer-token waar de app om een API-sleutel of een header vraagt. Een app die alleen met OAuth kan inloggen, kan nog niet koppelen. OAuth staat gepland; API-sleutels zijn nu de manier om de server te bereiken.

Tools

Elke tool hoort bij één API-route en vereist de scope van die route. Lijsttools geven tot 50 items en een cursor voor de volgende pagina.

list_codes
Toon de QR-codes van de werkruimte, nieuwste eerst. Filter op map, tags, type, status of zoek in naam en korte link.codes:read · GET /v1/codes
get_code
Eén QR-code met bestemming, regels, tags en totaal aantal scans.codes:read · GET /v1/codes/{id}
create_code
Maak een QR-code die een webpagina opent. Standaard dynamisch (de bestemming kan na het drukken veranderen). Optioneel map, tags en UTM-parameters.codes:write · POST /v1/codes
update_code
Wijzig de naam, bestemmings-URL, map, tags of vervaldatum van een code, of pauzeer en hervat hem.codes:write · PATCH /v1/codes/{id}
list_folders
De mappen van de werkruimte.folders:read · GET /v1/folders
create_folder
Maak een map, eventueel binnen een andere.folders:write · POST /v1/folders
list_tags
De tags van de werkruimte en hoeveel codes ze hebben.tags:read · GET /v1/tags
create_tag
Maak een tag met een naam en een kleur.tags:write · POST /v1/tags
tag_codes
Voeg tags toe aan of verwijder ze van maximaal 500 codes tegelijk.codes:write · POST /v1/codes/tags
analytics_summary
Totaal en unieke scans voor een periode: de werkruimte, één code, een map of een tag.analytics:read · GET /v1/analytics/summary
analytics_breakdown
Top-landen, -steden, -apparaten, -browsers, -codes of A/B-varianten voor een periode.analytics:read · GET /v1/analytics/breakdown

Limieten en veiligheid

  • De sleutel behoudt zijn maprestrictie, IP-bereiken en aanvraaglimieten: via MCP ziet hij alleen wat hij via de REST-API ziet.
  • Via MCP kan niets worden verwijderd.
  • Een assistent kan zich vergissen. Vraag hem te zeggen wat hij gaat wijzigen voordat hij schrijft, en controleer het resultaat in de app.