open-connector README

The project's README from github.com/oomol-lab/open-connector. As one markdown file: README.md.

OpenConnector - Connect Once. Use Everywhere.

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Русский | Français | Español

License: Apache-2.0 Node.js 22+ Cloudflare compatible MCP OpenAPI

Providers Actions

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.

OOMOL Self-hosted More platforms
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, and more.
🚀 OOMOL Hosted Self-host More platforms

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.

What It Provides

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.

Developer Tools

Tool Purpose
Connector SDK Thin TypeScript HTTP client. Use OpenConnector for self-hosted runtimes, or Connector / ProjectConnector for OOMOL-hosted personal and SaaS end-user connections.
oo CLI 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.

OpenConnector connector catalog dashboard

Usage Overview

Use the Overview page after deployment to monitor runtime readiness, available providers, executable Actions, recent failures, tool call trends, and recent calls.

OpenConnector runtime overview dashboard

Provider names and trademarks belong to their respective owners and are used only for identification and interoperability.

How It Works

flowchart LR
  Agent["AI Agent / App"] -->|"SDK / CLI / MCP / HTTP"| Gateway["OpenConnector Gateway"]
  Gateway --> Auth["Credential & OAuth Boundary"]
  Gateway --> Catalog["Provider Catalog"]
  Gateway --> Actions["Open-source Action Executors"]
  Gateway --> Policy["Tokens, Scopes, Allow/Block Policy"]
  Gateway --> Logs["Run Logs"]
  Actions --> Providers["1,000+ Providers"]
  Console["Web Console"] --> Gateway
  Cloudflare["Cloudflare Workers, D1, R2"] -. deploy .-> Gateway

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
Kubernetes (Helm) Teams that run their own clusters Hardened Helm chart with PVC-backed SQLite or PostgreSQL plus migration hooks, Ingress, autoscaling, and NetworkPolicy toggles
OOMOL 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:

http://localhost:3000
http://localhost:3000/docs

Run a no-auth Action to verify the runtime:

curl -s -X POST http://localhost:3000/v1/actions/hackernews.get_top_stories \
  -H 'content-type: application/json' \
  -d '{"input":{}}'

See docs/quickstart.md for the full local setup, first provider connection, OAuth flow, and runtime settings.

Connect a Provider

GitHub is the simplest credentialed example because it can use a personal access token:

curl -s -X PUT http://localhost:3000/api/connections/github \
  -H 'content-type: application/json' \
  -d '{"authType":"api_key","values":{"apiKey":"github_pat_..."}}'

curl -s -X POST http://localhost:3000/v1/actions/github.get_current_user \
  -H 'content-type: application/json' \
  -d '{"input":{}}'

For OAuth2 apps, named connections, credential encryption, token refresh, and action policies, see docs/credentials.md and docs/configuration.md.

Web Console

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.

See docs/docker-ghcr.md for tags, pulling, and running.

Build a Desktop Agent with Wanta

OpenConnector and Wanta are two open-source projects for AI Agents in the OOMOL ecosystem. OpenConnector connects Agents to external services such as Gmail, Slack, and Notion. Wanta provides a complete desktop Agent application powered by OpenCode and uses OpenConnector to work with connected SaaS services.

Issues and pull requests are welcome.

Documentation

Development

Use Node.js 22 or newer:

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 Apache License, Version 2.0. See LICENSE.txt.

The Apache-2.0 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.

How to star OpenConnector on GitHub

Contributors

Thanks to everyone who has helped build OpenConnector. Want to join them? See CONTRIBUTING.md.

OpenConnector contributors

Star History

Star history

open-connector (oomol-lab/open-connector)

Searching Database…

这是什么?OpenConnector 是一个开源的连接器网关,让 AI 智能体能够通过一套共享的预构建 Action 目录,完成对 1,000+ 个 SaaS 服务商(如 GitHub、Gmail、Notion、Slack、BigQuery 等)的身份验证和调用。它是 Pipedream 或 Composio 的开源替代方案。
这是需要我自己运行的网关,还是我只需调用的托管服务?两者都可以:你可以用 Docker 或 Node.js 在本地或自有基础设施上自托管,自行管理存储和 OAuth 应用;也可以使用 OOMOL 的托管运行时,由其管理 OAuth。两种模式下的服务商和 Action 接口保持一致。
我该怎么把它跑起来?通过 Docker Compose 启动自托管运行时(会拉取 ghcr.io/oomol-lab/open-connector 镜像),或从源码构建;然后打开本地 Web 控制台和自动生成的 API 参考文档进行配置。
连接 OAuth 服务商之前我需要准备什么?你需要在每个服务商那里自行注册应用,并获取 OAuth 客户端凭据;如果使用 OOMOL 托管的连接器,则由其提供现成的 OAuth 应用。GitHub 是最简单的情况,只需一个个人访问令牌即可完成认证。
切换到 PostgreSQL 时,安装上有哪些需要注意的地方?PostgreSQL 的迁移不会自动执行:在启动含有待执行迁移的版本之前,你必须运行 'npm run runtime:migrate'。服务器启动时只检查数据库结构是否就绪,不会自己执行 DDL。
智能体和应用实际上是怎么与它通信的?可以根据你的技术栈选择合适的接口:应用代码可使用 TypeScript Connector SDK;'oo' CLI 可作为本地智能体中继;支持 MCP 的智能体宿主可使用 MCP;也可以直接调用 HTTP/OpenAPI。此外还有用于管理和调试的 Web 控制台。
智能体会看到我的原始服务商凭据吗?不会。服务商密钥始终留在运行时边界之内;智能体只会收到 Action 元数据、安全的账户标签,以及一次运行所需的执行结果。
Apache-2.0 许可证在这里具体涵盖什么?Apache-2.0 许可证涵盖仓库中的源代码、脚本、脚手架、测试和文档,但不授予目录中第三方服务商的任何权利,包括其商标、标志或品牌资产;这些内容仅用于标识用途。
我能把它部署在 Kubernetes 上吗?可以。项目提供了经过加固的 Helm Chart,支持基于 PVC 的 SQLite 或 PostgreSQL 状态存储、迁移钩子、Ingress、自动扩缩容以及 NetworkPolicy 开关,适合自建集群的团队使用。
Wanta 是什么?它和 OpenConnector 有什么关系?Wanta 是一款独立的开源桌面 AI 智能体应用,由 OpenCode 驱动。它在底层使用 OpenConnector,让其智能体能够与 Gmail、Slack、Notion 等已连接的 SaaS 服务协同工作。
运行时支持哪些存储选项?Node 运行时默认使用 SQLite,也可以切换为 PostgreSQL 15+。临时文件中转既可以存放在本地,也可以存放在兼容 S3 的存储中。
我能不先设置 OAuth 就试用吗?可以。快速入门中包含一个无需认证的 Action,可以在本地运行时上运行它,在连接真实的带凭据服务商之前先验证一切是否正常。
Creator
oomol-lab
Size
32.8 MB
Stars
6K
Age
3mo
Commits · 90 Days