Skip to content

Building Integrations

This guide explains how to add a new external service integration to Crow.

What is an Integration?

An integration connects Crow to an external service (e.g., Gmail, Trello, Slack) via an MCP server. Most integrations use existing npm packages — you configure them and write a skill file that teaches the AI how to use them.

Step 1: Find or Build an MCP Server

Search for an existing MCP server package:

If no package exists, you can build one using the @modelcontextprotocol/sdk package.

Step 2: Add to Integrations Registry

Add an entry to servers/gateway/integrations.js:

js
{
  id: "your-service",
  name: "Your Service",
  description: "Brief description of what this integration does",
  npmPackage: "@scope/mcp-server-your-service",
  envVars: [
    {
      name: "YOUR_SERVICE_API_KEY",
      description: "API key from Your Service",
      helpUrl: "https://yourservice.com/api-keys"
    }
  ],
  command: "npx",
  args: ["-y", "@scope/mcp-server-your-service"],
}

Step 3: Add to .mcp.json

Add the MCP server configuration:

json
{
  "your-service": {
    "command": "npx",
    "args": ["-y", "@scope/mcp-server-your-service"],
    "env": {
      "YOUR_SERVICE_API_KEY": "${YOUR_SERVICE_API_KEY}"
    }
  }
}

Step 4: Update .env.example

Add your environment variables:

YOUR_SERVICE_API_KEY=         # API key from https://yourservice.com/api-keys

Step 5: Create a Skill File

Create skills/your-service.md following the skill template:

markdown
# Your Service Skill

## Description
What this integration enables.

## When to Use
- Trigger phrases and conditions

## Tools Available
- List the MCP tools provided

## Workflow: Main Use Case
1. Step-by-step workflow
2. Including which tools to call
3. And what to store in memory

## Best Practices
- Configuration tips
- Common pitfalls

Step 6: Add Trigger Row

Add a row to the trigger table in skills/superpowers.md:

| "your service", "keyword" | "tu servicio", "palabra clave" | your-service | your-service |

Step 7: Test

bash
# Verify the server starts
npx -y @scope/mcp-server-your-service

# Verify crow gateway still starts
node servers/gateway/index.js --no-auth

Scaffolding Tool

Use the interactive scaffolding CLI to generate boilerplate:

bash
npm run create-integration

This outputs the code snippets for all the files above — just copy them in.

Submit

  1. Open an Integration Request issue to discuss your idea
  2. Fork the repo, implement the integration, and submit a PR

Released under the MIT License.