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

  • Real-time connection status and discovery

Smart Intent Detection

  • Execute actions directly from natural language (e.g. "read my last gmail email", "send a message to the slack channel #general")

  • Generate integration code from prompts (e.g. "build a form to send emails using gmail", "create a UI for messaging")

  • Automatically distinguishes between execution and code generation intent

Direct Execution

  • Support for all HTTP methods (GET, POST, PUT, DELETE, etc.)

  • Handle form data, URL encoding, and JSON payloads

  • Path variable substitution, query parameters, and custom headers

Security

  • All requests authenticated and proxied through Pica; no platform API keys to manage

  • Secrets never exposed in responses or generated code

  • Request configurations sanitized before returning to clients

  • Fine-grained access control via permission levels, connection key scoping, and action allowlisting

Getting Started

The fastest way to get up and running is with the Pica CLI. It handles API key configuration and MCP installation for your agent or editor of choice.

npm install -g @picahq/cli
pica init

pica init will prompt you for your API key (get one from the Pica dashboard) and walk you through configuring the MCP server for your environment (Claude Desktop, Cursor, Claude Code, etc.).

Manual Installation

If you prefer to configure the server manually, install the package directly:

npm install @picahq/mcp

Then set the required environment variable:

PICA_SECRET=your-pica-secret-key

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.

Optional: Access Control

Fine-tune what the MCP server can see and do by setting these optional environment variables:

PICA_PERMISSIONS=read
PICA_CONNECTION_KEYS=conn_key_1,conn_key_2
PICA_ACTION_IDS=action_id_1,action_id_2
PICA_KNOWLEDGE_AGENT=true

Variable

Type

Default

Description

PICA_PERMISSIONS

read | write | admin

admin

Filter actions by HTTP method. read = GET only, write = GET/POST/PUT/PATCH, admin = all methods

PICA_CONNECTION_KEYS

* or comma-separated keys

*

Restrict visible connections and platforms to specific connection keys

PICA_ACTION_IDS

* or comma-separated IDs

*

Restrict visible and executable actions to specific action IDs

PICA_KNOWLEDGE_AGENT

true | false

false

Remove the execute_pica_action tool entirely, forcing knowledge-only mode

All defaults preserve current behavior. If no access control env vars are set, the server starts with full access and all tools available.

Manual Configuration

If you used pica init, the configuration below is already done for you. These examples are for reference or manual setups.

Standalone

npx @picahq/mcp

Claude Desktop

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"
      }
    }
  }
}

Cursor

In the Cursor menu, select "MCP Settings" and add the following:

{
  "mcpServers": {
    "pica": {
      "command": "npx",
      "args": ["@picahq/mcp"],
      "env": {
        "PICA_SECRET": "your-pica-secret-key"
      }
    }
  }
}

Remote MCP Server

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

Docker

docker build -t pica-mcp-server .
docker run -e PICA_SECRET=your_pica_secret_key pica-mcp-server

All environment variables listed in the Setup section can be passed as -e flags.

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"

Error Handling

All tool inputs are validated against Zod schemas before execution. Path variables are checked for completeness; missing or empty values throw descriptive errors rather than producing malformed requests. API failures from upstream platforms are caught and returned as structured MCP error responses with actionable messages. The server never surfaces raw stack traces to clients.

Security

All requests to third-party platforms are authenticated and proxied through Pica's API. The MCP server never handles OAuth tokens or platform API keys directly. The PICA_SECRET key is the sole credential required, and it is automatically redacted from all response payloads returned to clients. Sensitive headers are stripped from logged and returned request configurations.

For fine-grained control, the server supports permission levels (PICA_PERMISSIONS), connection key scoping (PICA_CONNECTION_KEYS), action allowlisting (PICA_ACTION_IDS), and a knowledge-only mode (PICA_KNOWLEDGE_AGENT) that removes execution capabilities entirely. See the Access Control section above for details.

License

MIT

Support

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

Available Tools

4 tools
execute_pica_actionExecute Pica ActionA

Execute a Pica action to perform actual operations on third-party platforms. CRITICAL: Only call this when the user's intent is to EXECUTE an action (e.g., 'read my last Gmail email', 'fetch 5 contacts from HubSpot', 'create a task in Asana'). DO NOT call this when the user wants to BUILD or CREATE code/forms/applications - in those cases, stop after get_pica_action_knowledge and provide implementation guidance instead. REQUIRED WORKFLOW: Must call get_pica_action_knowledge first. If uncertain about execution intent or parameters, ask for confirmation before proceeding.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction object with ID, path, and method
connectionKeyYesKey of the connection to use
dataNoRequest data (for POST, PUT, etc.)
headersNoAdditional headers
isFormDataNoWhether to send data as multipart/form-data
isFormUrlEncodedNoWhether to send data as application/x-www-form-urlencoded
pathVariablesNoVariables to replace in the path
platformYesPlatform name
queryParamsNoQuery parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries the burden. It discloses critical behavioral constraints: only execute when user intends to execute, not for building. It mentions workflow and caution. However, it lacks details on success/error responses, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (3 sentences) and front-loaded with purpose, followed by critical guidance and workflow. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, nested objects), no output schema, and no annotations, the description covers when to use but lacks detail on parameter usage, expected output format, and error handling, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage, so baseline is 3. The description does not add significant parameter-specific details beyond the schema; it focuses on tool usage rather than parameter meanings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Execute a Pica action to perform actual operations on third-party platforms.' It further distinguishes from sibling tools by specifying the required workflow and contrasting with build/create scenarios.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance on when to call (user intent to execute) and when not to call (user wants to build/create). Includes required workflow: must call get_pica_action_knowledge first, and ask for confirmation if uncertain.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pica_action_knowledgeGet Action KnowledgeA

Get comprehensive documentation for a specific action including parameters, requirements, and usage examples. MANDATORY: You MUST call this tool before execute_pica_action to understand the action's requirements, parameter structure, caveats, and proper usage. This loads the action documentation into context and is required for successful execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
action_idYesThe action ID to get knowledge for (from the actions list returned by get_pica_platform_actions). REQUIRED: This tool must be called before create_pica_request to load the action's documentation into context.
platformYesThe platform name to get knowledge for (e.g., 'ship-station', 'shopify'). This is the kebab-case version of the platform name that comes from the list_pica_integrations tool AVAILABLE PLATFORMS section.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description accurately conveys it's a read operation that loads documentation into context. It does not disclose any side effects, but given the read-only nature, this is sufficiently transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is front-loaded with purpose, followed by mandatory usage instruction. Each sentence adds value, though could be slightly more concise. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description states it provides 'comprehensive documentation' which sufficiently covers return value. For a 2-param tool with no nested objects, the description is complete enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%. The description adds value by explaining that action_id comes from get_pica_platform_actions and platform is kebab-case from list_pica_integrations, providing integration context beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get comprehensive documentation for a specific action', using a specific verb and resource. It distinguishes from siblings (execute, list actions, list integrations) by focusing on documentation retrieval and mandatory pre-execution role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs 'You MUST call this tool before execute_pica_action' and states it is required before create_pica_request, providing clear when-to-use guidance and rationale.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pica_platform_actionsGet Platform ActionsA

Get all available actions for a specific platform. Call this after list_pica_integrations to discover what actions are possible on a platform. Use the exact kebab-case platform name from the integrations list. This shows you what actions are available for that platform's API.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesThe platform name to get available actions for (e.g., 'ship-station', 'shopify'). This is the kebab-case version of the platform name that comes from the list_pica_integrations tool AVAILABLE PLATFORMS section.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It implies a read-only operation (get) but does not explicitly state it's non-destructive or discuss error handling (e.g., invalid platform names). It adds useful context about input format but leaves gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: purpose first, then usage guidance, finally input specificity. No redundant words, efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, yet the description does not explain the return format or structure. It mentions 'shows you what actions are available' but lacks detail. For a simple tool, it's adequate but could be improved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds meaning beyond the schema by specifying that the platform value should be the kebab-case version from list_pica_integrations, clarifying the source and format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get all available actions for a specific platform', using a specific verb and resource. It distinguishes from siblings by mentioning discovery after list_pica_integrations, which sets it apart from execution or knowledge tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to call after list_pica_integrations and to use the exact kebab-case platform name. This provides clear sequencing and input guidance. It does not explicitly state when not to use or alternatives, but the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pica_integrationsList Pica IntegrationsA

List all available Pica integrations and platforms. ALWAYS call this tool first in any workflow to discover what platforms and connections are available. This returns the connections that the user has and all available Pica platforms in kebab-case format (e.g., 'ship-station', 'shopify') which you'll need for subsequent tool calls.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool returns connections the user has and all available platforms in kebab-case format, which is useful behavioral context. However, it doesn't mention potential limitations like rate limits, error conditions, or authentication needs, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste: the first states the purpose, the second provides critical usage guidance and output format. It is front-loaded with essential information and appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is largely complete. It covers purpose, usage, and output format. However, without an output schema, it could benefit from more detail on the return structure (e.g., list vs. object), but the kebab-case hint partially compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0 parameters and 100% schema description coverage, the baseline is 4. The description adds value by explaining that no inputs are needed and implicitly confirms this through usage guidance, though it doesn't explicitly state 'no parameters required'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('all available Pica integrations and platforms'), providing specific scope. It distinguishes from siblings by focusing on discovery rather than execution or knowledge retrieval, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'ALWAYS call this tool first in any workflow to discover what platforms and connections are available,' providing clear when-to-use guidance. It also mentions that the output is needed for subsequent tool calls, reinforcing its role as a prerequisite without naming alternatives directly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedexecute_pica_action
    • First observedget_pica_action_knowledge
    • First observedget_pica_platform_actions
    • First observedlist_pica_integrations

TDQS

A4.5/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose in the Pica workflow: list_pica_integrations discovers available platforms, get_pica_platform_actions shows actions for a specific platform, get_pica_action_knowledge provides documentation for an action, and execute_pica_action performs the actual operation. There is no overlap or ambiguity between these functions.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case: list_pica_integrations, get_pica_platform_actions, get_pica_action_knowledge, and execute_pica_action. The naming is predictable and readable throughout.

Tool Count5/5

With 4 tools, this server is well-scoped for its purpose of managing integrations and actions on third-party platforms. Each tool serves a specific role in the workflow, and the count is neither too thin nor excessive for the domain.

Completeness5/5

The tool set provides complete coverage for the Pica domain: it allows listing integrations, discovering platform actions, retrieving action knowledge, and executing actions. This covers the full lifecycle from discovery to implementation, with no obvious gaps for the intended workflow.

Maintenance

ActivityNo data
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Transforms complex Pega Platform interactions into intuitive, conversational experiences by exposing Pega DX APIs through the standardized Model Context Protocol, enabling AI applications to interact with Pega through natural language.
    67
    15 npm
    22
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables integration with the Ethora platform through user authentication, registration, and application management operations. Supports creating, updating, deleting, and listing applications within the Ethora service.
    89
    282 npm
    6
    MIT