A Model Context Protocol (MCP) server that integrates with Pica, enabling seamless interaction with various third-party services through a standardized interface. This server provides direct access to platform integrations, actions, execution capabilities, and robust code generation capabilities.
- list_pica_integrations - List all available platforms and your active connections
- get_pica_platform_actions - Get available actions for a specific platform
- get_pica_action_knowledge - Get detailed documentation for a specific action including parameters and usage
- execute_pica_action - Execute API actions with full parameter support
- Connect to 100+ platforms through Pica
- Manage multiple connections per platform
- Access real-time connection status
- Execute actions immediately (e.g. "read my last gmail email", "send a message to the slack channel #general")
- Generate integration code (e.g. "build a form to send emails using gmail", "create a UI for messaging")
- Intelligent context handling
- Never exposes secrets in generated code
- Uses environment variables:
PICA_SECRET
,PICA_[PLATFORM]_CONNECTION_KEY
- Sanitized request configurations for production use
- Execute actions directly through the MCP interface
- Support for all HTTP methods (GET, POST, PUT, DELETE, etc.)
- Handle form data, URL encoding, and JSON payloads
- Pass path variables, query parameters, and custom headers
- All requests authenticated through Pica's secure proxy
- No need to manage individual platform API keys
- Environment variable configuration for security
npm install @picahq/mcp
PICA_SECRET=your-pica-secret-key
Get your Pica secret key from the Pica dashboard.
npx @picahq/mcp
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"pica": {
"command": "npx",
"args": ["@picahq/mcp"],
"env": {
"PICA_SECRET": "your-pica-secret-key"
}
}
}
}
In the Cursor menu, select "MCP Settings" and update the MCP JSON file to include the following:
{
"mcpServers": {
"pica": {
"command": "npx",
"args": ["@picahq/mcp"],
"env": {
"PICA_SECRET": "your-pica-secret-key"
}
}
}
}
Build the Docker Image:
docker build -t pica-mcp-server .
Run the Docker Container:
docker run -e PICA_SECRET=your_pica_secret_key pica-mcp-server
To install pica for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @picahq/mcp --client claude
You can deploy this MCP server to Vercel for remote access:
-
Install dependencies including Vercel adapter:
npm install @vercel/mcp-adapter zod
-
Deploy to Vercel:
vercel
-
Configure your MCP client to use the remote server:
-
For Cursor:
https://your-project.vercel.app/api/mcp
-
For Claude/Cline: Use
npx mcp-remote https://your-project.vercel.app/api/mcp
-
For Cursor:
See DEPLOYMENT.md for detailed Vercel deployment instructions.
Build Email Form:
"Create me a React form component that can send emails using Gmail using Pica"
Linear Dashboard:
"Create a dashboard that displays Linear users and their assigned projects with filtering options using Pica"
QuickBooks Table:
"Build a paginatable table component that fetches and displays QuickBooks invoices with search and sort using Pica"
Slack Integration:
"Create a page with a form that can post messages to multiple Slack channels with message scheduling using Pica"
Gmail Example:
"Get my last 5 emails from Gmail using Pica"
Slack Example:
"Send a slack message to #general channel: 'Meeting in 10 minutes' using Pica"
Shopify Example:
"Get all products from my Shopify store using Pica"
List all available Pica integrations and platforms. Always call this tool first to discover available platforms and connections.
Parameters: None
Returns:
- Connected integrations grouped by platform
- Available platforms with descriptions
- Summary statistics
- Management links
Get all available actions for a specific platform.
Parameters:
-
platform
(string, required): Platform name in kebab-case format (e.g., 'ship-station', 'shopify')
Returns:
- List of available actions with IDs and titles
- Platform-specific action count
- Next steps guidance
Get comprehensive documentation for a specific action. Must be called before execute_pica_action to understand requirements.
Parameters:
-
action_id
(string, required): Action ID from get_pica_platform_actions -
platform
(string, required): Platform name in kebab-case format
Returns:
- Detailed action documentation
- Parameter requirements and structure
- API-specific guidance and caveats
- Usage examples and implementation notes
Execute a Pica action to perform operations on third-party platforms. Critical: Only call this when the user wants to execute an action, not when building applications.
Parameters:
-
platform
(string, required): Platform name -
action
(object, required): Action object with_id
,path
, andmethod
-
connectionKey
(string, required): Connection key for the platform -
data
(object, optional): Request body data -
pathVariables
(object, optional): Variables to replace in the path -
queryParams
(object, optional): Query parameters -
headers
(object, optional): Additional headers -
isFormData
(boolean, optional): Send as multipart/form-data -
isFormUrlEncoded
(boolean, optional): Send as URL-encoded form data
Returns:
-
requestConfig
: Sanitized request configuration -
responseData
: Actual API response from the platform
The server implements comprehensive error handling:
- ✅ Parameter validation for all tools
- ✅ Connection verification before execution
- ✅ Path variable validation and substitution
- ✅ Graceful handling of API failures
- ✅ Detailed error messages for debugging
- ✅ MCP-compliant error responses
- 🔐 Single environment variable required:
PICA_SECRET
- 🛡️ All requests authenticated through Pica's secure proxy
- 🔒 No direct platform API key management needed
- 🚫 Secrets never exposed in responses
- ✅ Request configurations sanitized
- 🔍 Sensitive data filtered from logs
- 🛡️ Input validation and sanitization
GPL-3.0
For support, please contact support@picaos.com or visit https://picaos.com