Skip to main content
Glama

Pica MCP Server

npm version

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

  • search_pica_platform_actions - Search for 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

Related MCP server: Pega DX MCP Server

Key Capabilities

πŸ”Œ Platform Integration

  • Connect to 200+ 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

Required

PICA_SECRET=your-pica-secret-key

Get your Pica secret key from the Pica dashboard.

Optional: Identity Scoping

You can scope connections to a specific identity (e.g., a user, team, or organization) by setting these optional environment variables:

PICA_IDENTITY=user_123 PICA_IDENTITY_TYPE=user

Variable

Description

Values

PICA_IDENTITY

The identifier for the entity (e.g., user ID, team ID)

Any string

PICA_IDENTITY_TYPE

The type of identity

user, team, organization, project

When set, the MCP server will only return connections associated with the specified identity. This is useful for multi-tenant applications where you want to scope integrations to specific users or entities.

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", "PICA_IDENTITY": "user_123", "PICA_IDENTITY_TYPE": "user" } } } }

Note: PICA_IDENTITY and PICA_IDENTITY_TYPE are optional. Only include them if you want to scope connections to a specific identity.

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", "PICA_IDENTITY": "user_123", "PICA_IDENTITY_TYPE": "user" } } } }

Note: PICA_IDENTITY and PICA_IDENTITY_TYPE are optional. Only include them if you want to scope connections to a specific identity.

Using the Remote MCP Server

The remote MCP server is available at https://mcp.picaos.com.

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 \ -e PICA_IDENTITY=user_123 \ -e PICA_IDENTITY_TYPE=user \ pica-mcp-server

Note: PICA_IDENTITY and PICA_IDENTITY_TYPE are optional.

Deploy to Vercel

You can deploy this MCP server to Vercel for remote access:

  1. Install dependencies including Vercel adapter:

    npm install @vercel/mcp-adapter zod
  2. Deploy to Vercel:

    vercel
  3. 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

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:

  • connections: Array of active user connections with platform and key

  • availablePlatforms: Array of active platforms with name and category

  • summary: Statistics including connected and available counts

search_pica_platform_actions

Search for relevant actions on a specific platform using a query. Returns the top 5 most relevant actions based on vector similarity search.

Parameters:

  • platform (string, required): Platform name in kebab-case format (e.g., 'ship-station', 'shopify')

  • query (string, required): Search query describing what you want to do (e.g., 'search contacts', 'create invoice', 'send email')

  • agentType (enum, optional): Agent context type - either "execute" or "knowledge". Defaults to "knowledge" if not specified

    • Use "execute" when the user wants to perform an action

    • Use "knowledge" when the user wants to get information or write code

Returns:

  • actions: Array of up to 5 most relevant actions, each with:

    • actionId: Unique identifier for the action

    • title: Human-readable action name

    • method: HTTP method (GET, POST, etc.)

    • path: API endpoint path

  • metadata: Search metadata with platform, query, and result count

get_pica_action_knowledge

Get comprehensive documentation for a specific action. Must be called before execute_pica_action to understand requirements.

Parameters:

  • actionId (string, required): Action ID from search_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_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 name

  • actionId (string, required): Action ID from search_pica_platform_actions

  • 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

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

  • πŸ” Required environment variable: PICA_SECRET

  • πŸ” Optional environment variables: PICA_IDENTITY, PICA_IDENTITY_TYPE

  • πŸ›‘οΈ 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

MIT

Support

For support, please contact support@picaos.com or visit https://picaos.com

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/picahq/mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server