Integrations & MCP
The Integrations page (/space/integrations) is a tabbed surface with four deep-linkable sections: Core, MCP Servers, Plugins and Channels. Each tab owns a URL slug (/core, /mcp, /plugins, /channels), so every section is linkable and the back button works.
New to the AI side? Read AI concepts from scratch first — MCP and Function/tool calling, which define how agents get external tools.
Core connectors
Section titled “Core connectors”Code & Infrastructure
Section titled “Code & Infrastructure”| Connector | Auth | Notes |
|---|---|---|
| GitHub | OAuth | Repos, PRs, issues; powers workspace sessions |
| GitLab | PAT (glpat-…, validated) |
Self-hosted or cloud instances for CI/CD and repos |
| Cloudflare | API token (~40 chars, validated) | Deploy agents to Workers, manage DNS, access R2 |
| Component Registry | Built-in | Search/preview/install UI components from the SynthHires registry via MCP — reduces hallucination with real component APIs |
Service tokens (GitLab, Cloudflare, Slack) are stored in the encrypted local vault (synthhires-tokens, AES-GCM) — status is always derived from real token presence, never hardcoded, and tokens are validated before saving.
Data & Messaging
Section titled “Data & Messaging”| Connector | Auth | Notes |
|---|---|---|
| Supabase | Platform-managed | Managed Postgres, Auth, Realtime — already powering the workspace |
| Slack | Bot token (xoxb-…, validated) |
Agent notifications via the Slack Web API; inbound commands live in Channels |
Project management & protocols
Section titled “Project management & protocols”| Connector | Status |
|---|---|
| Linear / Jira | Coming soon (OAuth-based, zero-config) |
| A2A Protocol | Coming soon — Agent-to-Agent interoperability with any A2A-compliant agent |
The concept behind integrations: tools for agents
Section titled “The concept behind integrations: tools for agents”Integration pages all serve one goal: giving the model hands. A model alone can only generate text; to act (open a PR, query a database, send a message) it needs tools, delivered as callable functions the model can invoke with structured arguments. MCP is the standardized socket for those tools — any connector exposes its actions (create_issue, search_issues, post_message) under one common interface the model calls uniformly. The platform runs those calls with its own auth and consent, then feeds results back into context. Redirect to AI concepts from scratch → Function/tool calling and MCP for the full explanation.
MCP Servers
Section titled “MCP Servers”The MCP tab (/space/integrations/mcp) manages Model Context Protocol servers — the standard surface for giving agents external tools. The registry (src/lib/mcp/registry.ts) ships a curated catalog of connectors:
| Connector | Category | Representative tools |
|---|---|---|
| GitHub | code | create_issue, list_prs, get_file, search_code |
| GitLab | code | get_project, list_mr, create_mr, get_pipeline |
| Jira | project-management | get_issue, create_issue, search_issues, list_sprints |
| Asana | project-management | get_task, create_task, list_projects |
| Linear | project-management | get_issue, create_issue, list_issues |
| Notion | productivity | search, get_page, create_page, query_database |
| Slack | communication | post_message, list_channels, read_thread |
| Discord | communication | send_message, list_channels, get_guild |
Each connector records its server package (e.g. @modelcontextprotocol/server-github), setup mode (token or OAuth) and a connect hint. The panel supports searching the catalog (searchConnectors) and suggesting connectors from text (suggestConnectorsForText) — paste a description and the platform proposes the relevant servers.
The web side uses a real Streamable HTTP MCP transport on Workers (no stdio spawn). The MCP registry is client-local (localStorage), so no prefetch is needed for it.
Plugins
Section titled “Plugins”The Plugins tab (/space/integrations/plugins) manages the plugin catalog (PluginsTab in src/features/tools/components/plugins-tab.tsx). Plugins extend agent tooling beyond the built-in tools, installable per-workspace.
Channels
Section titled “Channels”The Channels tab (/space/integrations/channels) manages inbound messaging channels — the surface where external platforms (Slack, etc.) can send commands into the platform, as opposed to Core’s outbound notifications:
- Channel connections are fetched through
prefetchChannelConnections, warming the cache early so the first tab switch doesn’t pay compile/network latency. - Each channel supports inbound command processing, so you can drive agents from your chat tool of choice.
Token storage security
Section titled “Token storage security”All connector tokens follow the same rule as API keys: encrypted locally with AES-256-GCM in the browser vault, never stored server-side in plaintext. Disconnecting removes the token immediately.