MCP endpoint
Connecting a client
Add the endpoint above to any MCP client that supports remote servers with OAuth (for example Claude, or other assistants that support MCP connectors). The client discovers Synci’s OAuth configuration automatically and registers itself; no manual API keys are involved. During authorization you will be asked to:1
Sign in to your Synci account
2
Approve the permission
The assistant requests “Access your financial data through AI assistants (read-only)”.
3
Select which accounts the assistant may see
What the assistant can do
Data reflects the most recent sync from your bank or broker, not real-time values. Sensitive identifiers (IBANs, account numbers, card numbers, owner names) are always omitted from MCP responses.
Security model
The MCP server follows the MCP authorization specification, which requires OAuth 2.1 with Dynamic Client Registration (RFC 7591). AI clients register themselves athttps://api.synci.io/oauth/register when you connect them. That endpoint is intentionally open: it is how Claude, ChatGPT and other assistants obtain a client_id without a manual approval step, and it is not a vulnerability on its own. What a self-registered client can do is bounded by the controls below.
Scope confinement
Scope confinement
Every self-registered client is pinned to the single
mcp:use scope, regardless of what it requests at registration or authorization. That scope grants access to the read-only MCP tools listed above and nothing else. It cannot reach the REST API, the Developer Program surfaces, or any write operation.PKCE is mandatory
PKCE is mandatory
Self-registered clients are public clients (no client secret). The authorization endpoint rejects any request from a public client that does not carry a
code_challenge with the S256 method, so an intercepted authorization code cannot be exchanged for a token.Redirect URIs are exact-match
Redirect URIs are exact-match
The
redirect_uri presented at authorization must exactly match one registered for that client. At registration, redirect URIs must use https; plain http is accepted only for localhost loopback callbacks, and browser-reserved schemes such as javascript: or data: are refused.Consent is never skipped
Consent is never skipped
Every self-registered client goes through the Synci consent screen. The screen names the client, shows the exact host that will receive the authorization code, and warns when the assistant is not one we recognise. Curated branding is only applied when the client’s redirect host matches a known AI tool, so a client that merely names itself after a known assistant is shown as unrecognised. You also choose which accounts the assistant may see, and an active Synci subscription is required.
Rate limiting and monitoring
Rate limiting and monitoring
Registration is rate-limited per IP, and rejected registrations are reported to our error monitoring.
Revocation
Revocation
You can disconnect any assistant from your Synci settings at any time. Access tokens expire after one hour and refresh tokens after 30 days.