Synapse MCP connector
OAuth 2.1/DCRDatabasesFiles & DocumentsConnect to the Synapse MCP server (Sage Bionetworks) to explore Synapse entities, annotations, provenance, and project structure, and to search...
Synapse MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'synapsemcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Synapse MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'synapsemcp_search_synapse',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "synapsemcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Synapse MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="synapsemcp_search_synapse",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Search synapse — Search Synapse entities using keyword queries with optional name/type/parent filters
- Get entity provenance, entity children, entity annotations — Return provenance (activity) metadata for a Synapse entity, including inputs and code executed
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
synapsemcp_get_entity#Return Synapse entity metadata by ID (projects, folders, files, tables, etc.). Only retrieves metadata information - does not download file content.1 param
Return Synapse entity metadata by ID (projects, folders, files, tables, etc.). Only retrieves metadata information - does not download file content.
entity_idstringrequiredThe Synapse entity ID to fetch (for example syn123456).synapsemcp_get_entity_annotations#Return custom annotation key/value pairs for a Synapse entity.1 param
Return custom annotation key/value pairs for a Synapse entity.
entity_idstringrequiredThe Synapse entity ID whose annotations to fetch (for example syn123456).synapsemcp_get_entity_children#List children for Synapse container entities (projects or folders).1 param
List children for Synapse container entities (projects or folders).
entity_idstringrequiredThe Synapse container entity ID (project or folder) whose children to list (for example syn123456).synapsemcp_get_entity_provenance#Return provenance (activity) metadata for a Synapse entity, including inputs and code executed.2 params
Return provenance (activity) metadata for a Synapse entity, including inputs and code executed.
entity_idstringrequiredThe Synapse entity ID whose provenance to fetch (for example syn123456).versionintegeroptionalOptional entity version number to scope the provenance to a specific version. Omit for the latest version.synapsemcp_search_synapse#Search Synapse entities using keyword queries with optional name/type/parent filters. Results are served by Synapse as data custodian. Attribution and licensing are determined by the original contributors; check the specific entity's annotations or Wiki for details.7 params
Search Synapse entities using keyword queries with optional name/type/parent filters. Results are served by Synapse as data custodian. Attribution and licensing are determined by the original contributors; check the specific entity's annotations or Wiki for details.
entity_typestringoptionalFilter results to a single entity type (for example file, folder, project, table).entity_typesarrayoptionalFilter results to multiple entity types. Pass as a JSON array of strings via the SDK, not as a string.limitintegeroptionalMaximum number of results to return.namestringoptionalFilter results to entities matching this exact name.offsetintegeroptionalNumber of results to skip, for pagination.parent_idstringoptionalRestrict the search to entities under this parent container ID (for example syn123456).query_termstringoptionalFree-text keyword query to search Synapse entities.