Activepieces is an open-source MCP (Model Context Protocol) server that allows you to use AI automation with LLMs through platforms like Claude Desktop, Cursor, or Windsurf. The server integrates with over 280 different services and tools through "pieces" written in TypeScript.
The easiest way to install the Activepieces MCP server is using Docker:
docker run -d \
--name activepieces \
-p 8080:8080 \
-e AP_DB_TYPE=postgres \
-e AP_POSTGRES_DATABASE=activepieces \
-e AP_POSTGRES_HOST=localhost \
-e AP_POSTGRES_PASSWORD=postgres \
-e AP_POSTGRES_PORT=5432 \
-e AP_POSTGRES_USERNAME=postgres \
activepieces/activepieces:latest
Make sure to replace the database connection details with your own values.
For a more complete setup, you can use Docker Compose:
version: "3.8"
services:
app:
image: activepieces/activepieces:latest
ports:
- "8080:8080"
depends_on:
- postgres
environment:
- AP_DB_TYPE=postgres
- AP_POSTGRES_HOST=postgres
- AP_POSTGRES_PORT=5432
- AP_POSTGRES_DATABASE=activepieces
- AP_POSTGRES_USERNAME=postgres
- AP_POSTGRES_PASSWORD=postgres
postgres:
image: postgres:14
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=activepieces
ports:
- "5432:5432"
Save this to a file named docker-compose.yml
and run:
docker-compose up -d
You can configure Activepieces using environment variables:
# Database Configuration
AP_DB_TYPE=postgres # Database type (postgres or sqlite)
AP_POSTGRES_HOST=localhost # PostgreSQL host
AP_POSTGRES_PORT=5432 # PostgreSQL port
AP_POSTGRES_DATABASE=activepieces # PostgreSQL database name
AP_POSTGRES_USERNAME=postgres # PostgreSQL username
AP_POSTGRES_PASSWORD=postgres # PostgreSQL password
# Optional Settings
AP_JWT_SECRET=your-jwt-secret # JWT secret for authentication
AP_ENCRYPTION_KEY=encryption-key # Encryption key for sensitive data
AP_FRONTEND_URL=http://localhost:8080 # Frontend URL
Once your Activepieces MCP server is running, you can connect it to LLM clients:
Activepieces comes with over 280 pre-built integrations called "pieces." These pieces allow you to connect your LLM to various services like:
When using Claude Desktop with your Activepieces server connected, you could ask:
"Please retrieve data from my Google Sheet and summarize it."
The LLM will be able to use the Google Sheets piece to:
To view the logs from your Activepieces container:
docker logs activepieces
For more detailed logging, you can add -e AP_LOG_LEVEL=debug
to your Docker run command.
While Activepieces comes with many pre-built pieces, you can also develop your own custom pieces to extend functionality. Pieces are written in TypeScript and follow a standardized framework.
Refer to the official documentation at https://www.activepieces.com/docs for detailed instructions on creating custom pieces.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.