Pica MCP Server
A Model Context Protocol (MCP) server that integrates with the Pica API platform, enabling seamless interaction with various third-party services through a standardized interface.
Features
🔧 Tools
- list_user_connections_and_available_connectors - List all available connectors and active connections
- get_available_actions - Get available actions for a specific platform
- get_action_knowledge - Get detailed information about a specific action
- execute_action - Execute API actions with full parameter support
- generate_action_config_knowledge - Generate request configurations for code generation
📚 Resources
- pica-platform://{platform} - Browse available actions for a platform
- pica-connection://{platform}/{key} - View connection details
- pica-action://{actionId} - Get detailed action information
💬 Prompts
- create-api-integration - Generate code for API integrations
- list-platform-actions - Get formatted lists of platform actions
🤖 Sampling
The server supports the MCP sampling capability for generating contextual responses based on conversation history.
Architecture
graph TB
Client["MCP Client<br/>(Claude, VS Code, etc.)"]
Server["Pica MCP Server"]
Transport["StdioServerTransport"]
PicaAPI["Pica API"]
Client <-->|"JSON-RPC<br/>over stdio"| Transport
Transport <--> Server
Server -->|"HTTP/REST"| PicaAPI
Installation
npm install @picahq/pica-mcp
Deployment Options
Deploy to Vercel
You can deploy this MCP server to Vercel for remote access:
Install dependencies including Vercel adapter:
npm install @vercel/mcp-adapter zodDeploy to Vercel:
vercelConfigure 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.
Configuration
Set the following environment variables:
# Required
export PICA_SECRET="your-pica-secret-key"
# Optional
export PICA_BASE_URL="https://api.picaos.com" # Default
export DEBUG="true" # Enable debug logging
Usage
As a Standalone Server
# Using npx
npx @picahq/pica-mcp
# Or if installed globally
pica-mcp
With MCP Inspector
npm run inspector
In Claude Desktop
Add to your Claude configuration file:
{
"mcpServers": {
"pica": {
"command": "npx",
"args": ["@picahq/pica-mcp"],
"env": {
"PICA_SECRET": "your-pica-secret-key"
}
}
}
}
Examples
List Available Connections
// Using the list_user_connections_and_available_connectors tool
const result = await client.callTool({
name: "list_user_connections_and_available_connectors"
});
Get Platform Actions
// Using the get_available_actions tool
const actions = await client.callTool({
name: "get_available_actions",
arguments: {
platform: "slack"
}
});
Execute an Action
// Using the execute_action tool
const result = await client.callTool({
name: "execute_action",
arguments: {
actionId: "action-id",
connectionKey: "connection-key",
method: "POST",
path: "/api/messages",
data: {
channel: "#general",
text: "Hello from MCP!"
}
}
});
Generate Integration Code
// Using the generate_action_config_knowledge tool
const config = await client.callTool({
name: "generate_action_config_knowledge",
arguments: {
platform: "slack",
action: {
_id: "send-message",
path: "/api/messages"
},
method: "POST",
connectionKey: "slack-connection-key",
data: {
channel: "#general",
text: "Hello!"
}
}
});
Development
Building
npm run build
Watching for Changes
npm run watch
Running with Debug Mode
DEBUG=true npm run build && node build/index.js
API Reference
Tools
list_user_connections_and_available_connectors
Lists all connections in the user’s Pica account and available connectors.
Parameters: None
Returns:
connections: Array of active connectionsavailablePicaConnectors: Array of available connectors
get_available_actions
Get available actions for a specific platform.
Parameters:
platform(string, required): Platform name
Returns:
actions: Array of available actions with id, title, and tags
get_action_knowledge
Get detailed information about a specific action.
Parameters:
actionId(string, required): Action ID
Returns:
action: Detailed action information including knowledge base
execute_action
Execute a specific action through the Pica API.
Parameters:
actionId(string, required): Action IDconnectionKey(string, required): Connection keymethod(string, required): HTTP methodpath(string, required): API pathdata(object, optional): Request bodypathVariables(object, optional): Path variablesqueryParams(object, optional): Query parametersheaders(object, optional): Additional headersisFormData(boolean, optional): Send as multipart/form-dataisFormUrlEncoded(boolean, optional): Send as URL-encoded
Returns:
result: API response datarequestConfig: Request configuration details
generate_action_config_knowledge
Generate request configuration for code generation.
Parameters:
platform(string, required): Platform nameaction(object, required): Action object with _id and pathmethod(string, required): HTTP methodconnectionKey(string, required): Connection keydata(object, optional): Request bodypathVariables(object, optional): Path variablesqueryParams(object, optional): Query parametersheaders(object, optional): Additional headersisFormData(boolean, optional): Send as multipart/form-dataisFormUrlEncoded(boolean, optional): Send as URL-encoded
Returns:
requestConfig: Complete request configurationtypeScriptCode: Example TypeScript code
Resources
Resources can be read using the MCP resource protocol:
pica-platform://{platform}- List of actions for a platformpica-connection://{platform}/{key}- Connection detailspica-action://{actionId}- Detailed action information
Prompts
create-api-integration
Generate code for API integrations.
Arguments:
platform(string, required): Target platformaction(string, required): Action to performlanguage(string, optional): Programming language (default: “typescript”)
list-platform-actions
Get a formatted list of available actions.
Arguments:
platform(string, required): Target platform
Error Handling
The server implements comprehensive error handling:
- Connection validation before action execution
- Path variable validation and substitution
- Graceful handling of API failures
- Detailed error messages for debugging
Security
- API keys are passed via environment variables
- Connections are validated before use
- All requests include proper authentication headers
License
GPL-3.0
Support
For support, please contact support@picaos.com or visit https://picaos.com
Pica MCP Server
Project Details
- picahq/mcp-server
- GNU General Public License v3.0
- Last Updated: 6/7/2025
Recomended MCP Servers
Repository for MCP server implementation
A Minecraft MCP Server powered by Mineflayer API. It allows to control a Minecraft character in real-time, allowing...
Python "hello world" mcp example for Warp Terminal
cloudflare workers MCP server
MCP server to interact with LogSeq via its Local HTTP API - enabling AI assistants like Claude to...
A Model Context Protocol server for Jira.
This read-only MCP Server allows you to connect to MySQL data from Claude Desktop through CData JDBC Drivers....
一个用于执行 Phalcon 5.0.x 框架命令的 Model Context Protocol (MCP) 服务器
A Model Context Protocol (MCP) service for retrieving image dimensions, supporting both URL and local file sources.





