• Blog
  • Agents
  • Compare
  • Documentation
  • Pricing
  • FAQ
  • Contact
Sign InSign Up

A single, reliable layer for all your product's integrations - rules, routing, retries, and fan-out included.

© Copyright 2026 Meshes, Inc. All Rights Reserved.

About
  • Blog
  • Contact
  • FAQ
Product
  • Compare
  • Pricing
  • Status
Developers
  • Documentation
  • Agents
  • API Reference
  • MCP Server
  • llms.txt
Legal
  • Terms of Service
  • Privacy Policy
  • Acceptable Use Policy
  • Cookie Policy
  • Getting Started
    • What is Meshes?
    • Core Concepts
    • Quickstart
    • API Overview
  • AI Tools
    • Cursor Rules
    • MCP Server
    • LLMs Docs
  • API Documentation
    • API Reference
    • Authentication
    • Results
    • Rate Limiting
    • SDKs
    • Integrations & Rules
  • Events
    • Publishable Keys
    • Send Events
    • Bulk Event Ingestion
  • Integrations
    • HubSpot
    • Intercom
    • Salesforce
    • Zoom

MCP Server

Model Context Protocol server for Meshes. Gives AI coding agents like Claude Code, Cursor, and Windsurf direct tool access to emit events, manage workspaces, create rules, and debug deliveries.

The Meshes MCP server implements the Model Context Protocol to give AI coding agents direct access to the Meshes API. Instead of your agent guessing at endpoints, it gets 25 typed tools that cover every Meshes operation.

This works with any MCP-compatible client: Claude Code, Claude Desktop, Cursor, Windsurf, and others.

Installation

The MCP server is available as a standalone repository: mesheshq/meshes-mcp-server.

Quick start (recommended)

Run directly with npx:

npx -y @mesheshq/mcp-server

Run from source

git clone https://github.com/mesheshq/meshes-mcp-server.git
cd meshes-mcp-server
npm install
npm run build

Configuration

The server needs your Meshes machine key credentials to authenticate. It automatically mints short-lived JWTs for each API request — you never need to generate tokens manually.

See Authentication for details on how Meshes auth works and where to find your credentials.

You'll need three values from your Meshes dashboard (Settings > Machine Keys):

export MESHES_ACCESS_KEY=your_access_key
export MESHES_SECRET_KEY=your_secret_key
export MESHES_ORG_ID=your_organization_uuid

Cursor

Security note: These config files contain your secret key. They live in your home directory (not your project repo), so they won't be accidentally committed. Never commit access keys or secret keys to version control. Publishable keys are safe to commit.

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "meshes": {
      "command": "npx",
      "args": ["-y", "@mesheshq/mcp-server"],
      "env": {
        "MESHES_ACCESS_KEY": "your_access_key",
        "MESHES_SECRET_KEY": "your_secret_key",
        "MESHES_ORG_ID": "your_organization_uuid"
      }
    }
  }
}

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "meshes": {
      "command": "npx",
      "args": ["-y", "@mesheshq/mcp-server"],
      "env": {
        "MESHES_ACCESS_KEY": "your_access_key",
        "MESHES_SECRET_KEY": "your_secret_key",
        "MESHES_ORG_ID": "your_organization_uuid"
      }
    }
  }
}

Claude Code

claude mcp add meshes npx -y @mesheshq/mcp-server \
  -e MESHES_ACCESS_KEY=your_access_key \
  -e MESHES_SECRET_KEY=your_secret_key \
  -e MESHES_ORG_ID=your_organization_uuid

Available tools

The MCP server exposes 25 tools organized by resource type.

Workspaces

ToolMethodDescription
meshes_list_workspacesGET /workspacesList all workspaces
meshes_get_workspaceGET /workspaces/{id}Get workspace details + publishable key
meshes_create_workspacePOST /workspacesCreate a new workspace
meshes_update_workspacePUT /workspaces/{id}Update workspace name/description
meshes_get_workspace_connectionsGET /workspaces/{id}/connectionsList connections in workspace
meshes_get_workspace_rulesGET /workspaces/{id}/rulesList rules in workspace
meshes_get_workspace_eventsGET /workspaces/{id}/eventsList events with filters

Connections

ToolMethodDescription
meshes_list_connectionsGET /connectionsList all connections org-wide
meshes_get_connectionGET /connections/{id}Get connection details
meshes_create_connectionPOST /connectionsCreate a new connection
meshes_update_connectionPUT /connections/{id}Update connection name/metadata
meshes_delete_connectionDELETE /connections/{id}Delete (supports force_delete)
meshes_get_connection_actionsGET /connections/{id}/actionsDiscover available actions
meshes_get_connection_fieldsGET /connections/{id}/fieldsGet field catalog
meshes_get_connection_default_mappingsGET /connections/{id}/mappings/defaultGet field mappings

Rules

ToolMethodDescription
meshes_list_rulesGET /rulesList rules with optional filters
meshes_get_ruleGET /rules/{id}Get rule details
meshes_create_rulePOST /rulesCreate a routing rule
meshes_delete_ruleDELETE /rules/{id}Delete a rule

Events

ToolMethodDescription
meshes_emit_eventPOST /eventsEmit a single event
meshes_emit_bulk_eventsPOST /events/bulkEmit up to 100 events
meshes_list_eventsGET /eventsList events with pagination
meshes_get_eventGET /events/{id}Get event + delivery status
meshes_get_event_payloadGET /events/{id}/payloadGet event + full payload
meshes_retry_event_rulePOST /events/{id}/rules/{rule_id}/retryRetry a failed delivery

Integrations

ToolMethodDescription
meshes_list_integrationsGET /integrationsDiscover all integration types

Example workflows

"Set up a signup event that goes to HubSpot"

The agent will:

  1. Call meshes_list_workspaces to find the right workspace
  2. Call meshes_get_workspace_connections to find the HubSpot connection
  3. Call meshes_get_connection_actions to discover available actions (e.g., create_or_update_contact)
  4. Call meshes_create_rule to bind user.signup → HubSpot → create_or_update_contact

"Why didn't my payment.failed event reach Salesforce?"

The agent will:

  1. Call meshes_get_workspace_events with event=payment.failed and status=failed
  2. Call meshes_get_event to inspect rule_events for error details
  3. Call meshes_get_event_payload to verify the payload was correct
  4. Call meshes_retry_event_rule after you fix the underlying issue

"Emit a test event to verify my setup"

The agent will call meshes_emit_event with a test payload and confirm the event was accepted.

Testing

You can test the MCP server locally with the MCP Inspector:

npx @modelcontextprotocol/inspector npx -y @mesheshq/mcp-server

Also available

  • Cursor Rules: For editors that support project-level rules files — teaches the agent the Meshes API without needing MCP.
  1. Installation
    1. Quick start (recommended)
    2. Run from source
    3. Configuration
    4. Available tools
    5. Example workflows
    6. Testing
    7. Also available