Skip to content

Integrations

Crow connects to 20+ external services through MCP servers. The five built-in servers (Memory, Research, 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-research12 toolsResearch pipeline: projects, sources, notes, citations, bibliography
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

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
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.