Pica MCP Server
An MCP server for Pica that enables seamless interaction with various third-party services through a standardized interface.
Pica MCP Server
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.
Features
🔧 Tools
- 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
Key Capabilities
🔌 Platform Integration
- Connect to 100+ platforms through Pica
- Manage multiple connections per platform
- Access real-time connection status
🎯 Smart Intent Detection
- 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
🔒 Enhanced Security
- Never exposes secrets in generated code
- Uses environment variables:
PICA_SECRET
,PICA_[PLATFORM]_CONNECTION_KEY
- Sanitized request configurations for production use
⚡ Direct Execution
- 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
🔒 Secure Authentication
- All requests authenticated through Pica's secure proxy
- No need to manage individual platform API keys
- Environment variable configuration for security
Installation
npm install @picahq/mcp
Setup
PICA_SECRET=your-pica-secret-key
Get your Pica secret key from the Pica dashboard.
Usage
As a Standalone Server
npx @picahq/mcp
In Claude Desktop
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 Cursor
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"
}
}
}
}
Using Docker
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
Installing via Smithery
To install pica for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @picahq/mcp --client claude
Deploy to Vercel
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.
Examples for Inspiration
📋 Integration Code Generation
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"
🚀 Direct Action Execution
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"
API Reference
Tools
list_pica_integrations
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_pica_platform_actions
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_pica_action_knowledge
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_actionsplatform
(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_pica_action
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 nameaction
(object, required): Action object with_id
,path
, andmethod
connectionKey
(string, required): Connection key for the platformdata
(object, optional): Request body datapathVariables
(object, optional): Variables to replace in the pathqueryParams
(object, optional): Query parametersheaders
(object, optional): Additional headersisFormData
(boolean, optional): Send as multipart/form-dataisFormUrlEncoded
(boolean, optional): Send as URL-encoded form data
Returns:
requestConfig
: Sanitized request configurationresponseData
: Actual API response from the platform
Error Handling
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
Security
- 🔐 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
License
GPL-3.0
Support
For support, please contact support@picaos.com or visit https://picaos.com
Related Servers
MCP Tool Poisoning Attacks
A Node.js project demonstrating MCP client and server interactions for tool poisoning attacks, requiring an Anthropic API key.
MCP Project Initializer
Automates the setup of new AI-powered MCP server development projects.
MCP Remote Machine Control
Provides remote machine control capabilities, eliminating SSH overhead for token-efficient system operations.
Layered Code
An AI-assisted web development tool for creating, modifying, and deploying code through natural language conversations.
Open MCP Server
A service framework supporting the Model Context Protocol (MCP) to integrate enterprise systems and AI platforms via RESTful, gRPC, and Dubbo protocols.
Hackle
Query A/B test data using the Hackle API.
Perfetto
Turn natural language into powerful Perfetto trace analysis. Quickly explain jank, diagnose ANRs, spot CPU hot threads, uncover lock contention, and find memory leaks.
MCP HTTP Requests
A comprehensive HTTP client for API testing, web automation, and security testing with detailed logging.
TeamCity
MCP server for TeamCity, integrates with Claude Desktop and Cursor.
reptor-mcp
An MCP server for Reptor/SysReptor that exposes the reptor CLI tool as a programmable service, configured via environment variables.