Self-hosted connector gateway — hold your SaaS credentials once, and hand your agents a single MCP endpoint.
- Two kinds of connector. Proxy an official remote MCP server, or run a managed integration implemented against a provider's REST API. The major SaaS platforms are covered out of the box.
- Multi-tenant friendly. A connection ID is an opaque handle, and connect-it never records who owns it. Your product keeps its own user model, and one deployment serves every tenant.
- One session, many connections. Aggregate any set of connections into a
single MCP session. Tools are namespaced and frozen at issue time, so
tools/listandtools/callalways agree. - Credentials stay put. Access and refresh tokens are sealed with a rotatable AES-256-GCM keyring. Downstream services only ever see connection IDs.
- Built for concurrency. Written in Go and shipped as a single static binary. Tool discovery fans out across connections in parallel, and OAuth refreshes are collapsed by an in-process single-flight plus a database row lock.
Requires Docker and Docker Compose.
git clone --recursive https://github.com/memohai/connect-it.git
cd connect-it
cp .env.example .envGenerate the secrets and put them in .env:
echo "1:$(openssl rand -hex 32)" # CONNECT_IT_SECRET_KEY
openssl rand -hex 32 # COOKIE_SECRET
openssl rand -hex 16 # POSTGRES_PASSWORDThen start the stack:
docker compose up -d --buildOpen http://localhost:8080 and sign in as admin with the
CONNECT_IT_ADMIN_PASSWORD from your .env.
See docs/ for deployment, day-to-day usage, the Go SDK, the
architecture and the development workflow.