Skip to main content
Sources are how you give Synti’s agent access to the world beyond a single conversation. A source is a named, reusable connection—an integration you configure once and the agent can draw on whenever a task needs it. Because Synti is local-first, every source lives on your machine, and the agent only ever reaches a service you have explicitly connected. There are three kinds of sources, each suited to a different way of reaching data:

MCP Servers

Standardized tool integrations that expose ready-made capabilities—Linear, GitHub, search providers, databases, and more.

REST APIs

Any HTTP service. Point Synti at a base URL and auth method, and the agent can call its endpoints directly.

Local Filesystems

Bookmark folders on your machine—notes, downloads, reference material—for quick, repeated access.

Choosing a source kind

Each kind trades off convenience against flexibility.
If you only need the agent to work inside one project directory, set a Working Directory instead of a filesystem source. Sources are best when you manage several external services or multiple folders at once.

How sources are stored

Sources belong to a workspace, so different workspaces can connect different services without overlap. Each source is a folder under your Synti config directory:

config.json

config.json is the only required file. Its shape depends on the source kind, but a few fields are common to all: Credentials are never written into config.json. They are encrypted separately—see MCP authentication for how Synti stores and scopes secrets.

Icons

Set icon to an emoji, a local file path, or a URL. When you provide a URL, Synti downloads the image and caches it locally so the sources list renders quickly and works offline.

Permissions

By default, a source runs in read-only Explore mode: the agent can inspect and query, but actions that change state require your approval through Permissions. To broaden or narrow what a source may do, add a permissions.json file. Its patterns are automatically scoped to that source, so a rule you write for one integration never loosens access to another.

The lifecycle of a source

1

Set up

Create the source folder and config.json, or just ask the agent to add it—Synti writes the configuration for you.
2

Authenticate

Provide credentials if the service needs them. Secrets are encrypted on disk, not stored in config.
3

Test

Synti validates connectivity and credentials so you know the source works before relying on it.
4

Use

The agent picks up the source’s tools and uses them naturally as tasks require.
5

Deactivate

Toggle enabled off (in the UI or config.json) to pause a source without deleting it.
You rarely need to edit files by hand. Ask the agent to “connect the GitHub MCP server” or “add my Downloads folder as a source,” and it handles configuration, authentication, and validation for you.