Saltar al contenido

Servidor MCP

Qué es

El Model Context Protocol (MCP) es un estándar abierto que permite a un asistente de IA llamar a herramientas de otro servicio. Dotwick ejecuta un servidor MCP para que un asistente pueda listar tus códigos, crearlos y cambiarlos, etiquetarlos y leer tus números de escaneos.

El servidor es una capa fina sobre esta API. Cada una de sus 11 herramientas llama a una ruta de la API con el scope de esa ruta, bajo los mismos límites de uso, así que un asistente puede hacer lo que su clave podría hacer a mano y nada más. Nada se borra: eliminar códigos, carpetas y etiquetas sigue en la app y en la API REST, así que ningún prompt puede romper un código impreso.

Antes de empezar

MCP viene con el acceso a la API (Pro, Business y Enterprise). En la app, abre Settings → API y crea una clave con los scopes que necesita el asistente: los scopes de lectura bastan para preguntas sobre tus escaneos, y codes:write, folders:write o tags:write le permiten cambiar cosas.

El asistente solo ve las herramientas que permite su clave, así que una clave de solo lectura nunca lista create_code. Cada llamada a una herramienta cuenta como una petición a la API contra el límite de la clave y el total mensual; listar las herramientas no cuenta.

Conéctalo

El servidor habla Streamable HTTP en https://api.dotwick.com/mcp. Envía la clave como token bearer en la cabecera Authorization.

ejemploAñade el servidor
claude mcp add --transport http dotwick https://api.dotwick.com/mcp \  --header "Authorization: Bearer $DOTWICK_API_KEY"

Claude, ChatGPT y otros clientes

Claude Code añade el servidor con el comando de arriba. Los clientes que leen un archivo de configuración MCP, como Cursor y VS Code, usan el bloque JSON: guarda la clave en una variable de entorno y haz referencia a ella, nunca la escribas en el archivo.

ChatGPT y otras apps que añaden un servidor MCP remoto por su URL: introduce la URL del servidor y envía la clave como token bearer donde la app pida una clave de API o una cabecera. Una app que solo puede iniciar sesión con OAuth todavía no puede conectarse. OAuth está previsto; hoy el servidor se alcanza con claves de API.

Herramientas

Cada herramienta corresponde a una ruta de la API y necesita el scope de esa ruta. Las herramientas de listado devuelven hasta 50 elementos y un cursor para la página siguiente.

list_codes
Lista los códigos QR del espacio de trabajo, del más reciente al más antiguo. Filtra por carpeta, etiquetas, tipo, estado o una búsqueda por nombre y enlace corto.codes:read · GET /v1/codes
get_code
Un código QR con su destino, sus reglas, sus etiquetas y sus escaneos totales.codes:read · GET /v1/codes/{id}
create_code
Crea un código QR que abre una página web. Dinámico por defecto (el destino puede cambiar después de imprimir). Carpeta, etiquetas y parámetros UTM opcionales.codes:write · POST /v1/codes
update_code
Cambia el nombre, la URL de destino, la carpeta, las etiquetas o la fecha de caducidad de un código, o lo pausa y lo reanuda.codes:write · PATCH /v1/codes/{id}
list_folders
Las carpetas del espacio de trabajo.folders:read · GET /v1/folders
create_folder
Crea una carpeta, opcionalmente dentro de otra.folders:write · POST /v1/folders
list_tags
Las etiquetas del espacio de trabajo y cuántos códigos lleva cada una.tags:read · GET /v1/tags
create_tag
Crea una etiqueta con un nombre y un color.tags:write · POST /v1/tags
tag_codes
Añade o quita etiquetas en hasta 500 códigos a la vez.codes:write · POST /v1/codes/tags
analytics_summary
Escaneos totales y únicos de un periodo: el espacio de trabajo, un código, una carpeta o una etiqueta.analytics:read · GET /v1/analytics/summary
analytics_breakdown
Principales países, ciudades, dispositivos, navegadores, códigos o variantes A/B de un periodo.analytics:read · GET /v1/analytics/breakdown

Límites y seguridad

  • La clave conserva su restricción de carpetas, sus rangos de IP y sus límites de uso: por MCP ve solo lo que ve por la API REST.
  • Nada se puede borrar por MCP.
  • Un asistente puede equivocarse. Pídele que diga lo que va a cambiar antes de escribir, y revisa el resultado en la app.