Desarrolladores · MCP

Usa Owlect desde Claude y ChatGPT

Owlect tiene un servidor remoto de Model Context Protocol (MCP). Añádelo una vez a tu asistente de IA, inicia sesión con Google y gestiona tus colecciones conversando: añade una estantería entera desde una lista o una foto, corrige detalles, pon cosas a la venta o pregunta sobre lo que tienes.

URL del servidor

https://owlect.app/api/mcp
MCP remotoStreamable HTTPOAuth 2.1 + PKCE11 herramientasVer como Markdown →

Qué puedes pedir

Una vez conectado, habla con tu asistente con normalidad. Él elige solo las herramientas de Owlect adecuadas.

  • “Añade estos 20 juegos de mesa a mi estantería: [pega una lista o adjunta una foto]”
  • “Pon a la venta a 40 $ todos mis juegos de mesa de Stonemaier”
  • “¿Cuáles de mis sets de LEGO están incompletos?”
  • “Crea una colección de vinilos llamada «Jazz» y añade los álbumes de esta foto”
  • “¿Cuántos artículos me quedan en mi plan?”
  • “Cambia el nombre de mi colección «Deseos» a «Por comprar»”

Inicio rápido

  1. 1

    Copia la URL del servidor

    La URL de arriba funciona en todos los clientes. No necesitas una clave de API.

  2. 2

    Añádela a tu asistente

    En Claude o ChatGPT, añade un conector personalizado (en ChatGPT se llama app) con esa URL. Abajo tienes las guías paso a paso de cada cliente.

  3. 3

    Inicia sesión y permite el acceso

    Tu asistente abre Owlect. Inicia sesión con la cuenta de Google que usas en Owlect, comprueba qué app lo pide, elige qué puede hacer y pulsa Permitir.

Configura tu cliente

Owlect funciona con cualquier cliente que admita servidores MCP remotos con inicio de sesión OAuth. Abajo tienes las guías de los más habituales.

Claude (web, escritorio y móvil)

Los conectores personalizados están disponibles en todos los planes de Claude. El plan gratuito permite un conector personalizado.

  1. 1Abre claude.ai y ve a Ajustes -> Conectores (Settings -> Connectors).
  2. 2Pulsa «Añadir conector personalizado» (Add custom connector).
  3. 3Llámalo «Owlect» y pega la URL del servidor. Deja vacíos los campos del cliente OAuth: Owlect registra a Claude automáticamente.
  4. 4Pulsa Añadir y luego Conectar. Inicia sesión en Owlect con Google y pulsa Permitir.
  5. 5En un chat, abre el menú + -> Conectores (Connectors) y comprueba que Owlect está activado.

Los conectores que añades en claude.ai también aparecen en las apps de Claude para escritorio y móvil. En los planes Team y Enterprise, primero un propietario tiene que añadir el conector para la organización.

ChatGPT

ChatGPT se conecta a servidores MCP personalizados en el modo de desarrollador.

  1. 1Abre ChatGPT en la web, ve a Configuración -> Apps y conectores -> Configuración avanzada (Settings -> Apps & Connectors -> Advanced settings) y activa el modo de desarrollador (Developer mode).
  2. 2Vuelve a Apps y conectores y pulsa Crear (Create).
  3. 3Llámalo «Owlect», pega la URL del servidor y elige OAuth como autenticación.
  4. 4Pulsa Crear. Se abre una ventana de inicio de sesión: entra en Owlect con Google y pulsa Permitir.
  5. 5En un chat nuevo, elige Owlect en el menú de herramientas (+) para que ChatGPT pueda usarlo.

El modo de desarrollador y las apps personalizadas dependen de tu plan de ChatGPT y de la configuración del espacio de trabajo. Si no ves la opción, puede que tu administrador tenga que permitirla.

Claude Code

Añade el servidor desde la terminal y luego inicia sesión desde Claude Code.

  1. 1Ejecuta el comando de abajo.
  2. 2Abre Claude Code, escribe /mcp, elige owlect y selecciona Authenticate. El navegador abrirá el inicio de sesión de Owlect.
bash
claude mcp add --transport http owlect https://owlect.app/api/mcp

VS Code (modo agente de GitHub Copilot)

Añade Owlect a la configuración MCP del espacio de trabajo o del usuario.

  1. 1Crea .vscode/mcp.json (o abre la configuración MCP de usuario) con el fragmento de abajo.
  2. 2Pulsa Start encima de la entrada del servidor. VS Code abrirá el inicio de sesión de Owlect en el navegador.
json
{
  "servers": {
    "owlect": {
      "type": "http",
      "url": "https://owlect.app/api/mcp"
    }
  }
}

Cursor y otros clientes

Los clientes que solo usan stdio, o que inician sesión mediante un esquema de URL propio (como cursor://), pueden conectarse con el puente mcp-remote, que hace el inicio de sesión en localhost.

  1. 1Añade el fragmento de abajo a la configuración MCP del cliente (en Cursor: ~/.cursor/mcp.json).
  2. 2Reinicia el cliente. La primera vez, mcp-remote abrirá el inicio de sesión de Owlect en el navegador.
json
{
  "mcpServers": {
    "owlect": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://owlect.app/api/mcp"
      ]
    }
  }
}

Owlect solo acepta direcciones de retorno https, o http en localhost. Por eso los esquemas de URL propios necesitan el puente.

MCP Inspector (para desarrolladores)

El Inspector oficial es la forma más rápida de ver las herramientas y probar llamadas a mano.

  1. 1Ejecuta el comando de abajo.
  2. 2Elige Streamable HTTP, pega la URL del servidor y pulsa Connect. Completa el inicio de sesión y abre la pestaña Tools.
bash
npx -y @modelcontextprotocol/inspector

Herramientas

Cada herramienta actúa solo sobre los datos del usuario que ha iniciado sesión. El asistente nunca envía un id de usuario: sale del token de acceso.

Lectura

Seguras, se pueden usar en cualquier momento. Necesitan el permiso de lectura, que tiene toda conexión.

get_account

Lectura

Tu plan y cuántos artículos y colecciones has usado de tus límites.

Sin parámetros.

list_collections

Lectura

Todas tus colecciones con su tipo, número de artículos y enlace público, primero las modificadas más recientemente.

Sin parámetros.

get_collection

Lectura

Una colección con sus campos personalizados (clave, etiqueta, tipo, opciones permitidas). Los asistentes la consultan antes de añadir o editar artículos para que los valores vayan al campo correcto.

  • collectionIdObligatorio

    uuid

    Id de una de las colecciones del usuario (de la lista de colecciones).

search_items

Lectura

Artículos de una colección, primero los más nuevos, con búsqueda opcional por nombre y filtro de venta. Devuelve páginas con un cursor para la siguiente.

  • collectionIdObligatorio

    uuid

    Colección en la que buscar.

  • query

    string, max 200

    Coincidencia con el nombre del artículo, sin distinguir mayúsculas.

  • forSale

    boolean

    true para artículos a la venta, false para el resto.

  • limit

    integer 1-50, default 20

    Artículos por página.

  • cursor

    string (nextCursor from the previous page)

    nextCursor de la página anterior. Omítelo en la primera página.

get_item

Lectura

Un artículo con todos sus campos, incluidos los valores de campos personalizados, los datos de venta y la portada.

  • itemIdObligatorio

    uuid

    Id de un artículo (de la lista o la búsqueda de una colección).

Escritura

Las herramientas de creación necesitan el permiso de creación; las de edición, el de edición.

create_collection

Escritura

Crea una colección. Los tipos integrados traen sus campos estándar. El tipo personalizado (custom) requiere Owlect Plus.

  • nameObligatorio

    string, 1-100

    Nombre de la colección.

  • typeObligatorio

    dolls | board_games | coins | stamps | music | pokemon_cards | sneakers | retro_games | funko_pop | lego | comic_books | books | watches | cars | hot_wheels | custom

    Tipo de colección. Define los campos por defecto y las búsquedas que usa la app.

  • description

    string, max 500

    Se muestra en la página de la colección.

  • fieldDefinitions

    array of { key, label, type, options?, required? }

    Campos personalizados. Omítelo para usar los campos estándar del tipo.

update_collection

Escritura

Cambia el nombre o la descripción de una colección, o sustituye sus definiciones de campos. Lo que no envíes se queda igual.

  • collectionIdObligatorio

    uuid

    Colección que se cambia.

  • name

    string, 1-100

    Nuevo nombre.

  • description

    string, max 500

    Nueva descripción.

  • fieldDefinitions

    array of { key, label, type, options?, required? }

    Sustituye toda la lista de campos.

create_items

Escritura

Añade hasta 50 artículos en una llamada. Los valores de campos personalizados se validan antes con los campos de la colección; si algún artículo no es válido, no se guarda nada.

  • collectionIdObligatorio

    uuid

    Colección a la que se añade.

  • itemsObligatorio

    array, 1-50 items

    Los artículos que se crean.

  • items[].nameObligatorio

    string, 1-200

    Nombre del artículo.

  • items[].description

    string, max 1000

    Notas en texto libre.

  • items[].quantity

    integer 1-999

    Cuántos ejemplares tienes.

  • items[].customFieldValues

    object: field key -> string | number | boolean | null

    Valores por clave de los campos de la colección (lee primero la colección para conocerlas). Las claves desconocidas se rechazan con la lista de las válidas.

  • items[].forSale

    boolean

    Pone el artículo a la venta.

  • items[].salePrice

    integer (whole currency units) | null

    Precio en unidades enteras, p. ej. 40 para 40 $.

  • items[].saleCurrency

    currency code, e.g. USD, EUR, UAH

    Moneda del precio. Por defecto USD.

  • items[].completeness

    complete | incomplete | partial | sealed | unknown | null

    Si el artículo está completo, precintado, etc.

  • items[].barcode

    string, max 64 | null

    EAN, UPC o ISBN.

  • items[].coverUrl

    https URL | null

    Enlace a una imagen de portada. Se guarda como enlace, no se sube.

update_item

Escritura

Cambia solo los campos que envías. Los campos personalizados se combinan por clave y null borra un campo. Para poner un artículo a la venta, indica forSale y salePrice.

  • itemIdObligatorio

    uuid

    Artículo que se cambia.

  • name

    string, 1-200

    Nuevo nombre.

  • description

    string, max 1000

    Notas en texto libre.

  • quantity

    integer 1-999

    Cuántos ejemplares tienes.

  • customFieldValues

    object: field key -> string | number | boolean | null

    Valores por clave de los campos de la colección (lee primero la colección para conocerlas). Las claves desconocidas se rechazan con la lista de las válidas.

  • forSale

    boolean

    Pone el artículo a la venta.

  • salePrice

    integer (whole currency units) | null

    Precio en unidades enteras, p. ej. 40 para 40 $.

  • saleCurrency

    currency code, e.g. USD, EUR, UAH

    Moneda del precio. Por defecto USD.

  • completeness

    complete | incomplete | partial | sealed | unknown | null

    Si el artículo está completo, precintado, etc.

  • barcode

    string, max 64 | null

    EAN, UPC o ISBN.

  • coverUrl

    https URL | null

    Enlace a una imagen de portada. Se guarda como enlace, no se sube.

Eliminación

Permanentes. Necesitan el permiso de eliminación (desactivado salvo que lo marques), tienen un límite diario propio y pequeño, y los asistentes solo deben usarlas cuando tú lo pides.

delete_collection

Eliminación

Elimina una colección y todos sus artículos. Se niega si confirmName no coincide exactamente con el nombre de la colección.

  • collectionIdObligatorio

    uuid

    Colección que se elimina.

  • confirmNameObligatorio

    string (the collection's exact name)

    Debe coincidir exactamente con el nombre de la colección.

delete_items

Eliminación

Elimina hasta 25 artículos de una colección.

  • collectionIdObligatorio

    uuid

    Colección a la que pertenecen los artículos.

  • itemIdsObligatorio

    array of uuid, 1-25

    Ids de los artículos que se eliminan.

Permisos y límites

Al pulsar Permitir, eliges qué puede hacer el asistente. Puedes ver y desconectar cada app conectada en Owlect, en Ajustes -> Apps conectadas.

read

Ver tus colecciones y artículos. Siempre activado.

create

Añadir colecciones y artículos. Activado por defecto.

update

Cambiar colecciones y artículos. Desactivado salvo que lo marques.

delete

Eliminar colecciones y artículos. Desactivado salvo que lo marques.

Límites por app conectada

  • 120 llamadas a herramientas por minuto.
  • 500 cambios al día.
  • 20 llamadas de eliminación al día. Para más, usa la app de Owlect.
  • Entre todas las apps que conectes: 1000 cambios y 40 llamadas de eliminación al día.
  • Hasta 50 artículos por llamada a create_items y 25 por llamada a delete_items.
  • Los límites de artículos y colecciones de tu plan se aplican igual que en la app.

Lo que el conector no puede hacer

  • Cambiar la visibilidad: hacer pública o privada una colección, o restablecer su enlace.
  • Tocar tu cuenta, perfil, ajustes de correo, facturación o plan.
  • Subir fotos. Puede guardar un enlace a una imagen, pero no sube archivos.
  • Ver colecciones de otras personas.

Seguridad y privacidad

  • Inicias sesión en owlect.app con Google. Tu asistente nunca ve tu contraseña de Google ni tu sesión de Owlect.
  • La pantalla de consentimiento muestra la dirección web a la que la app te devolverá. Owlect marca las apps que no ha verificado. Permite el acceso solo a apps que hayas empezado a conectar tú.
  • Los tokens de acceso duran 1 hora y se renuevan solos. Owlect solo guarda un hash de cada token.
  • Desconectar una app en Ajustes -> Apps conectadas la detiene al instante, incluidos los tokens que ya tenga.
  • Las eliminaciones son permanentes. Los asistentes solo deben eliminar cuando tú lo pides, y borrar una colección requiere su nombre exacto.

Solución de problemas

La ventana de inicio de sesión dice «Este enlace de conexión no funciona».

La solicitud de conexión estaba incompleta o venía de una app que Owlect no conoce. Elimina el conector en tu asistente y vuelve a añadirlo.

El asistente dice que no está autenticado o me pide reconectar.

La app se desconectó en Ajustes o su inicio de sesión caducó. Vuelve a conectarla desde los ajustes de conectores del asistente.

El asistente dice que la conexión no puede editar (o crear, o eliminar).

No lo marcaste en la pantalla de consentimiento. Desconecta la app en Ajustes -> Apps conectadas y vuelve a conectarla marcando lo que debe poder hacer.

Errores «Unknown field» al añadir artículos.

Cada colección tiene sus propios campos. Pide al asistente que revise primero los campos de la colección. También recibe las claves válidas en el mensaje de error.

Se alcanzó el límite de artículos o colecciones.

Se aplican los mismos límites del plan que en la app. Consulta tu uso con get_account, y pásate a Plus o invita a amigos para tener más espacio.

Mis cambios no aparecen en la pestaña abierta de Owlect.

Recarga la página. Los cambios hechos por un asistente aparecen al actualizar.

Cursor (u otro cliente) no consigue iniciar sesión.

Usa la configuración con mcp-remote de arriba. Los clientes que inician sesión con un esquema de URL propio no se aceptan directamente.

Referencia técnica

Para desarrolladores que crean o depuran un cliente.

Endpoint MCP
https://owlect.app/api/mcp
Transporte
Streamable HTTP sin estado (sin sesiones). JSON-RPC 2.0.
Metadatos del recurso protegido (RFC 9728)
https://owlect.app/.well-known/oauth-protected-resource/api/mcp
Metadatos del servidor de autorización (RFC 8414)
https://owlect.app/.well-known/oauth-authorization-server
Registro dinámico de clientes (RFC 7591)
POST https://owlect.app/api/oauth/register. Solo clientes públicos (token_endpoint_auth_method: none). Las URI de retorno deben ser https, o http en localhost.
Endpoint de autorización
https://owlect.app/oauth/authorize
Endpoint de tokens
POST https://owlect.app/api/oauth/token
Revocación (RFC 7009)
POST https://owlect.app/api/oauth/revoke
PKCE
Obligatorio, solo S256.
Ámbitos
read, create, update, delete
Duración de los tokens
Acceso 1 hora, actualización 30 días y rotado en cada uso. Reutilizar un token de actualización ya usado revoca toda la cadena.
Peticiones sin autenticar
401 con WWW-Authenticate: Bearer ... resource_metadata="..." que apunta a los metadatos del recurso protegido.