Servidor Synapse MCP
Un servidor de Protocolo de contexto de modelo (MCP) que expone entidades de Synapse (conjuntos de datos, proyectos, carpetas, archivos, tablas) con sus anotaciones y admite la autenticación OAuth2.
Descripción general
Este servidor proporciona una API RESTful para acceder a las entidades de Synapse y sus anotaciones mediante el Protocolo de Contexto de Modelo (MCP). Permite:
- Autenticarse con Synapse
- Recuperar entidades por ID
- Recuperar entidades por nombre
- Obtener anotaciones de entidades
- Obtener entidades hijas
- Consultar entidades en función de varios criterios
- Consultar tablas de Synapse
- Obtener conjuntos de datos en formato de metadatos de Croissant
Instalación
Instalación desde PyPI
Uso
Iniciando el servidor
Esto iniciará el servidor MCP en el puerto predeterminado (9000).
Usando la CLI
Opciones de la línea de comandos
Ejecución de pruebas
Probando el servidor
Métodos de autenticación
Variables de entorno
El servidor admite las siguientes variables de entorno:
HOST
: El host al que vincularse (predeterminado: 127.0.0.1)PORT
: El puerto para escuchar (predeterminado: 9000)MCP_TRANSPORT
: El protocolo de transporte a utilizar (predeterminado: stdio)stdio
: utiliza entrada/salida estándar para el desarrollo localsse
: Utilice eventos enviados por el servidor para la implementación en la nube
MCP_SERVER_URL
: La URL pública del servidor (predeterminado: mcp://127.0.0.1:9000)- Se utiliza para la redirección OAuth2 y la información del servidor.
El servidor admite dos métodos de autenticación:
- Token de autenticación : autentique mediante un token de autenticación de Synapse
- OAuth2 : Autenticación mediante el servidor OAuth2 de Synapse
- Requiere registrar un cliente OAuth2 en Synapse ( https://www.synapse.org/#!PersonalAccessTokens:OAuth )
Puntos finales de API
Información del servidor
GET /info
- Obtener información del servidor
Herramientas
GET /tools
- Lista de herramientas disponiblesPOST /tools/authenticate
- Autenticarse con SynapsePOST /tools/get_oauth_url
- Obtener la URL de autorización de OAuth2POST /tools/get_entity
- Obtener una entidad por ID o nombrePOST /tools/get_entity_annotations
- Obtener anotaciones para una entidadPOST /tools/get_entity_children
- Obtener entidades secundarias de una entidad contenedoraPOST /tools/query_entities
- Consultar entidades según varios criteriosPOST /tools/query_table
- Consultar una tabla de Synapse
Recursos
GET /resources
- Lista de recursos disponiblesGET /resources/entity/{id}
- Obtener la entidad por IDGET /resources/entity/{id}/annotations
- Obtener anotaciones de entidadGET /resources/entity/{id}/children
- Obtener hijos de la entidadGET /resources/query/entities/{entity_type}
- Consultar entidades por tipoGET /resources/query/entities/parent/{parent_id}
- Consultar entidades por ID principalGET /resources/query/entities/name/{name}
- Consultar entidades por nombreGET /resources/query/table/{id}/{query}
- Consulta una tabla con sintaxis similar a SQL
Puntos finales de OAuth2
GET /oauth/login
- Redireccionar a la página de inicio de sesión de Synapse OAuth2GET /oauth/callback
- Gestionar la devolución de llamada OAuth2 desde Synapse
Ejemplos
Autenticación
Debes autenticarte con credenciales reales de Synapse para usar el servidor:
Autenticación OAuth2
1. Flujo de redirección (basado en navegador)
Dirigir a los usuarios a la URL de inicio de sesión de OAuth:
2. Flujo basado en API
Para uso programático, primero obtenga la URL de autorización:
Obtener una entidad
Obtener anotaciones de entidades
Consulta de entidades
Consultar una tabla
Obtener conjuntos de datos en formato Croissant
Despliegue
Estibador
Puedes construir y ejecutar el servidor usando Docker:
Fly.io
Implementar en fly.io:
Integración con Claude Desktop
Puede integrar este servidor Synapse MCP con Claude Desktop para permitir que Claude acceda y trabaje con datos de Synapse directamente en sus conversaciones.
Instrucciones de configuración
- Primero, clone el repositorio e instale los requisitos:
- Configurar Claude Desktop para utilizar el servidor Synapse MCP:
- Abra Claude Desktop
- Haga clic en el menú Claude y seleccione "Configuración..."
- Haga clic en "Desarrollador" en la barra de la izquierda.
- Haga clic en "Editar configuración"
- Agregue la siguiente configuración a la sección
mcpServers
:
- Guarde el archivo de configuración y reinicie Claude Desktop
- Ahora puedes usar los datos de Synapse en tus conversaciones con Claude. Por ejemplo:
- Obtener la entidad con ID syn123456 de Synapse
- Consultar todos los archivos del proyecto Synapse syn123456
- Obtener anotaciones para la entidad Synapse syn123456
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
Licencia
Instituto Tecnológico de Massachusetts (MIT)
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Un servidor de protocolo de contexto de modelo que expone entidades de Synapse (conjuntos de datos, proyectos, carpetas, archivos, tablas) con sus anotaciones, lo que permite el acceso programático a los recursos de datos de Synapse a través de una API RESTful.
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server implementation for interacting with Salesforce through its REST API.Last updated -410TypeScript
- -securityFlicense-qualityA Model Context Protocol server that provides a comprehensive interface for interacting with the ConnectWise Manage API, simplifying API discovery, execution, and management for both developers and AI assistants.Last updated -462Python
- -securityFlicense-qualityA Model Context Protocol server for accessing Confluence API using Personal Access Tokens, enabling users to retrieve space lists, view pages, create new pages, and update existing content.Last updated -TypeScript
- -securityAlicense-qualityA Model Context Protocol server that exposes over 200+ APIs from API.market as MCP resources, allowing large language models to discover and interact with various APIs through natural language commands.Last updated -1112TypeScriptMIT License