Log in
DocsConnections and APIs

Connections and APIs

A connector is something 0bridge can connect to: an MCP server (Linear, Notion, Slack) or an HTTP API it calls for you (Google Calendar, or any API with a key). A connection is your signed-in account on it.

Any service#

0b connect stripe
0b connect api.example.com
0b connect acme --spec https://api.acme.com/openapi.json

You don't need 0bridge to know a service. Give its name or address and 0bridge finds the best way in:

  1. A connection 0bridge already polished (Linear, Notion, Channel Talk, Google Calendar, …).
  2. The service's own MCP server: the official MCP registry, or the usual addresses (mcp.<domain>/mcp).
  3. Its OpenAPI document: the address you gave, the usual places (/openapi.json, /swagger.json), or the APIs.guru directory.

It never picks someone else's MCP server for a service on its own: those see the data passing through, so they're only listed. On the dashboard, Connect does the same: type a name or address and pick a result.

An API connected from its OpenAPI document gives your agents three tools: acme__search finds an operation, acme__describe shows its parameters, acme__call runs one that only reads (GET). Operations that change data go through a fourth tool, acme__call_write, which appears once you allow writes: on the dashboard, a connection's ⋯ menu › Allow writes, or --allow-write.

Keys#

0bridge reads which keys an API needs from its document. Your agent can set a connection up without them (0b connect acme --spec https://api.acme.com/openapi.json --yes, or from chat); you then add the keys yourself, so they never pass through the agent:

0b key acme

It asks for each key, hidden. Or open the link it prints, or Add key on the dashboard. The keys are kept encrypted by 0bridge and added to each call.

MCP servers#

0b connect notion
0b connect acme https://mcp.acme.com/mcp

Known services need no URL. Services that don't let apps register themselves (Slack) need a registered app. 0b connect slack asks which: 0bridge's app (the default: one click, or 0bridge.dev/slack/install), or your own app in that workspace (0b opens a filled-in "create app" page, then asks for its Client ID and Secret). Until 0bridge is in the Slack Marketplace, Slack's MCP server takes only a workspace's own app, so 0bridge's app works through Slack's Web API as you: search, channels, threads, people, posting and reactions, with channel history once a minute. Your own app gets Slack's MCP server in full. In your terminal you pick from the list; agents and scripts choose with --app 0bridge or --app own.

APIs#

0b connect google-calendar
0b connect acme --api https://api.acme.com/v1 --auth header:X-API-Key

For an API, 0bridge keeps the key and adds it to each call; your agents never see it. A known API (Google Calendar) comes with its own tools. Any other gets two tools that can only call paths under its base URL: acme__get for reads and acme__request for changes, so your AI tool can ask before each change. --auth is bearer (default), basic, header:<Name> or query:<param>; the key is asked for, never taken from the command line.

Accounts and names#

  • 0b rename slack --label old new changes a label; the sign-in is kept.
  • 0b disconnect slack --label acme removes a connection and its tokens.
  • A connection can be limited to projects, so it only shows there. See Projects.