Skip to content

Connectors

Connectors provide a unified interface to external integrations, whether backed by MCP servers or built-in skills. Each connector tracks its connection status and configuration, giving you a single place to manage all integrations.

ConnectorTypeBackend
Google DriveMCPmcp/gdrive Docker image
GitHubMCPmcp/github Docker image
GmailMCPmcp/gmail Docker image
Google CalendarMCPmcp/google-calendar Docker
PostgreSQLMCPmcp/postgres Docker image
MySQLMCPmcp/mysql Docker image
RedisMCPmcp/redis Docker image
MongoDBMCPmcp/mongodb Docker image
n8nMCPmcp/n8n Docker image
SlackMCPmcp/slack Docker image
JiraMCPmcp/jira Docker image
LinearMCPmcp/linear Docker image
SentryMCPmcp/sentry Docker image
DatadogMCPmcp/datadog Docker image
NotionMCPmcp/notion Docker image

Each connector has one of four states:

StatusMeaning
connectedRunning and responding to requests
disconnectedNot configured or not started
configuringSetup in progress (e.g., waiting for API key)
errorStarted but failed (bad credentials, network issue)

Status is persisted in the codebuddy.connectors.states setting so your connector states survive editor restarts.

graph LR A["ConnectorService"] --> B{"Connector type?"} B -->|MCP| C["MCPService<br/>stdio or SSE transport"] B -->|Skill| D["SkillService<br/>Built-in TypeScript implementation"] C --> E["MCP Server Process"] D --> F["Direct API calls"]

The ConnectorService syncs with the MCPService on initialization:

  1. Reads built-in connector definitions
  2. Checks which MCP servers are currently running
  3. Updates connector statuses to match MCP server states
  4. Monitors MCP server events (connect, disconnect, error)

When you connect a connector:

  1. The service generates the MCP server configuration (Docker image, args, env vars)
  2. Injects configuration into codebuddy.mcp.servers
  3. Starts the MCP server via MCPService
  4. Updates the connector status to connected

Disconnecting a connector:

  1. Stops the MCP server process
  2. Removes the server from codebuddy.mcp.servers
  3. Sets connector status to disconnected
SettingTypeDefaultDescription
codebuddy.connectors.statesobject{}Persisted connection states per connector