Synapse MCP Server
by susheel
A Model Context Protocol (MCP) server that exposes Synapse Entities with their annotations and supports OAuth2 authentication. It provides a RESTful API for accessing Synapse entities and their annotations through the Model Context Protocol (MCP).
Last updated: N/A
What is Synapse MCP Server?
This server is a Model Context Protocol (MCP) server that provides a RESTful API to access Synapse entities (Datasets, Projects, Folders, Files, Tables) and their annotations. It allows users to interact with Synapse data programmatically using standard HTTP requests and supports OAuth2 authentication.
How to use Synapse MCP Server?
To use the server, you can either install it from PyPI or clone the repository and install the dependencies. After installation, you can start the server using the command line. The server exposes several API endpoints for retrieving entities, annotations, querying data, and handling OAuth2 authentication. Example code snippets are provided in the README to demonstrate how to authenticate and interact with the server.
Key features of Synapse MCP Server
Authentication with Synapse (Auth Token and OAuth2)
Retrieval of Synapse entities by ID or name
Access to entity annotations
Querying entities based on various criteria
Querying Synapse tables
Integration with Claude Desktop
Exposing datasets in Croissant metadata format
Use cases of Synapse MCP Server
Programmatic access to Synapse data
Integration of Synapse data with other applications
Building data pipelines that leverage Synapse entities
Enabling AI models to access and understand Synapse data
Integrating Synapse data with Claude Desktop for conversational data analysis
FAQ from Synapse MCP Server
How do I authenticate with the server?
How do I authenticate with the server?
You can authenticate using a Synapse authentication token or OAuth2. For OAuth2, you need to register an OAuth2 client in Synapse.
How do I get an entity by ID?
How do I get an entity by ID?
Use the GET /resources/entity/{id} endpoint, replacing {id} with the Synapse ID of the entity.
How do I query a Synapse table?
How do I query a Synapse table?
Use the GET /resources/query/table/{id}/{query} endpoint, replacing {id} with the table ID and {query} with a SQL-like query.
What environment variables are supported?
What environment variables are supported?
The server supports HOST, PORT, MCP_TRANSPORT, and MCP_SERVER_URL environment variables for configuration.
How do I deploy the server?
How do I deploy the server?
The server can be deployed using Docker or Fly.io. Instructions for both methods are provided in the README.