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
- AsecurityAlicenseAqualityA Model Context Protocol server that enables interaction with Snapshot.org, providing tools to query Snapshot spaces, proposals, and users through natural language.Last updated -51TypeScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.Last updated -25723
- -securityAlicense-qualityA Model Context Protocol server that provides a standardized interface for interacting with Notion's API, enabling users to list databases, create pages, and search across their Notion workspace.Last updated -111PythonMIT License
- -securityAlicense-qualityA server that implements the Model Context Protocol, providing a standardized way to connect AI models to different data sources and tools.Last updated -18TypeScriptMIT License