Integraciones / Servidor MCP

IntegracionesActualizado el 24 de octubre de 2026

Servidor MCP

Referencia de herramientas, compatibilidad de protocolos y controles de acceso de clientes

Versión: Esta guía describe Parrot Scribe estable 1.0.8. La beta pública 1.1.0 tiene controles diferentes y algunas funciones sin terminar. Consulta Instalación y diferencias de la beta antes de aplicar estos pasos a la beta.

Requiere Parrot Scribe Pro. El acceso al servidor MCP forma parte de Parrot Scribe Pro. Las licencias existentes ya incluyen Pro.

Empieza por Conecta tu agente para ChatGPT, Claude y Cursor. Esa guía usa Ajustes > Apps de IA. Escuchar y resumir explica el flujo una vez conectadas esas apps.

Para 1.1.0-beta.1: Sigue Configurar la beta. Sus niveles de acceso son Sencillo y De confianza, su ayudante de escritorio gestionado verifica la app firmada mediante un socket Unix privado y los clientes manuales usan un transporte de bucle local autenticado independiente. Su diario en directo conserva 1.024 frases confirmadas. Sencillo rechaza las herramientas destructivas en lugar de mostrar el aviso por llamada de la app estable. Los valores predeterminados de transporte, acceso y paginación de la versión estable que se describen a continuación no son el contrato de la beta.

¿Qué es MCP?

El Model Context Protocol (MCP) permite que los asistentes de IA usen herramientas y datos externos mediante una interfaz estructurada. Parrot Scribe incluye el servidor local y el adaptador de conexión firmado. Tu agente sigue necesitando una conexión y un token de cliente; el plugin añade instrucciones de escucha y resumen donde sean compatibles.

Cómo funciona

El servidor MCP se ejecuta dentro de Parrot Scribe en un único proceso. No hay un servidor separado que gestionar.

  • Integrado: El servidor forma parte de Parrot Scribe; no necesita paquetes ni dependencias externas.
  • Socket de dominio Unix: La comunicación usa un socket Unix local accesible solo por su propietario.
  • Adaptador puente: El parrotscribe-mcp-shim incluido conecta los anfitriones MCP stdio con el socket local.
  • Autenticación por token: Los clientes deben presentar un token válido durante el establecimiento de la conexión.
  • Desactivado de forma predeterminada: El servicio MCP permanece desactivado hasta que lo activas expresamente. Mientras está desactivado, no se expone ningún socket MCP.

Versiones del protocolo

La versión 1.0.1 admite solicitudes 2026-07-28 con metadatos de protocolo por solicitud y server/discover, junto con el establecimiento de conexión de inicialización 2024-11-05 usado por 1.0.0. Ambos usan la misma conexión stdio local. El descubrimiento moderno anuncia 2026-07-28; los anfitriones antiguos pueden seguir usando la inicialización. Que el servidor lo admita no significa que todos los anfitriones seleccionen el protocolo moderno. Ambas rutas mantienen la autenticación de clientes, los permisos y el requisito de mantener Parrot Scribe en ejecución.

Activar el servidor MCP

Para ChatGPT, Claude y Cursor, abre primero la app de IA de escritorio seleccionada y déjala en ejecución. En Parrot Scribe, abre Ajustes > Apps de IA, activa Permitir apps de IA y elige Conectar en la fila de esa app. Parrot Scribe 1.0.2 gestiona la credencial. No crees un token aparte para esas tres apps.

Conectar autoriza esa app de escritorio en este Mac. La conexión se mantiene mientras la uses, incluso después de cerrar y volver a abrir ChatGPT, Claude o Cursor. Vuelve a elegir Gestionar… > Conectar después de Desconectar o tras 90 días sin uso. Mantener la conexión después de reiniciar requiere Parrot Scribe 1.0.5; en versiones anteriores, la autorización termina al cerrar la app de IA.

Para otro anfitrión local, activa Permitir apps de IA, abre Avanzado y crea un token para ese anfitrión. Cópialo cuando se muestre. Solo se muestra una vez.

El servicio permanece desactivado hasta que activas Permitir apps de IA. Cuando está desactivado, no se expone ningún socket MCP.

Configurar anfitriones de IA

Sigue Conecta tu agente. Un agente alojado en la nube no puede acceder a este socket local por instalar un plugin.

Ejemplo de primer uso

Este es un ejemplo ilustrativo para Parrot Scribe 1.0.1, no el registro de una sesión de escritorio probada. La interfaz y las instrucciones disponibles de tu anfitrión pueden variar; completa primero su guía de configuración.

  1. Comprueba la conexión. Pide: "Comprueba el estado de Parrot Scribe. No empieces a grabar". El agente llama a get_status e informa del estado devuelto.
  2. Elige una sesión. Pide: "Muestra hasta dos sesiones recientes de Parrot Scribe". El agente llama a list_sessions con limit: 2, lee el array sessions y comprueba hasMore y unavailableSessionCount. No debe afirmar que dos filas son toda tu biblioteca.
  3. Lee antes de resumir. Selecciona una sesión que quieras compartir y pide: "Resume esta sesión. Separa decisiones, preguntas sin resolver y propuestas de seguimiento". El agente lee read_transcript, recorre todas las páginas necesarias e informa de las partes que falten.
  4. Mantén las acciones explícitas. Revisa el resumen y aprueba cualquier acción de seguimiento concreta que quieras ejecutar. Una solicitud pronunciada en la grabación sigue siendo una propuesta hasta que la apruebes directamente en el chat.

Para probar la escucha durante una grabación, carga las instrucciones de escucha y pide: "Vincúlate solo a la grabación actual. Señala preguntas sin responder; no inicies otra grabación". Un anfitrión con las capacidades necesarias se vincula al sessionId activo y espera nuevas entradas de transcripción. Si no puede mantenerse activo y aceptar tus indicaciones, usa lecturas a petición. Consulta Escuchar y resumir.

La captura y la transcripción permanecen locales. El contenido que compartas con un agente basado en la nube puede enviarse al proveedor de ese agente.

Modelo de acceso

Parrot Scribe aplica controles en dos capas:

  • Nivel de acceso del cliente (configurado por cliente en Ajustes):

    • Desactivado: Sin acceso a herramientas.
    • Activado: Predeterminado cuando un cliente se autentica con un token válido. Se permiten herramientas de estado y operativas; las destructivas siempre piden confirmación.
    • De confianza: Se permiten herramientas de estado, operativas y destructivas sin pedir confirmación.
  • Clase de herramienta:

Herramientas de estado

Consultar el estado en modo de solo lectura no requiere aprobación por llamada para clientes Activados o De confianza. Los clientes Desactivados no tienen acceso a herramientas.

HerramientaDescripción
get_statusEstado de grabación (recording, listening, paused, error o downloading) y el sessionId activo, si existe.

Herramientas operativas

Permitidas para clientes en modo Activado o De confianza.

HerramientaDescripción
list_sessionsMetadatos de sesiones y nombres de hablantes.
read_transcriptContenido de transcripción en formato TOON dentro de un objeto JSON con información sobre si está completo y sobre su paginación.
search_sessionsBusca en sesiones guardadas; consulta Consultas de biblioteca más abajo.
live_transcriptFuente en memoria vinculada a una sesión, con estado, esquema, época, cursor de secuencia e indicadores de discontinuidad. El búfer circular de 100 entradas se pierde al reiniciar.
list_speakersHablantes registrados con metadatos.
identify_speakersIdentifica hablantes en una sesión usando los nombres proporcionados.
reassign_segment_speakerReasigna un fragmento concreto de transcripción a un hablante existente.
start_recordingInicia la grabación para transcripción.
stop_recordingDetiene la grabación para transcripción. El sessionId opcional impide detener una sesión diferente.

Consultas de biblioteca

Biblioteca y MCP usan la misma búsqueda indexada en toda la biblioteca. Las consultas pueden encontrar texto de transcripciones, identificadores de sesión, títulos, comentarios e identidades de hablantes. Los límites de resultados restringen las filas devueltas, no las sesiones en las que se busca.

En la versión 1.0.1, list_sessions y search_sessions devuelven el mismo objeto JSON en structuredContent y en el primer bloque de contenido de texto. Su array sessions contiene identificadores de sesión, marcas de tiempo, duración, metadatos de hablantes e indicadores de audio y estado activo. Los resultados vacíos contienen sessions: []. El mismo objeto de nivel superior incluye totalCount, hasMore y unavailableSessionCount. Usa limit y offset para solicitar una página; cuando hasMore sea verdadero, incrementa offset según el número de sesiones devueltas.

La versión 1.0.0 pone las filas de sesiones solo en el texto y los recuentos en structuredContent. Los clientes que analicen su array de texto o sus líneas de búsqueda deben migrar al nuevo array sessions.

unavailableSessionCount indica cuántas sesiones almacenadas no se han podido consultar; un resultado vacío no demuestra que todos los datos de la biblioteca fueran legibles. Las consultas no están disponibles hasta que terminen la configuración del cifrado y la inicialización. Consulta Errores de recuperación de la biblioteca.

Leer transcripciones largas

read_transcript acepta un sessionId obligatorio y los argumentos opcionales limit y sinceSegment. Usa un limit acotado cuando el anfitrión limite el tamaño de los resultados de herramientas. Lee el campo transcript y conserva los campos que lo acompañan: returnedCount, totalCount, hasMore y nextSinceSegment. Si hasMore es verdadero, usa nextSinceSegment como sinceSegment de la siguiente solicitud. La lectura solo está completa cuando hasMore es falso.

Omitir limit devuelve actualmente todos los fragmentos coincidentes. La paginación está disponible en 1.0.0; el anfitrión debe solicitarla y conservar la información de continuación.

Herramientas destructivas

Para clientes Activados, cada llamada pide confirmación. Los clientes De confianza pueden ejecutarlas sin avisos.

HerramientaDescripción
remove_speakerElimina el modelo de voz; es reversible, ya que se puede volver a registrar más adelante.
forget_speakerElimina permanentemente un modelo de voz y las sesiones que contienen a ese hablante.
delete_sessionElimina la sesión y el audio asociado.

Argumentos de suscripción en directo

live_transcript acepta los argumentos opcionales sessionId, sinceSequence, epoch y waitSeconds. Vincúlate a la sesión activa obtenida de get_status y devuelve los dos valores de cursor de cada respuesta. Una solicitud sin datos pendientes con sesión y época coincidentes puede esperar hasta 20 segundos a que llegue habla o cambie el estado.

El resultado está disponible en structuredContent y como JSON en el bloque de contenido de texto. Contiene sessionId cuando está disponible, state, epoch, sinceSequence, gap, sessionChanged, minPollIntervalSeconds, schema y text. El esquema TOON describe las filas de texto. Conserva esta envoltura; extraer solo text descarta la información de continuidad y sesión.

Si la sesión no coincide, sessionChanged es verdadero y no se devuelve texto de transcripción. Si hay una discontinuidad dentro de la misma sesión, usa read_transcript para recuperar la evidencia persistida antes de continuar desde el cursor devuelto. Los inicios de sondeo deben estar separados por al menos minPollIntervalSeconds, actualmente 3 segundos. Las herramientas de estado y de directo permiten cada una 30 solicitudes por minuto y cliente, por lo que no se admite un sondeo doble rápido.

Una detención explícita puede incluir el sessionId vinculado. Si no coincide, falla sin detener la captura. Omitir el identificador conserva la operación de detención general; el plugin de escucha siempre limita sus detenciones a su sesión. Un resumen histórico o provisional solo necesita herramientas de lectura y no debe detener la grabación.

Parrot Scribe 1.0.1 anuncia estos argumentos de escucha vinculados a sesiones. No convierte el texto de la transcripción en instrucciones autorizadas. El anfitrión debe mantener separadas las propuestas de seguimiento habladas y las órdenes directas del usuario, y aplicar su propia política de aprobación de herramientas.

Entrega y auditoría de modificaciones

Parrot Scribe devuelve la respuesta de una herramienta que modifica datos solo cuando la operación alcanza un resultado final de éxito o fallo. No devuelve un estado de aceptado o todavía en ejecución.

Antes de empezar el trabajo de la operación, Parrot Scribe guarda de forma duradera un hecho de auditoría started que contiene únicamente un identificador de operación, el nombre de la herramienta y el resultado. Una vez iniciado el trabajo, continúa hasta un resultado final aunque el cliente MCP se desconecte. Puede que el cliente desconectado no reciba ese resultado, pero desconectarse no cancela ni revierte la operación.

Al terminar, Parrot Scribe añade un hecho de auditoría succeeded o failed correlacionado. Si la app falla después de guardar started, pero antes de guardar un hecho final, ese único started significa que el resultado es desconocido. No afirma que la modificación haya fallado. Este registro no es una cola duradera de trabajos y no proporciona recuperación, reintento ni sondeo automáticos.

Ciclo de vida de los tokens

  • Para ChatGPT, Claude y Cursor, usa Conectar en Ajustes > Apps de IA. Parrot Scribe guarda esa credencial y pasa un identificador de perfil al adaptador.
  • Para otro anfitrión, emite un token desde Avanzado. Pásalo al adaptador como PARROTSCRIBE_MCP_TOKEN. No uses --token.
  • Los registros de validación del servidor guardan hashes de tokens. La configuración gestionada de escritorio también guarda la credencial utilizable en el llavero protegido y no sincronizable de este Mac, para que el adaptador firmado pueda autenticarse. La configuración generada para el anfitrión contiene solo el identificador de perfil.
  • Revocar un token elimina inmediatamente el acceso de ese cliente y desconecta las sesiones activas de ese token.

Modelo de seguridad

Cuatro capas protegen tus datos:

  1. Transporte: Socket Unix local accesible solo por su propietario.
  2. Autenticación: Se necesita un token durante el establecimiento de la conexión.
  3. Autorización: Niveles de acceso por cliente y avisos para operaciones destructivas.
  4. Controles de frecuencia: Los límites por cliente y las salvaguardas de acceso masivo reducen el uso automatizado indebido.

Casos de uso

  • Asistente de reunión: La IA sigue una llamada en directo y aporta contexto relevante.
  • Seguimiento de acciones: La IA detecta compromisos y prepara tareas de seguimiento.
  • Resumen de sesiones: La IA genera resúmenes estructurados después de grabar.
  • Asistente de investigación: La IA busca patrones en transcripciones históricas.

Para el flujo completo de captura, revisión, consulta e IA opcional, lee Flujo de notas de reuniones.

Más información