trustgraph/docs/tech-specs/mcp-tool-bearer-token.es.md
Alex Jenkins 8954fa3ad7 Feat: TrustGraph i18n & Documentation Translation Updates (#781)
Native CLI i18n: The TrustGraph CLI has built-in translation support
that dynamically loads language strings. You can test and use
different languages by simply passing the --lang flag (e.g., --lang
es for Spanish, --lang ru for Russian) or by configuring your
environment's LANG variable.

Automated Docs Translations: This PR introduces autonomously
translated Markdown documentation into several target languages,
including Spanish, Swahili, Portuguese, Turkish, Hindi, Hebrew,
Arabic, Simplified Chinese, and Russian.
2026-04-14 12:08:32 +01:00

28 KiB

layout title parent
default Especificación de autenticación de tokens Bearer para herramientas MCP Spanish (Beta)

Especificación de autenticación de tokens Bearer para herramientas MCP

Beta Translation: This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.

⚠️ IMPORTANTE: SOLO PARA UN ÚNICO ARREGLO (SINGLE-TENANT)

Esta especificación describe un mecanismo básico de autenticación a nivel de servicio para herramientas MCP. NO es una solución de autenticación completa y NO es adecuada para:

  • Entornos multiusuario
  • Despliegues multi-inquilino (multi-tenant)
  • Autenticación federada
  • Propagación del contexto del usuario
  • Autorización por usuario

Esta función proporciona un único token estático por herramienta MCP, compartido entre todos los usuarios y sesiones. Si necesita autenticación por usuario o por inquilino, esta no es la solución adecuada.

Descripción general

Nombre de la función: Soporte de autenticación de tokens Bearer para herramientas MCP Autor: Claude Code Assistant Fecha: 2025-11-11 Estado: En desarrollo

Resumen ejecutivo

Permite que las configuraciones de las herramientas MCP especifiquen tokens Bearer opcionales para autenticarse con servidores MCP protegidos. Esto permite que TrustGraph invoque de forma segura las herramientas MCP alojadas en servidores que requieren autenticación, sin modificar las interfaces de invocación de agentes o herramientas.

IMPORTANTE: Este es un mecanismo de autenticación básico diseñado para escenarios de autenticación de servicio a servicio en un único arreglo (single-tenant). NO es adecuado para: Entornos multiusuario donde diferentes usuarios necesitan diferentes credenciales Despliegues multi-inquilino (multi-tenant) que requieren aislamiento por inquilino Escenarios de autenticación federada Autenticación o autorización a nivel de usuario Gestión dinámica de credenciales o actualización de tokens

Esta función proporciona un token Bearer estático y a nivel de sistema por configuración de herramienta MCP, compartido entre todos los usuarios e invocaciones de esa herramienta.

Declaración del problema

Actualmente, las herramientas MCP solo pueden conectarse a servidores MCP accesibles públicamente. Muchos despliegues de MCP en producción requieren autenticación mediante tokens Bearer por motivos de seguridad. Sin soporte de autenticación: Las herramientas MCP no pueden conectarse a servidores MCP protegidos Los usuarios deben exponer los servidores MCP públicamente o implementar proxies inversos No existe una forma estandarizada de pasar credenciales a las conexiones MCP No se pueden aplicar las mejores prácticas de seguridad en los puntos finales de MCP

Objetivos

[ ] Permitir que las configuraciones de las herramientas MCP especifiquen un parámetro opcional auth-token [ ] Actualizar el servicio de la herramienta MCP para usar tokens Bearer al conectarse a servidores MCP [ ] Actualizar las herramientas de la CLI para admitir la configuración/visualización de tokens de autenticación [ ] Mantener la compatibilidad con versiones anteriores con configuraciones de MCP sin autenticación [ ] Documentar las consideraciones de seguridad para el almacenamiento de tokens

Objetivos no incluidos

Actualización dinámica de tokens o flujos OAuth (solo tokens estáticos) Cifrado de tokens almacenados (la seguridad del sistema de configuración está fuera del alcance) Métodos de autenticación alternativos (autenticación básica, claves API, etc.) Validación o verificación de la fecha de caducidad de los tokens Autenticación por usuario: Esta función NO admite credenciales específicas del usuario Aislamiento multi-inquilino (multi-tenant): Esta función NO proporciona gestión de tokens por inquilino Autenticación federada: Esta función NO se integra con proveedores de identidad (SSO, OAuth, SAML, etc.) Autenticación con conocimiento del contexto: Los tokens no se pasan en función del contexto del usuario o la sesión

Antecedentes y contexto

Estado actual

Las configuraciones de las herramientas MCP se almacenan en el grupo de configuración mcp con esta estructura:

{
  "remote-name": "tool_name",
  "url": "http://mcp-server:3000/api"
}

El servicio de la herramienta MCP se conecta a los servidores utilizando streamablehttp_client(url) sin ningún encabezado de autenticación.

Limitaciones

Limitaciones del Sistema Actual:

  1. Sin soporte de autenticación: No se puede conectar a servidores MCP protegidos.
  2. Exposición de seguridad: Los servidores MCP deben ser accesibles públicamente o utilizar solo seguridad a nivel de red.
  3. Problemas de implementación en producción: No se pueden seguir las mejores prácticas de seguridad para los puntos finales de la API.

Limitaciones de Esta Solución:

  1. Solo para un único inquilino: Un token estático por herramienta MCP, compartido entre todos los usuarios.
  2. Sin credenciales por usuario: No se puede autenticar como diferentes usuarios ni pasar el contexto del usuario.
  3. Sin soporte para múltiples inquilinos: No se pueden aislar las credenciales por inquilino u organización.
  4. Solo tokens estáticos: No hay soporte para la renovación, rotación o manejo de la expiración de los tokens.
  5. Autenticación a nivel de servicio: Autentica el servicio TrustGraph, no a usuarios individuales.
  6. Contexto de seguridad compartido: Todas las invocaciones de una herramienta MCP utilizan la misma credencial.

Aplicabilidad del Caso de Uso

Casos de Uso Apropiados: Implementaciones de TrustGraph de un solo inquilino. Autenticación de servicio a servicio (TrustGraph → Servidor MCP). Entornos de desarrollo y pruebas. Herramientas MCP internas a las que accede el sistema TrustGraph. Escenarios en los que todos los usuarios comparten el mismo nivel de acceso a la herramienta MCP. Credenciales de servicio estáticas y de larga duración.

Casos de Uso Inapropiados: Sistemas multiusuario que requieren autenticación por usuario. Implementaciones SaaS multiinquilino con requisitos de aislamiento de inquilinos. Escenarios de autenticación federada (SSO, OAuth, SAML). Sistemas que requieren la propagación del contexto del usuario a los servidores MCP. Entornos que necesitan la renovación dinámica de tokens o tokens de corta duración. Aplicaciones donde diferentes usuarios necesitan diferentes niveles de permisos. Requisitos de cumplimiento para registros de auditoría a nivel de usuario.

Ejemplo de Escenario Apropiado: Una implementación de TrustGraph de una sola organización donde todos los empleados utilizan la misma herramienta MCP interna (por ejemplo, búsqueda de bases de datos de la empresa). El servidor MCP requiere autenticación para evitar el acceso externo, pero todos los usuarios internos tienen el mismo nivel de acceso.

Ejemplo de Escenario Inapropiado: Una plataforma SaaS multiinquilino de TrustGraph donde el inquilino A y el inquilino B necesitan acceder a sus propios servidores MCP aislados con credenciales separadas. Esta función NO admite la administración de tokens por inquilino.

Componentes Relacionados

trustgraph-flow/trustgraph/agent/mcp_tool/service.py: Servicio de invocación de la herramienta MCP. trustgraph-cli/trustgraph/cli/set_mcp_tool.py: Herramienta de línea de comandos para crear/actualizar configuraciones de MCP. trustgraph-cli/trustgraph/cli/show_mcp_tools.py: Herramienta de línea de comandos para mostrar configuraciones de MCP. SDK de Python para MCP: streamablehttp_client de mcp.client.streamable_http

Requisitos

Requisitos Funcionales

  1. Token de Autenticación de la Configuración de MCP: Las configuraciones de la herramienta MCP DEBEN admitir un campo opcional auth-token.
  2. Uso del Token Bearer: El servicio de la herramienta MCP DEBE enviar el encabezado Authorization: Bearer {token} cuando se configure un token de autenticación.
  3. Soporte de la CLI: tg-set-mcp-tool DEBE aceptar un parámetro opcional --auth-token.
  4. Visualización del Token: tg-show-mcp-tools DEBE indicar cuándo se ha configurado un token de autenticación (enmascarado por motivos de seguridad).
  5. Compatibilidad con versiones anteriores: Las configuraciones de la herramienta MCP existentes sin un token de autenticación DEBEN seguir funcionando.

Requisitos No Funcionales

  1. Compatibilidad con versiones anteriores: No hay cambios disruptivos para las configuraciones de la herramienta MCP existentes.
  2. Rendimiento: No hay un impacto significativo en el rendimiento de la invocación de la herramienta MCP.
  3. Seguridad: Los tokens se almacenan en la configuración (documentar las implicaciones de seguridad).

Historias de Usuario

  1. Como ingeniero de DevOps, quiero configurar tokens de portador para las herramientas MCP para que pueda asegurar los puntos finales del servidor MCP.
  2. Como usuario de la CLI, quiero establecer tokens de autenticación al crear herramientas MCP para que pueda conectarme a servidores protegidos.
  3. Como administrador del sistema, quiero ver qué herramientas MCP tienen la autenticación configurada para que pueda auditar la configuración de seguridad.

Diseño

Arquitectura de Alto Nivel

Extender la configuración y el servicio de la herramienta MCP para admitir la autenticación con token de portador:

  1. Agregar un campo opcional auth-token al esquema de configuración de la herramienta MCP.
  2. Modificar el servicio de la herramienta MCP para leer el token de autenticación y pasarlo al cliente HTTP.
  3. Actualizar las herramientas de la CLI para admitir la configuración y visualización de tokens de autenticación.
  4. Documentar las consideraciones de seguridad y las mejores prácticas.

Esquema de Configuración

Esquema Actual:

{
  "remote-name": "tool_name",
  "url": "http://mcp-server:3000/api"
}

Nuevo Esquema (con token de autenticación opcional):

{
  "remote-name": "tool_name",
  "url": "http://mcp-server:3000/api",
  "auth-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Descripciones de campos: remote-name (opcional): Nombre utilizado por el servidor MCP (por defecto, la clave de configuración). url (obligatorio): URL del punto final del servidor MCP. auth-token (opcional): Token de tipo Bearer para la autenticación.

Flujo de datos

  1. Almacenamiento de la configuración: El usuario ejecuta tg-set-mcp-tool --id my-tool --tool-url http://server/api --auth-token xyz123.
  2. Carga de la configuración: El servicio de la herramienta MCP recibe la actualización de la configuración a través de la devolución de llamada on_mcp_config().
  3. Invocación de la herramienta: Cuando se invoca la herramienta: El servicio lee auth-token de la configuración (si está presente). Crea un diccionario de encabezados: {"Authorization": "Bearer {token}"}. Pasa los encabezados a streamablehttp_client(url, headers=headers). El servidor MCP valida el token y procesa la solicitud.

Cambios en la API

No hay cambios en la API externa, solo una extensión del esquema de configuración.

Detalles del componente

Componente 1: service.py (Servicio de la herramienta MCP)

Archivo: trustgraph-flow/trustgraph/agent/mcp_tool/service.py

Propósito: Invocar herramientas MCP en servidores remotos.

Cambios requeridos (en el método invoke_tool()):

  1. Comprobar si auth-token está presente en la configuración self.mcp_services[name].
  2. Crear un diccionario de encabezados con el encabezado de autorización si existe un token.
  3. Pasar los encabezados a streamablehttp_client(url, headers=headers).

Código actual (líneas 42-89):

async def invoke_tool(self, name, parameters):
    try:
        if name not in self.mcp_services:
            raise RuntimeError(f"MCP service {name} not known")
        if "url" not in self.mcp_services[name]:
            raise RuntimeError(f"MCP service {name} URL not defined")

        url = self.mcp_services[name]["url"]

        if "remote-name" in self.mcp_services[name]:
            remote_name = self.mcp_services[name]["remote-name"]
        else:
            remote_name = name

        logger.info(f"Invoking {remote_name} at {url}")

        # Connect to a streamable HTTP server
        async with streamablehttp_client(url) as (
                read_stream,
                write_stream,
                _,
        ):
            # ... rest of method

Código Modificado:

async def invoke_tool(self, name, parameters):
    try:
        if name not in self.mcp_services:
            raise RuntimeError(f"MCP service {name} not known")
        if "url" not in self.mcp_services[name]:
            raise RuntimeError(f"MCP service {name} URL not defined")

        url = self.mcp_services[name]["url"]

        if "remote-name" in self.mcp_services[name]:
            remote_name = self.mcp_services[name]["remote-name"]
        else:
            remote_name = name

        # Build headers with optional bearer token
        headers = {}
        if "auth-token" in self.mcp_services[name]:
            token = self.mcp_services[name]["auth-token"]
            headers["Authorization"] = f"Bearer {token}"

        logger.info(f"Invoking {remote_name} at {url}")

        # Connect to a streamable HTTP server with headers
        async with streamablehttp_client(url, headers=headers) as (
                read_stream,
                write_stream,
                _,
        ):
            # ... rest of method (unchanged)

Componente 2: set_mcp_tool.py (Herramienta de Configuración de Línea de Comandos)

Archivo: trustgraph-cli/trustgraph/cli/set_mcp_tool.py

Propósito: Crear/actualizar configuraciones de la herramienta MCP.

Cambios Requeridos:

  1. Agregar un argumento opcional --auth-token a argparse.
  2. Incluir auth-token en el archivo JSON de configuración cuando se proporciona.

Argumentos Actuales: --id (requerido): Identificador de la herramienta MCP. --remote-name (opcional): Nombre de la herramienta MCP remota. --tool-url (requerido): Punto final de la URL de la herramienta MCP. -u, --api-url (opcional): URL de la API de TrustGraph.

Nuevo Argumento: --auth-token (opcional): Token Bearer para la autenticación.

Construcción de Configuración Modificada:

# Build configuration object
config = {
    "url": args.tool_url,
}

if args.remote_name:
    config["remote-name"] = args.remote_name

if args.auth_token:
    config["auth-token"] = args.auth_token

# Store configuration
api.config().put([
    ConfigValue(type="mcp", key=args.id, value=json.dumps(config))
])

Componente 3: show_mcp_tools.py (Herramienta de visualización de línea de comandos)

Archivo: trustgraph-cli/trustgraph/cli/show_mcp_tools.py

Propósito: Mostrar configuraciones de la herramienta MCP.

Cambios requeridos:

  1. Agregar columna "Auth" a la tabla de salida.
  2. Mostrar "Sí" o "No" según la presencia de un token de autenticación.
  3. No mostrar el valor real del token (seguridad).

Salida actual:

ID          Remote Name    URL
----------  -------------  ------------------------
my-tool     my-tool        http://server:3000/api

Nueva Salida:

ID          Remote Name    URL                      Auth
----------  -------------  ------------------------ ------
my-tool     my-tool        http://server:3000/api   Yes
other-tool  other-tool     http://other:3000/api    No

Componente 4: Documentación

Archivo: docs/cli/tg-set-mcp-tool.md

Cambios Requeridos:

  1. Documentar el nuevo parámetro --auth-token
  2. Proporcionar un ejemplo de uso con autenticación
  3. Documentar las consideraciones de seguridad

Plan de Implementación

Fase 1: Crear Especificación Técnica

[x] Escribir una especificación técnica completa que documente todos los cambios

Fase 2: Actualizar el Servicio MCP Tool

[ ] Modificar invoke_tool() en service.py para leer el token de autenticación desde la configuración [ ] Construir un diccionario de encabezados y pasarlo a streamablehttp_client [ ] Probar con un servidor MCP autenticado

Fase 3: Actualizar las Herramientas CLI

[ ] Agregar el argumento --auth-token a set_mcp_tool.py [ ] Incluir el token de autenticación en la configuración JSON [ ] Agregar una columna "Auth" a la salida de show_mcp_tools.py [ ] Probar los cambios de la herramienta CLI

Fase 4: Actualizar la Documentación

[ ] Documentar el parámetro --auth-token en tg-set-mcp-tool.md [ ] Agregar una sección de consideraciones de seguridad [ ] Proporcionar un ejemplo de uso

Fase 5: Pruebas

[ ] Probar que la herramienta MCP se conecta correctamente con el token de autenticación [ ] Probar la compatibilidad con versiones anteriores (las herramientas sin token de autenticación aún funcionan) [ ] Probar que las herramientas CLI aceptan y almacenan correctamente el token de autenticación [ ] Probar que el comando "show" muestra el estado de la autenticación correctamente

Resumen de Cambios en el Código

Archivo Tipo de Cambio Líneas Descripción
service.py Modificado ~52-66 Agregar la lectura del token de autenticación y la construcción de encabezados
set_mcp_tool.py Modificado ~30-60 Agregar el argumento --auth-token y el almacenamiento en la configuración
show_mcp_tools.py Modificado ~40-70 Agregar la columna Auth a la visualización
tg-set-mcp-tool.md Modificado Varios Documentar el nuevo parámetro

Estrategia de Pruebas

Pruebas Unitarias

Lectura del Token de Autenticación: Probar que invoke_tool() lee correctamente el token de autenticación desde la configuración Construcción de Encabezados: Probar que el encabezado de Autorización se construye correctamente con el prefijo Bearer Compatibilidad con Versiones Anteriores: Probar que las herramientas sin token de autenticación funcionan sin cambios Análisis de Argumentos de la CLI: Probar que el argumento --auth-token se analiza correctamente

Pruebas de Integración

Conexión Autenticada: Probar que el servicio de la herramienta MCP se conecta a un servidor autenticado De Extremo a Extremo: Probar el flujo CLI → almacenamiento de configuración → invocación del servicio con el token de autenticación Token No Requerido: Probar que la conexión a un servidor no autenticado aún funciona

Pruebas Manuales

Servidor MCP Real: Probar con un servidor MCP real que requiere la autenticación con token Bearer Flujo de Trabajo de la CLI: Probar el flujo de trabajo completo: configurar la herramienta con la autenticación → invocar la herramienta → verificar el éxito Enmascaramiento de la Autenticación: Verificar que el estado de la autenticación se muestra, pero el valor del token no se expone

Migración e Implementación

Estrategia de Migración

No se requiere migración: esta es una funcionalidad puramente adicional: Las configuraciones existentes de la herramienta MCP que no tienen auth-token siguen funcionando sin cambios Las nuevas configuraciones pueden incluir opcionalmente el campo auth-token Las herramientas CLI aceptan, pero no requieren, el parámetro --auth-token

Plan de Implementación

  1. Fase 1: Implementar los cambios principales del servicio en el entorno de desarrollo/pruebas
  2. Fase 2: Implementar las actualizaciones de las herramientas CLI
  3. Fase 3: Actualizar la documentación
  4. Fase 4: Implementación en producción con monitoreo

Plan de Reversión

Los cambios principales son compatibles con versiones anteriores: las herramientas existentes no se ven afectadas Si surgen problemas, el manejo del token de autenticación se puede deshabilitar eliminando la lógica de construcción de encabezados Los cambios de la CLI son independientes y se pueden revertir por separado

Consideraciones de Seguridad

⚠️ Limitación Crítica: Solo Autenticación de Un Solo Inquilino

Este mecanismo de autenticación NO es adecuado para entornos multiusuario o multiinquilino.

Credenciales compartidas: Todos los usuarios e invocaciones comparten el mismo token por herramienta MCP Sin contexto de usuario: El servidor MCP no puede distinguir entre diferentes usuarios de TrustGraph Sin aislamiento de inquilinos: Todos los inquilinos comparten la misma credencial para cada herramienta MCP Limitación del registro de auditoría: El servidor MCP muestra todas las solicitudes de la misma credencial Ámbito de permisos: No se pueden hacer cumplir diferentes niveles de permiso para diferentes usuarios

NO use esta función si: Su implementación de TrustGraph sirve a múltiples organizaciones (multiinquilino) Necesita realizar un seguimiento de qué usuario accedió a qué herramienta MCP Diferentes usuarios requieren diferentes niveles de permiso Necesita cumplir con los requisitos de auditoría a nivel de usuario Su servidor MCP aplica límites de velocidad o cuotas por usuario

Soluciones alternativas para escenarios multiusuario/multitenant: Implementar la propagación del contexto del usuario a través de encabezados personalizados Implementar instancias de TrustGraph separadas por tenant Utilizar aislamiento a nivel de red (VPCs, service meshes) Implementar una capa de proxy que gestione la autenticación por usuario

Almacenamiento de tokens

Riesgo: Los tokens de autenticación se almacenan en texto plano en el sistema de configuración

Mitigación: Documentar que los tokens se almacenan sin cifrar Recomendar el uso de tokens de corta duración siempre que sea posible Recomendar un control de acceso adecuado en el almacenamiento de la configuración Considerar una mejora futura para el almacenamiento de tokens cifrados

Exposición de tokens

Riesgo: Los tokens podrían exponerse en registros o en la salida de la línea de comandos

Mitigación: No registrar los valores de los tokens (solo registrar "autenticación configurada: sí/no") El comando "show" de la línea de comandos muestra solo el estado enmascarado, no el token real No incluir tokens en los mensajes de error

Seguridad de la red

Riesgo: Los tokens se transmiten a través de conexiones no cifradas

Mitigación: Documentar la recomendación de utilizar URL HTTPS para los servidores MCP Advertir a los usuarios sobre el riesgo de transmisión en texto plano con HTTP

Acceso a la configuración

Riesgo: El acceso no autorizado al sistema de configuración expone los tokens

Mitigación: Documentar la importancia de asegurar el acceso al sistema de configuración Recomendar el principio de mínimo privilegio para el acceso a la configuración Considerar el registro de auditoría para los cambios de configuración (mejora futura)

Entornos multiusuario

Riesgo: En las implementaciones multiusuario, todos los usuarios comparten las mismas credenciales de MCP

Comprensión del riesgo: El usuario A y el usuario B utilizan el mismo token al acceder a una herramienta de MCP El servidor MCP no puede distinguir entre diferentes usuarios de TrustGraph No hay forma de aplicar permisos o límites de velocidad por usuario Los registros de auditoría en el servidor MCP muestran todas las solicitudes del mismo identificador Si la sesión de un usuario se ve comprometida, el atacante tiene el mismo acceso a MCP que todos los usuarios

Esto NO es un error; es una limitación fundamental de este diseño.

Impacto en el rendimiento

Bajo sobrecosto: La construcción de encabezados agrega un tiempo de procesamiento insignificante Impacto en la red: El encabezado HTTP adicional agrega ~50-200 bytes por solicitud Uso de memoria: Aumento insignificante para almacenar la cadena de token en la configuración

Documentación

Documentación para el usuario

[ ] Actualizar tg-set-mcp-tool.md con el parámetro --auth-token [ ] Agregar una sección de consideraciones de seguridad [ ] Proporcionar un ejemplo de uso con un token de tipo "bearer" [ ] Documentar las implicaciones del almacenamiento de tokens

Documentación para el desarrollador

[ ] Agregar comentarios en línea para el manejo de tokens de autenticación en service.py [ ] Documentar la lógica de construcción de encabezados [ ] Actualizar la documentación del esquema de configuración de la herramienta MCP

Preguntas abiertas

  1. Cifrado de tokens: ¿Debemos implementar el almacenamiento de tokens cifrados en el sistema de configuración?
  2. Actualización de tokens: ¿Soporte futuro para flujos de actualización de OAuth o rotación de tokens?
  3. Métodos de autenticación alternativos: ¿Debemos admitir la autenticación básica, las claves API u otros métodos?

Alternativas consideradas

  1. Variables de entorno para tokens: Almacenar tokens en variables de entorno en lugar de en la configuración Rechazada: Complica la implementación y la gestión de la configuración

  2. Almacén de secretos separado: Utilizar un sistema de gestión de secretos dedicado Aplazada: Fuera del alcance de la implementación inicial, considerar una mejora futura

  3. Múltiples métodos de autenticación: Admitir Basic, API key, OAuth, etc. Rechazada: Los tokens de tipo "bearer" cubren la mayoría de los casos de uso, mantener la implementación inicial simple

  4. Almacenamiento de tokens cifrado: Cifrar los tokens en el sistema de configuración Aplazada: La seguridad del sistema de configuración es una preocupación más amplia, posponer a un trabajo futuro

  5. Tokens por invocación: Permitir que los tokens se pasen en el momento de la invocación Rechazada: Viola la separación de responsabilidades, el agente no debe manejar las credenciales

Referencias

Especificación del protocolo MCP Autenticación Bearer HTTP (RFC 6750) Servicio de la herramienta MCP actual Especificación de argumentos de la herramienta MCP

Apéndice

Ejemplo de uso

Configuración de la herramienta MCP con autenticación:

tg-set-mcp-tool \
  --id secure-tool \
  --tool-url https://secure-server.example.com/mcp \
  --auth-token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Mostrando herramientas de MCP:

tg-show-mcp-tools

ID            Remote Name   URL                                    Auth
-----------   -----------   ------------------------------------   ------
secure-tool   secure-tool   https://secure-server.example.com/mcp  Yes
public-tool   public-tool   http://localhost:3000/mcp              No

Ejemplo de configuración

Almacenado en el sistema de configuración:

{
  "type": "mcp",
  "key": "secure-tool",
  "value": "{\"url\": \"https://secure-server.example.com/mcp\", \"auth-token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\"}"
}

Mejores prácticas de seguridad

  1. Utilice HTTPS: Siempre utilice URL HTTPS para los servidores MCP con autenticación
  2. Tokens de corta duración: Utilice tokens con fecha de caducidad siempre que sea posible
  3. Privilegios mínimos: Conceda a los tokens los permisos mínimos requeridos
  4. Control de acceso: Restrinja el acceso al sistema de configuración
  5. Rotación de tokens: Rote los tokens regularmente
  6. Registro de auditoría: Supervise los cambios de configuración para detectar eventos de seguridad