pica
The Pica MCP server functions as a centralized hub for seamless integration with over 100 third-party platforms, providing standardized tools for discovering, connecting, and interacting with various services.
Platform Integration: Connect to and manage multiple platforms with real-time connection status.
Action Execution: Execute API actions directly through the MCP interface, supporting all HTTP methods and data formats.
Smart Intent Detection: Immediately execute actions (e.g., read emails, send messages) based on detected intent.
Integration Code Generation: Automatically generate code for building forms, dashboards, and UI components that interact with third-party services.
Enhanced Security: Authenticates requests through Pica's secure proxy, never exposing individual API keys or secrets in generated code, and using secure environment variables.
Enables sending emails and accessing email content from Gmail accounts, with capabilities for reading recent emails and sending messages through a secure connection.
Provides access to Linear's project management features, allowing users to view users and their assigned projects with support for filtering options.
Allows fetching and displaying QuickBooks financial data, particularly invoices, with features for searching, sorting, and pagination.
Provides access to Shopify store data, allowing users to retrieve product information and perform e-commerce operations through the Shopify platform.
Enables sending messages to Slack channels, supporting multi-channel messaging, message scheduling, and direct message execution to specific channels.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@picaget my last 5 emails from Gmail"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
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 initpica 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/mcpThen set the required environment variable:
PICA_SECRET=your-pica-secret-keyOptional: 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=userVariable | Description | Values |
| The identifier for the entity (e.g., user ID, team ID) | Any string |
| The type of identity |
|
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=trueVariable | Type | Default | Description |
|
|
| Filter actions by HTTP method. |
|
|
| Restrict visible connections and platforms to specific connection keys |
|
|
| Restrict visible and executable actions to specific action IDs |
|
|
| Remove the |
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/mcpClaude 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-serverAll 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 toolsexecute_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.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action object with ID, path, and method | |
| connectionKey | Yes | Key of the connection to use | |
| data | No | Request data (for POST, PUT, etc.) | |
| headers | No | Additional headers | |
| isFormData | No | Whether to send data as multipart/form-data | |
| isFormUrlEncoded | No | Whether to send data as application/x-www-form-urlencoded | |
| pathVariables | No | Variables to replace in the path | |
| platform | Yes | Platform name | |
| queryParams | No | Query parameters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes critical behavioral traits: it specifies the tool's role in executing operations on third-party platforms, outlines a mandatory prerequisite workflow (calling get_pica_action_knowledge first), and provides guidance on intent confirmation. However, it lacks details on potential side effects, error handling, or response formats, which would be valuable for a tool with 9 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose and immediately following with critical usage rules. Every sentence earns its place by providing essential guidance. However, it could be slightly more concise by integrating some clauses, and the structure, while clear, isn't perfectly streamlined (e.g., the 'CRITICAL' and 'REQUIRED WORKFLOW' sections are somewhat repetitive in emphasis).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no output schema, no annotations), the description does a good job of covering usage context, prerequisites, and intent differentiation. It compensates for the lack of annotations by specifying behavioral constraints. However, it doesn't address potential outcomes, error scenarios, or examples of successful execution, which would help an agent understand what to expect after invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description does not add any specific parameter semantics beyond what the schema provides—it doesn't explain how parameters like 'action', 'connectionKey', or 'data' should be derived or used in practice. The baseline score of 3 is appropriate since the schema does the heavy lifting, but the description doesn't enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 specifies the verb ('execute') and resource ('Pica action'), and distinguishes it from siblings by contrasting execution with building/creating code/forms/applications, which should use get_pica_action_knowledge instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidelines: it states when to use ('when the user's intent is to EXECUTE an action'), when not to use ('DO NOT call this when the user wants to BUILD or CREATE'), and names an alternative ('get_pica_action_knowledge'). It also specifies a required workflow ('Must call get_pica_action_knowledge first') and advises on uncertainty handling ('ask for confirmation before proceeding').
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.
| Name | Required | Description | Default |
|---|---|---|---|
| action_id | Yes | The 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. | |
| platform | Yes | The 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
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 effectively discloses that this tool loads documentation into context (a behavioral trait), is mandatory before execution (a prerequisite), and helps understand requirements and caveats. However, it doesn't mention potential limitations like rate limits, error handling, or whether it's idempotent, leaving some behavioral aspects unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences: the first states the purpose and scope, the second provides mandatory usage guidelines. Every phrase adds value—there's no redundancy, and critical information (the 'MUST' directive) is front-loaded for immediate visibility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (pre-execution documentation loading with 2 required parameters) and lack of annotations/output schema, the description is largely complete. It covers purpose, mandatory usage, parameter sources, and workflow context. However, it doesn't describe the return format or what 'comprehensive documentation' entails, leaving some ambiguity about the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing detailed descriptions for both parameters. The description adds minimal value beyond the schema by reinforcing that action_id comes from get_pica_platform_actions and platform from list_pica_integrations, but doesn't explain parameter interactions or provide additional semantic context. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'comprehensive documentation for a specific action', specifying it includes parameters, requirements, and usage examples. It explicitly distinguishes from sibling tools by naming execute_pica_action as a tool that must be called after this one, and references get_pica_platform_actions and list_pica_integrations as sources for required parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool: 'MUST call this tool before execute_pica_action' and 'required for successful execution.' It also specifies alternatives by referencing that action_id comes from get_pica_platform_actions and platform from list_pica_integrations, creating clear workflow dependencies.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | The 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
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that this tool 'shows you what actions are available for that platform's API,' which implies a read-only operation, but doesn't explicitly state whether it's safe, whether it requires authentication, or what the return format looks like. It adds some context about the platform name format but lacks details on rate limits, error handling, or response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in three sentences: the first states the purpose, the second provides usage guidelines and prerequisites, and the third adds context about parameter format and outcome. Every sentence earns its place with no wasted words, making it front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is mostly complete. It covers purpose, usage, and parameter context well. However, it lacks details on behavioral aspects like response format or error handling, which would be helpful since there's no output schema. This minor gap prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents the single 'platform' parameter. The description adds marginal value by reiterating the need for 'exact kebab-case platform name from the integrations list' and linking it to list_pica_integrations, but doesn't provide additional syntax or format details beyond what the schema states. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'all available actions for a specific platform', making the purpose explicit. It distinguishes from siblings by specifying this is for discovering what actions are possible, unlike execute_pica_action (executes actions), get_pica_action_knowledge (gets knowledge about actions), and list_pica_integrations (lists integrations).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool: 'Call this after list_pica_integrations to discover what actions are possible on a platform.' It also specifies an alternative (list_pica_integrations) and gives clear prerequisites, making it highly actionable for an agent.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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. Dates show when Glama detected each change.
4 tool updates
v1.0.0- First observed
execute_pica_action - First observed
get_pica_action_knowledge - First observed
get_pica_platform_actions - First observed
list_pica_integrations
TDQS
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.
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.
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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect AI agents to 1000+ apps with managed authentication and tool-calling.
Connect your business apps to your MCP compatible AI in 1 click
Connect to 1,400+ apps and 15,000+ actions through one OAuth-protected MCP server.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Related MCP Servers
AlicenseBqualityDmaintenanceProvides Claude with access to Pinata's API, allowing it to interact with both Public and Private IPFS for file uploading, searching, organization, and content retrieval.35216MIT- AlicenseBqualityCmaintenanceTransforms 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.672021Apache 2.0
- FlicenseNot gradedqualityDmaintenanceImplements a Multi-Channel Platform Server that integrates with existing Enterprise Application Integration services, providing tools and endpoints to securely fetch network reports and access management features.-
- AlicenseBqualityCmaintenanceEnables integration with the Ethora platform through user authentication, registration, and application management operations. Supports creating, updating, deleting, and listing applications within the Ethora service.121006MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/withoneai/pica-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server