createConnection
Generate an authorization URL to connect and select documents from supported platforms like Notion, Google Drive, or Dropbox for content ingestion into SourceSync.ai's knowledge base.
Instructions
Creates a new connection to a specific source. The connector parameter should be a valid SourceSync connector enum value. The clientRedirectUrl parameter is optional and can be used to specify a custom redirect URL for the connection. This will give you a authorization url which you can redirect the user to. The user will then be asked to pick the documents they want to ingest.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| clientRedirectUrl | No | ||
| connector | Yes | ||
| name | Yes | ||
| namespaceId | No | ||
| tenantId | No |
Implementation Reference
- src/index.ts:640-654 (handler)Handler function for the 'createConnection' MCP tool. It extracts parameters, creates a SourceSyncApiClient instance, and calls its createConnection method to perform the API request.async (params: any) => { return safeApiCall(async () => { const { namespaceId, name, connector, clientRedirectUrl, tenantId } = params // Create a client with the provided parameters const client = createClient({ namespaceId, tenantId }) // Call the createConnection method with the connector as enum return await client.createConnection({ name, connector, clientRedirectUrl, }) })
- src/index.ts:636-656 (registration)Registration of the 'createConnection' tool on the MCP server, including name, description, input schema, and handler function.server.tool( 'createConnection', 'Creates a new connection to a specific source. The connector parameter should be a valid SourceSync connector enum value. The clientRedirectUrl parameter is optional and can be used to specify a custom redirect URL for the connection. This will give you a authorization url which you can redirect the user to. The user will then be asked to pick the documents they want to ingest.', CreateConnectionSchema.shape, async (params: any) => { return safeApiCall(async () => { const { namespaceId, name, connector, clientRedirectUrl, tenantId } = params // Create a client with the provided parameters const client = createClient({ namespaceId, tenantId }) // Call the createConnection method with the connector as enum return await client.createConnection({ name, connector, clientRedirectUrl, }) }) }, )
- src/schemas.ts:467-473 (schema)Zod schema defining the input parameters for the createConnection tool: namespaceId (opt), name, connector (enum), clientRedirectUrl (opt), tenantId (opt).export const CreateConnectionSchema = z.object({ namespaceId: namespaceIdSchema.optional(), name: z.string(), connector: ConnectorEnum, clientRedirectUrl: z.string().optional(), tenantId: tenantIdSchema, })
- src/sourcesync.ts:237-255 (helper)SourceSyncApiClient.createConnection method: sends POST request to /v1/connections with namespaceId, name, connector, and optional clientRedirectUrl.public async createConnection({ name, connector, clientRedirectUrl, }: Omit< SourceSyncCreateConnectionRequest, 'namespaceId' >): Promise<SourceSyncCreateConnectionResponse> { return this.client .url('/v1/connections') .json({ namespaceId: this.namespaceId, name, connector, clientRedirectUrl, } satisfies SourceSyncCreateConnectionRequest) .post() .json<SourceSyncCreateConnectionResponse>() }