DEV Community

Cover image for Cómo conectar un chat de Claude a tus proyectos de osFoundry con un conector personalizado
BBT for BBT Español

Posted on

Cómo conectar un chat de Claude a tus proyectos de osFoundry con un conector personalizado

Al terminar, una conversación normal de Claude en claude.ai podrá abrir las Notes, las bases de conocimiento y los Records de uno de tus proyectos de osFoundry, responder a partir de ellos y publicar en el canal de discusión de ese proyecto. Con tu aprobación, también podrá editarlos. Sigues con tu sesión de Claude como siempre. En cada llamada a una herramienta, osFoundry decide qué puede tocar ese chat, y cada llamada queda registrada en osFoundry en el Recent activity de la conexión. ChatGPT se conecta igual, con la misma dirección de servidor.

Quién hace qué

Lado de Claude Lado de osFoundry
Inicio de sesión Tu cuenta de Claude, sin cambios Tu cuenta de osFoundry aprueba la conexión una vez, para un workspace
Qué ejecuta el modelo Claude, en el chat que ya usas Nada. En este camino no hay modelo ni clave de proveedor
Dónde se ejecutan las herramientas Claude envía la llamada a la herramienta api.osfoundry.io la ejecuta y antes comprueba el acceso
Qué puede alcanzar Lo que devuelva el servidor Los proyectos a los que añadiste la conexión, más los canales a los que la invitaste
Aprobaciones El aviso de permisos de herramientas del propio Claude Los cambios en GitNest y Room esperan en "Needs your approval"
Dónde se quedan los datos La respuesta vive en tu chat de Claude Las Notes, los records y los artículos se quedan en osFoundry. Lo que es solo local nunca sale del dispositivo

Configuración

1. Crea la conexión en osFoundry

En osFoundry, haz clic en el icono de la llave en la cabecera y abre la pestaña Connected. El panel se titula "Connected agents" y muestra en qué workspace estás. En "Connect in three steps":

  • Assistant: elige Claude
  • Display name: cualquier nombre que reconozcas después, por ejemplo Claude research
  • Haz clic en Add assistant (añadir asistente)

La nueva conexión muestra "Setup pending. This assistant cannot read or change anything yet." Copia la Server address con el botón Copy que tiene al lado:

https://api.osfoundry.io/api/v1/external-mcp
Enter fullscreen mode Exit fullscreen mode

La pestaña Connected después de Add assistant, con la dirección del servidor y una conexión pendiente

Ejemplo: La pestaña Connected después de Add assistant, con la dirección del servidor y una conexión pendiente

2. Añádela a Claude como conector personalizado

En Claude, abre Customize → Connectors y añade un conector personalizado con esa URL. En un plan Team o Enterprise, primero la añade un propietario de la organización en Organization settings → Connectors, y luego cada miembro se conecta. Los pasos de Anthropic para conectores MCP remotos están en la guía de conectores personalizados de Claude.

Al hacer clic en Connect, Claude encuentra por sí solo el inicio de sesión de osFoundry. No pegas ningún client ID ni ninguna clave.

3. Aprueba un workspace

El navegador llega a https://osfoundry.io/external-assistant-authorize, una página titulada "Connect an agent". Muestra el cliente del asistente y el host al que vuelve, y después pide:

  • Workspace to connect: un solo workspace. Un segundo workspace necesita su propia conexión.
  • Requested capabilities, en lenguaje claro: "Read supported resources in projects you add", "Change supported resources where you have edit access", "Run sessions where you grant a runner role".
  • Connection: elige "Use pending: Claude research" para que se vincule a la conexión del paso 1, o deja "Create a new connection".
  • Marca "I approve connecting this assistant to " y luego Connect.

Vuelves a Claude. La conexión está activa, pero todavía no ve nada. Una conexión nueva empieza con cero proyectos.

4. Añádela a un proyecto

De vuelta en icono de la llave → Connected, selecciona la conexión. Ahora dice "Connected." En Projects, elige un proyecto y haz clic en Add to project.

La conexión añadida a un proyecto, con su chat vinculado debajo

Ejemplo: La conexión añadida a un proyecto, con su chat vinculado debajo

Esto da acceso al contenido sincronizado compatible de ese proyecto: Notes, bases de conocimiento, canales de Record, Rooms en la nube, los repositorios de GitNest asignados a él y el canal de discusión del proyecto. El contenido que añadas al proyecto más adelante también se incluye. Los canales de Message normales van aparte. Usa Message channels → Choose a Message channel → Invite para cada uno en el que el chat deba leer y responder.

La sección Tools dice "All supported tools are on by default." Desmarca las que no quieras que tenga esta conexión y haz clic en Save tools.

La lista de Tools de una conexión de Claude, todas activadas por defecto

Ejemplo: La lista de Tools de una conexión de Claude, todas activadas por defecto

5. Actívala en el chat

En una conversación de Claude, abre el menú + → Connectors y activa el conector de osFoundry. Después, pide lo que necesites en lenguaje normal.

Una ejecución real

El prompt y la respuesta de abajo son contenido de ejemplo de un proyecto de demostración. Los nombres de las herramientas y de los argumentos son los que el servidor en producción anuncia en tools/list. En claude.ai, las llamadas aparecen bajo el nombre del conector. Si añades la misma URL a Claude Code como osfoundry, las mismas herramientas aparecen como mcp__osfoundry__list_project_resources, etc.

Ejemplo

Tú: Usando osFoundry, ¿qué sigue abierto en la checklist del lanzamiento Q3?
    Revisa la KB de soporte por si algo la contradice y luego marca
    el record "pricing page" como Ready.

Claude → list_granted_resources {}
       ← 1 proyecto conectado: "Launch Q3" (workspace)
Claude → list_project_resources {"project_id": "…", "resource_type": "note", "search": "checklist"}
       ← Note "Q3 launch checklist"
Claude → list_note_tabs {"note_id": "…"}
       ← pestañas: Note (texto), Sheet "Owners"
Claude → read_note_tab {"note_id": "…", "tab_id": "…"}
       ← 9 elementos, 3 sin marcar
Claude → search_knowledge_base {"knowledge_base_id": "…", "query": "refund window"}
       ← artículo "Refund policy" (actualizado hace 2 días)
Claude → read_record_item {"record_channel_id": "…", "item_id": "…"}
       ← "pricing page", status Draft, version …
Claude → edit_record_item {"record_channel_id": "…", "item_id": "…",
                           "values": {"status": "Ready"},
                           "expected_version": "…", "idempotency_key": "…"}
       [Claude te pide permitir esta llamada → Allow]
       ← guardado, nueva version …

Claude: Hay tres elementos abiertos: la fecha de embargo de prensa,
        la traducción de las FAQ y la línea de reembolsos de la
        pricing page. La checklist dice 14 días; el artículo de la KB
        "Refund policy" dice 30. He marcado el record de la pricing
        page como Ready.
Enter fullscreen mode Exit fullscreen mode

Dos detalles de esa transcripción son intencionados. edit_record_item necesita la version que devolvió read_record_item, así que un record que haya cambiado entretanto se rechaza en lugar de sobrescribirse. Un idempotency_key repetido devuelve el primer resultado, así que una llamada reintentada no escribe dos veces.

Dónde está el límite

osFoundry no puede abrir tus chats de Claude. La conexión MCP permite que Claude llame a herramientas de osFoundry cuando él lo decide. osFoundry no tiene ninguna API en la dirección contraria para listar, leer o iniciar una conversación personal. La herramienta que vincula un chat a un proyecto (link_current_chat) recibe una etiqueta que el propio chat declara, y osFoundry la trata como una pista de enrutamiento, no como una identidad verificada. Por la misma razón, Claude no recibe notificaciones en segundo plano de osFoundry. Actúa cuando abres la conversación y le pides algo.

Los datos solo locales se quedan en local. El propio servidor lo dice en su respuesta a initialize: "Local-only data is unavailable to cloud clients." Las Rooms locales, las sesiones locales de Graph y el contenido que nunca se sincronizó no son visibles para la conexión. Compartir sesiones de Graph del escritorio es un interruptor aparte en la misma pestaña, y la app de escritorio tiene que estar abierta y con la sesión iniciada.

El acceso se comprueba en cada llamada, no en cada inicio de sesión. Cada llamada se contrasta con el estado de la conexión, su workspace, la membresía actual del proyecto, en qué proyecto está el elemento en ese momento y tu propio rol sobre ese elemento. Mueve una Note a otro proyecto, quita el proyecto o haz clic en Revoke connection, y la siguiente llamada se rechaza. Las ediciones también requieren que tú, la persona que aprobó la conexión, sigas teniendo permisos de edición.

Algunas escrituras se convierten en propuestas. El trabajo en GitNest, los change sets, las importaciones de archivos, los pull requests y las instalaciones de apps en Rooms pasan por herramientas propose_…. Esperan en la pestaña Connected, en "Needs your approval", donde ves el repositorio o la Room de destino y los archivos antes de elegir Approve o Decline. Claude nunca recibe tu token del proveedor de Git ni ningún valor secreto.

Los canales de Message necesitan invitación. Estar en un proyecto solo abre el canal de discusión de ese proyecto. Cualquier otro canal necesita un Invite explícito, y un canal privado necesita que lo invite su propietario.

Siguiente paso

Añade una base de conocimiento al mismo proyecto y hazle a Claude una pregunta que normalmente responderías con ella, por ejemplo "¿Qué dice nuestra KB sobre reembolsos, con el nombre del artículo?". search_knowledge_base devuelve el ID del artículo y cuándo se actualizó por última vez, así que puedes comprobar la fuente. Cómo se organizan las bases de conocimiento de osFoundry se explica en la página de bases de conocimiento.

Top comments (0)