Pica MCP Server
Integrates with the Pica API platform to enable seamless interaction with various third-party services through a standardized interface.
README
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 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.
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.