Pica MCP Server

Pica MCP Server

Integrates with the Pica API platform to enable seamless interaction with various third-party services through a standardized interface.

Category
Visit Server

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:

  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.

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 connections
  • availablePicaConnectors: 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 ID
  • connectionKey (string, required): Connection key
  • method (string, required): HTTP method
  • path (string, required): API path
  • data (object, optional): Request body
  • pathVariables (object, optional): Path variables
  • 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

Returns:

  • result: API response data
  • requestConfig: Request configuration details

generate_action_config_knowledge

Generate request configuration for code generation.

Parameters:

  • platform (string, required): Platform name
  • action (object, required): Action object with _id and path
  • method (string, required): HTTP method
  • connectionKey (string, required): Connection key
  • data (object, optional): Request body
  • pathVariables (object, optional): Path variables
  • 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

Returns:

  • requestConfig: Complete request configuration
  • typeScriptCode: Example TypeScript code

Resources

Resources can be read using the MCP resource protocol:

  • pica-platform://{platform} - List of actions for a platform
  • pica-connection://{platform}/{key} - Connection details
  • pica-action://{actionId} - Detailed action information

Prompts

create-api-integration

Generate code for API integrations.

Arguments:

  • platform (string, required): Target platform
  • action (string, required): Action to perform
  • language (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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured