ADEPT Connectors¶
The adept-connectors package provides a unified connector library for integrating IDE tools, chat clients, and custom applications with the ADEPT platform. It handles authentication, HTTP transport, session management, and per-client configuration.
Installation¶
# Core only (auth, HTTP clients, session management)
pip install adept-connectors
# With Claude Desktop/Code support (FastMCP v2)
pip install adept-connectors[claude]
# With ChatGPT Actions support (FastAPI + OAuth2)
pip install adept-connectors[chatgpt]
# Auth proxy for zero-code IDE tools
pip install adept-connectors[proxy]
# Everything
pip install adept-connectors[all]
Requires Python 3.10 or later.
Supported Clients¶
| Client | Integration Type | Config Model | Notes |
|---|---|---|---|
| Roo Code (VS Code) | Auth Proxy | ConnectorProfile | Zero-code setup |
| Continue.dev (VS Code) | Auth Proxy | ConnectorProfile | Zero-code setup |
| Cursor | Auth Proxy | ConnectorProfile | Zero-code setup |
| OBot.ai | Auth Proxy | ConnectorProfile | Zero-code setup |
| Claude Desktop / Code | FastMCP v2 server | AdeptConnectorConfig | Full MCP bridge |
| ChatGPT (custom GPT) | REST + OpenAPI Actions | AdeptConnectorConfig | OAuth2 flow |
| AG-UI clients | Direct endpoint | AdeptConnectorConfig | Streaming protocol |
| OpenWebUI | Direct API | ConnectorProfile | OpenAI-compatible |
| JupyterLab | Direct API | ConnectorProfile | Notebook integration |
Auth Proxy Usage¶
The auth proxy enables zero-code integration for IDE tools that support OpenAI-compatible endpoints. It handles Keycloak authentication transparently.
adept-auth-proxy \
--upstream https://your-adept-server.example.com/v1 \
--auth-method password \
--username alice@example.com \
--password secret
Then configure your IDE to use http://localhost:19283/v1 as the OpenAI-compatible API endpoint. The proxy supports password (Keycloak ROPC) and api_key authentication methods.
Claude Desktop Setup¶
The Claude connector uses FastMCP v2 to bridge Claude Desktop/Code with ADEPT's tool ecosystem:
# Install with Claude support
pip install adept-connectors[claude]
# Start the connector
adept-claude-connector \
--base-url https://your-adept-server.example.com/v1 \
--username alice@example.com \
--password secret
The connector exposes ADEPT's MCP tools (file upload, RAG queries, code execution, scientific workflows) directly in Claude Desktop's tool palette.
ChatGPT Integration¶
For ChatGPT custom GPTs, install adept-connectors[chatgpt]. The connector serves a FastAPI server with an OpenAPI schema that ChatGPT Actions can consume directly, providing OAuth2 authentication and natural language access to ADEPT tools.
Configuration¶
Two configuration models are available:
ConnectorProfile-- Lightweight config for direct API access (base URL + API key).AdeptConnectorConfig-- Full config for connectors managing their own Keycloak authentication (base URL + Keycloak URL + credentials + realm).
from adept_connectors import ConnectorProfile, AdeptConnectorConfig
# Simple API key access
profile = ConnectorProfile(base_url="https://your-server.example.com/v1", api_key="sk-key")
# Full Keycloak-managed auth
config = AdeptConnectorConfig(
base_url="https://your-server.example.com/v1",
keycloak_url="https://your-server.example.com/auth",
username="alice@example.com", password="secret", realm="adept",
)
Package Structure¶
| Module | Contents |
|---|---|
core/config.py | ConnectorProfile, AdeptConnectorConfig |
core/auth.py | AuthManager (API key, JWT, Keycloak ROPC) |
core/session.py | SessionManager (multi-tier IDs, fork, persistence) |
core/facade.py | AdeptFacade (chat, AG-UI, files, tools) |
core/clients/ | HTTP abstractions (SSE, JSONL, files, MCP) |
connectors/claude/ | Claude Desktop -- FastMCP v2 bridge |
connectors/chatgpt/ | ChatGPT -- FastAPI + OpenAPI Actions + OAuth2 |
connectors/generic/ | Auth proxy for IDE tools |
Security¶
All connector traffic routes through nginx_proxy which enforces:
- TLS termination with self-signed certificates (set
ADEPT_VERIFY_SSL=falsefor local dev) - JWT authentication via Keycloak (client credentials or ROPC flow)
- Content-Security-Policy headers on all responses (
img-src 'self' data: blob:)
CSP headers are enforced by browsers, not HTTP clients. Connectors that consume JSON/SSE programmatically are unaffected by CSP. The policy prevents browser-side exfiltration when model output is rendered in a webview (e.g., plot embedding via presigned URLs in Claude Desktop remains functional since presigned URLs are same-origin).