graph TD
A[AI Agent] --> B{"接入协议判定"}
B -->|"MCP"| C[MCP Server]
B -->|"HTTP / SDK / CLI"| D[统一 API 网关]
C --> E[认证与凭证中心]
D --> E
E --> F{"Token 是否有效"}
F -->|"有效"| G[Provider Adapter 路由]
F -->|"过期 / 缺失"| H[OAuth 刷新或授权流程]
H --> G
G --> I[1500+ SaaS Provider]
OpenConnector is an open-source connector gateway for AI agents and an alternative to Pipedream/Composio.
Connect user app accounts once, then expose a shared catalog of 1,000+ providers and 10,000+
prebuilt Actions to agents and applications.
Managed OAuth and hosted runtime, ready to use. No deployment or OAuth app setup.
Run locally or on your own infrastructure with Docker or Node.js. You manage storage and OAuth apps.
Cloudflare, Fly.io, RepoCloud, nibrun, NEXUS AI, Pethost, ZopDay, and more.
Use the Connector SDK from app code,
oo CLI as the local-agent relay, MCP from agent hosts,
HTTP/OpenAPI from custom clients, and the Web Console for administration and debugging.
Keep credentials, scopes, schemas, policies, and run logs inside an inspectable runtime.
Run locally, on your own infrastructure, or through OOMOL’s hosted runtime.
Use the same provider ids, Action ids, schemas, and contracts across open-source and commercial
SaaS deployments.
What It Provides
A working connector catalog across products such as GitHub, Gmail, Notion, BigQuery, Google
Analytics, Supabase, Airtable, Slack, and more.
Credential handling for API keys, OAuth2, custom credentials, and no-auth providers.
Built-in OAuth 2.1 authorization server so remote MCP clients and other agents can authenticate
with dynamically registered clients, PKCE S256, and revocable, policy-scoped access tokens.
Runtime controls for connection identity, scopes, runtime tokens, action allow/block policies,
temporary file transit, and redacted run logs.
Deployment options for local Docker or Node.js with SQLite or PostgreSQL state and local or
S3-compatible transit storage, plus OOMOL’s hosted runtime. Additional managed platforms are
listed in deployment options.
Where It Fits
OpenConnector fits products where agents need durable access to the tools users already use, without
handing provider credentials to the agent process.
Agent products that need reusable access across work apps, developer tools, data systems,
communication platforms, and AI services.
Products adding agent workflows that need stable, inspectable Action contracts for user app
access.
Teams that want hosted auth for speed while keeping a path to private or self-hosted runtime
control.
Thin TypeScript HTTP client. Use OpenConnector for self-hosted runtimes, or Connector / ProjectConnector for OOMOL-hosted personal and SaaS end-user connections.
Local agent relay for connector Actions. oo connector can search, inspect, and run Actions against OOMOL-hosted or self-hosted OpenConnector runtimes.
MCP
Expose app Actions to MCP-capable agent hosts through http://localhost:3000/mcp.
HTTP / OpenAPI
Call /v1/actions/* directly or inspect the generated /openapi.json document.
Endpoint details, response envelopes, auth headers, MCP tools, and Action guide examples are in
docs/runtime-api.md.
Dashboard Preview
OpenConnector ships with a local Dashboard for browsing connectors, configuring credentials,
creating runtime tokens, and inspecting runtime usage.
Connector Catalog
Use the connector catalog to see available services, search for providers, and open their Actions
and credential setup from one place.
Usage Overview
Use the Overview page after deployment to monitor runtime readiness, available providers,
executable Actions, recent failures, tool call trends, and recent calls.
Provider names and trademarks belong to their respective owners and are used only for identification
and interoperability.
Apps and agents discover Actions, inspect schemas and scopes, select a connection alias, and execute
through the gateway. Provider secrets stay behind the runtime boundary; agents receive the metadata,
safe account labels, and execution results needed for the run.
Usage Paths
Path
Best for
Includes
Open-source self-host
Developers and teams that want full control
Local Docker or Node runtime, SQLite or PostgreSQL state, local or S3-compatible transit files, MCP, HTTP, OpenAPI, and Web Console
Teams that want users to authorize accounts immediately
OOMOL-provided OAuth apps, monthly included Connect credits, and hosted runtime infrastructure; the same provider and Action contracts keep a path open to later private or self-hosted deployment
Quick Start
[!NOTE]
This starts a self-hosted runtime. OAuth providers require OAuth client credentials from apps you
register with those providers. To let users authorize supported providers without setting up your
own OAuth apps, use OOMOL-hosted connectors.
Start the runtime from the published image with Docker Compose:
docker compose up
This pulls ghcr.io/oomol-lab/open-connector:latest. To build from source instead:
docker compose -f docker-compose.yml -f docker-compose.build.yml up --build
Open the local console and generated API reference:
A GitHub App installation works the same way with no token to paste: store the App ID, the
installation id and the App’s private key, and the runtime mints one-hour installation tokens on
demand. The connection profile identifies the installation’s account; get_current_user requires
a personal access token or OAuth user credential. Installation repository listing supports
pagination only; omit visibility, sort and direction.
For npm-based local development, open http://localhost:5173; the Web Console dev server proxies
API requests to the runtime on http://localhost:3000. For Docker or a built Node runtime, the
console is served from http://localhost:3000.
The console supports provider browsing, API key and OAuth client configuration, runtime token
creation, Action schema inspection, Action debugging, recent run review, and access to the
generated OpenAPI and MCP metadata.
PostgreSQL Runtime Storage
The Node runtime uses SQLite by default and can use PostgreSQL 15 or newer when
OOMOL_CONNECT_DATABASE_URL is configured. PostgreSQL migrations are explicit: run
npm run runtime:migrate before starting a version with pending migrations. Server startup only
checks schema readiness and never applies PostgreSQL DDL. See
docs/configuration.md for configuration, permissions, TLS,
and multi-instance requirements. The Docker image exposes the same runner as its migrate
subcommand; see docs/docker-ghcr.md.
Docker Image (GHCR)
Run OpenConnector from a prebuilt image on GitHub Packages (GHCR): ghcr.io/oomol-lab/open-connector. Use
latest for the newest release, a pinned released version for production, or tip for the latest
main build.
If you want an AI bot you can use out of the box, try Leina. Leina connects to over 1,500 SaaS apps and lets you customize your own AI agent by choosing its app connections, skills, and knowledge base to fit your team’s workflows.
Use it in Slack, Microsoft Teams, Discord, or Telegram to find information, compile weekly reports, organize customer feedback, and prepare sales follow-ups through the apps you authorize.
Use Node.js 22.23.4+, 24.22.1+, or 26.12.1+ within those release lines. See the
runtime security baseline before deploying:
npm install
npm run dev
The local API runtime listens on http://localhost:3000. The Web Console dev server listens on
http://localhost:5173 and proxies API requests to the runtime.
Before opening a pull request:
npm run fix-check
npm test
Provider code lives under src/providers/<service>. See
CONTRIBUTING.md for provider contribution rules.
License Scope
Unless otherwise noted, the source code, scripts, generated project scaffolding, tests, and
documentation authored for this repository are licensed under the OpenConnector License, a modified
Apache License 2.0. See LICENSE.txt.
You may use, modify, and self-host OpenConnector for any purpose, including commercial use and
embedding it in your own products. The one added condition is that providing OpenConnector to third
parties as a hosted connector service requires a commercial license from OOMOL. Releases up to and
including v1.9.4 remain under the unmodified Apache License 2.0. See NOTICE.md.
The license for this repository does not grant rights to third-party products,
providers, apps, APIs, trademarks, service marks, trade names, logos, icons, brand assets,
documentation, screenshots, or other copyrighted materials owned by their respective holders.
Provider and app names, metadata, links, scopes, permissions, and optional logos/icons are included
only to identify services and enable interoperability. All third-party brand and product rights
remain with their respective owners. Inclusion in this catalog does not imply endorsement,
sponsorship, partnership, certification, or verification by those owners.
If you contribute provider metadata or assets, only submit material you have the right to submit.
Prefer linking to official public assets instead of copying brand files into this repository.
Community
Please keep issues and pull requests focused, respectful, and actionable. Participation in this
project is governed by CODE_OF_CONDUCT.md.
Support OpenConnector
If OpenConnector is useful to you, giving it a ⭐ helps more developers discover the project.
Contributors
Thanks to everyone who has helped build OpenConnector. Want to join them? See
CONTRIBUTING.md.
评论