Pica MCP Server
Allows sending and reading emails, and retrieving recent messages via Gmail.
Allows managing Linear users, projects, and issues.
Allows fetching and displaying QuickBooks invoices and financial data.
Allows retrieving products and managing Shopify store data.
Allows sending messages to Slack channels and integrating with Slack workspaces.
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., "@Pica MCP Serverget 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
get_pica_platform_actions - Get 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: anyapi-mcp-server
Key Capabilities
🔌 Platform Integration
Connect to 100+ 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_KEYSanitized 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/mcpSetup
PICA_SECRET=your-pica-secret-keyGet your Pica secret key from the Pica dashboard.
Usage
As a Standalone Server
npx @picahq/mcpIn 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"
}
}
}
}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"
}
}
}
}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 pica-mcp-serverInstalling via Smithery
To install pica for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @picahq/mcp --client claudeDeploy 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/mcpFor 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:
Connected integrations grouped by platform
Available platforms with descriptions
Summary statistics
Management links
get_pica_platform_actions
Get all available actions for a specific platform.
Parameters:
platform(string, required): Platform name in kebab-case format (e.g., 'ship-station', 'shopify')
Returns:
List of available actions with IDs and titles
Platform-specific action count
Next steps guidance
get_pica_action_knowledge
Get comprehensive documentation for a specific action. Must be called before execute_pica_action to understand requirements.
Parameters:
action_id(string, required): Action ID from get_pica_platform_actionsplatform(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 nameaction(object, required): Action object with_id,path, andmethodconnectionKey(string, required): Connection key for the platformdata(object, optional): Request body datapathVariables(object, optional): Variables to replace in the pathqueryParams(object, optional): Query parametersheaders(object, optional): Additional headersisFormData(boolean, optional): Send as multipart/form-dataisFormUrlEncoded(boolean, optional): Send as URL-encoded form data
Returns:
requestConfig: Sanitized request configurationresponseData: 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
🔐 Single environment variable required:
PICA_SECRET🛡️ 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
GPL-3.0
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 |
|---|---|---|---|
| platform | Yes | Platform name | |
| 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.) | |
| pathVariables | No | Variables to replace in the path | |
| queryParams | No | Query parameters | |
| 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 |
TDQS
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.
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.
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.
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.
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.
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.
| 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 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.
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.
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.
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.
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.
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.
| 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?
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses return format (kebab-case platform names) and mentions it returns connections. Could be more detailed about what 'connections' entail, but adequate for a read-only list operation.
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 no fluff. Essential information front-loaded with key instruction first, then detail on output format and purpose. Every sentence earns its place.
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 no output schema, description adequately explains what is returned and its format. Provides context on why this tool is necessary for other tools. Loses a point for not specifying whether the output includes metadata beyond names, but still sufficient.
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?
No parameters, schema coverage 100%. Description adds value by explaining the return format and usage of the output (platform names in kebab-case), which is helpful for subsequent tool invocation.
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?
Description clearly states 'List all available Pica integrations and platforms' with a specific verb and resource. It distinguishes itself from siblings (execute_pica_action, get_pica_action_knowledge, get_pica_platform_actions) by being the initial discovery tool.
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 says 'ALWAYS call this tool first in any workflow' and explains why (to discover platforms and connections needed for subsequent calls). Provides clear context for when to use vs alternatives.
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 distinct purpose in a clearly defined workflow: listing integrations, fetching platform actions, retrieving action documentation, and executing the action. There is no overlap or ambiguity.
All tool names follow a consistent verb_noun pattern with snake_case (list_pica_integrations, get_pica_platform_actions, get_pica_action_knowledge, execute_pica_action). The verbs are action-oriented and match the tool's function.
With 4 tools, the server is lean but covers the essential steps for discovering and executing actions on third-party platforms. Each tool earns its place; the number is appropriate for the scope.
The toolset provides a complete workflow: discover available integrations, explore platform actions, get detailed action knowledge, and execute the action. There are no obvious gaps or dead ends for the stated purpose.
Maintenance
Related MCP Connectors
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Discover and call 10,000+ production APIs from one MCP server. Pay-per-call billing for AI agents.
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseCqualityDmaintenanceAggregates multiple third-party APIs into unified MCP tools, providing out-of-the-box access to 10 popular services including OpenWeather, Google Maps, GitHub, Notion, Spotify, and more. Enables users to interact with weather data, search places, manage repositories, create content, and access various web services through a single MCP server.34MIT
- AlicenseNot gradedqualityDmaintenanceA universal MCP server that connects any REST API to AI assistants via OpenAPI or Postman specifications. It enables dynamic tool creation with GraphQL-style field selection and automatic schema inference for efficient data retrieval.136-

Spica MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceMCP server that enables AI agents to interact with Spica servers, managing databases, serverless functions, storage, authentication, auditing, debugging, and version control.17ISC- AlicenseNot gradedqualityCmaintenanceMCP server that bridges AI agents with external tools, APIs, databases, and services, enabling standardized tool execution and resource access.MIT
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/mcp-research/picahq__mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server