Integrations
Crow connects to 15+ external services through MCP servers. The two built-in servers (Memory and Research) 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:
| Server | Tools | Description |
|---|---|---|
| crow-memory | 7 tools | Persistent memory: store, search, recall, list, update, delete, stats |
| crow-research | 12 tools | Research pipeline: projects, sources, notes, citations, bibliography |
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.
| Integration | Env Variables | Description | Get API Key |
|---|---|---|---|
| GitHub | GITHUB_PERSONAL_ACCESS_TOKEN | Repos, issues, PRs, code search | GitHub Settings |
| Brave Search | BRAVE_API_KEY | Web search, local search | Brave API |
| Slack | SLACK_BOT_TOKEN | Messages, channels, threads | Slack Apps |
| Notion | NOTION_TOKEN | Pages, databases, comments | Notion Integrations |
| Trello | TRELLO_API_KEY, TRELLO_TOKEN | Boards, cards, lists | Trello Power-Ups |
| Discord | DISCORD_BOT_TOKEN | Servers, channels, messages | Discord Developer Portal |
| Google Workspace | GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET | Gmail, Calendar, Drive, Docs, Sheets, Slides, Chat | Google Cloud Console |
| Canvas LMS | CANVAS_API_TOKEN, CANVAS_BASE_URL | Courses, assignments, grades | Canvas account settings |
| Microsoft Teams | TEAMS_CLIENT_ID, TEAMS_CLIENT_SECRET, TEAMS_TENANT_ID | Messages, channels, teams | Azure Portal |
| Zotero | ZOTERO_API_KEY, ZOTERO_USER_ID | Citations, library management | Zotero Settings |
| arXiv | (none) | Academic paper search, full text | Works out of the box |
| Render | RENDER_API_KEY | Deployment management | Render API Keys |
How Integration Proxy Works
When deployed via the gateway, external integrations are available through the /tools/mcp endpoint. The gateway:
- Reads which API keys are set in the environment
- Spawns only the configured MCP servers as child processes
- Aggregates all their tools into a single
/tools/mcpendpoint - 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.