Skip to content

Integrations

Crow connects to 20+ external services through MCP servers. The five built-in servers (Memory, Projects, Sharing, Storage, and Blog) work out of the box. External integrations need API keys added to your environment.

Built-in Servers

These are always available — no API keys needed:

ServerToolsDescription
crow-memory12 toolsPersistent memory (7 tools) + cross-platform context management (5 tools)
crow-projects12 toolsProject pipeline: projects, sources, notes, citations, bibliography, data backends
crow-sharing8 toolsP2P sharing: invite codes, contacts, encrypted sharing, Nostr messaging, inbox
crow-storage5 toolsS3-compatible file storage: upload, list, download (presigned URLs), delete, stats
crow-blog12 toolsBlogging platform: posts, publishing, themes, RSS/Atom feeds, export to Hugo/Jekyll

Keeping Your Keys Safe

Each API key only grants access to that one service — a leaked GitHub key can't access your Gmail, for example. But you should still treat every key with care:

  • Only add keys for services you actually use — fewer keys means less to manage and less risk
  • Never share keys in screenshots, messages, or public repositories
  • If a key leaks, revoke it immediately at the service's website and create a new one

For a complete, beginner-friendly security guide, see SECURITY.md.

External Integrations

Add API keys to enable these. For cloud deployments, add keys in your Render dashboard under Environment.

IntegrationEnv VariablesDescriptionGet API Key
GitHubGITHUB_PERSONAL_ACCESS_TOKENRepos, issues, PRs, code searchGitHub Settings
Brave SearchBRAVE_API_KEYWeb search, local searchBrave API
SlackSLACK_BOT_TOKENMessages, channels, threadsSlack Apps
NotionNOTION_TOKENPages, databases, commentsNotion Integrations
TrelloTRELLO_API_KEY, TRELLO_TOKENBoards, cards, listsTrello Power-Ups
DiscordDISCORD_BOT_TOKENServers, channels, messagesDiscord Developer Portal
Google WorkspaceGOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRETGmail, Calendar, Drive, Docs, Sheets, Slides, ChatGoogle Cloud Console
Canvas LMSCANVAS_API_TOKEN, CANVAS_BASE_URLCourses, assignments, gradesCanvas account settings
Microsoft TeamsTEAMS_CLIENT_ID, TEAMS_CLIENT_SECRET, TEAMS_TENANT_IDMessages, channels, teamsAzure Portal
ZoteroZOTERO_API_KEY, ZOTERO_USER_IDCitations, library managementZotero Settings
arXiv(none)Academic paper search, full textWorks out of the box
ObsidianOBSIDIAN_VAULT_PATHVault search, note syncLocal path to vault
Home AssistantHA_URL, HA_TOKENSmart home device controlHA Long-Lived Tokens
RenderRENDER_API_KEYDeployment managementRender API Keys

Setup Guides

Detailed step-by-step setup instructions for each integration:

Self-Hosting Add-ons (Bundles)

These are installable add-ons with Docker Compose configurations. Install with crow bundle install <id> or ask your AI.

Add-onTypeDescription
ObsidianMCP ServerVault search, note sync, and knowledge base integration
Home AssistantMCP ServerSmart home device control with safety checkpoints
OllamaBundle (Docker)Local AI models for embeddings, summarization, classification
NextcloudBundle (Docker)File sync via WebDAV mount (v1: files only)
ImmichBundle (Docker + custom MCP)Photo library search, album management

How Integration Proxy Works

When deployed via the gateway, external integrations are available through the /tools/mcp endpoint. The gateway:

  1. Reads which API keys are set in the environment
  2. Spawns only the configured MCP servers as child processes
  3. Aggregates all their tools into a single /tools/mcp endpoint
  4. Prefixes tool names to avoid conflicts

This means you add one MCP connection from your AI client (the /tools/mcp URL) and get access to all configured external services.

Adding a New Integration

See the Architecture > Gateway page for details on how the proxy system works and how to add new integrations.

Released under the MIT License.