An open API service indexing awesome lists of open source software.

https://github.com/mesheshq/meshes-mcp-server

MCP server for Meshes — emit events, manage workspaces, create rules, and inspect deliveries from any MCP-compatible client.
https://github.com/mesheshq/meshes-mcp-server

ai-tools claude-code cursor event-routing integrations mcp mcp-server meshes model-context-protocol typescript webhooks

Last synced: about 2 months ago
JSON representation

MCP server for Meshes — emit events, manage workspaces, create rules, and inspect deliveries from any MCP-compatible client.

Awesome Lists containing this project

README

          

# @mesheshq/mcp-server

[![Tests](https://github.com/mesheshq/meshes-mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/mesheshq/meshes-mcp-server/actions/workflows/ci.yml)
[![NPM Version][npm-version-image]][npm-url]
[![NPM Install Size][npm-install-size-image]][npm-install-size-url]

MCP server for [Meshes](https://meshes.io) — emit events, manage workspaces,
create routing rules, and inspect deliveries from any MCP-compatible client.

## Features

- **Emit Events** — send product events (signups, payments, cancellations) to Meshes
- **Manage Workspaces** — list and configure workspaces
- **Workspace Discovery** — inspect available workspace event types and resources
- **Routing Rules** — create and update event routing rules
- **Connections** — manage integration connections (HubSpot, Salesforce, Slack, Mailchimp, etc.)
- **Delivery Status** — inspect event delivery logs and retry status
- **Embedded Sessions** — mint, list, refresh, and revoke workspace, dashboard, or resource-scoped sessions

## Setup

Create a free Meshes account and create Machine Keys in the dashboard
under Profile → API Keys.

### Claude Code

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

### Cursor

Open Cursor Settings → MCP → Add new global MCP server:

```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

Open Claude Desktop → Settings → Developer → Edit 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"
}
}
}
}
```

### Windsurf

Add to your Windsurf MCP configuration:

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

> **Security note:** MCP config files contain your secret key. They
> live in your home directory (e.g. `~/.cursor/mcp.json`), not your
> project repo. Never commit access keys or secret keys to version control.

## Environment Variables

| Variable | Required | Description |
| ------------------------ | -------- | ----------------------------------------------- |
| `MESHES_ACCESS_KEY` | Yes | Machine access key from dashboard |
| `MESHES_SECRET_KEY` | Yes | Machine secret key from dashboard |
| `MESHES_ORG_ID` | Yes\* | Organization UUID |
| `MESHES_ORGANIZATION_ID` | Yes\* | Alias for `MESHES_ORG_ID` (SDK-compatible name) |
| `MESHES_API_URL` | No | API base URL (default: `https://api.meshes.io`) |

\* Set either `MESHES_ORG_ID` or `MESHES_ORGANIZATION_ID`.

## Available Tools

| Tool | Description |
| ---------------------------------------- | -------------------------------------------------------------- |
| `meshes_emit_event` | Emit a product event to Meshes for routing and delivery |
| `meshes_emit_bulk_events` | Emit up to 100 events in a single request |
| `meshes_list_workspaces` | List all workspaces in the multi-tenant organization |
| `meshes_get_workspace` | Get details of a specific workspace |
| `meshes_create_workspace` | Create a new workspace |
| `meshes_update_workspace` | Update workspace properties |
| `meshes_get_workspace_connections` | List connections scoped to a workspace |
| `meshes_get_workspace_event_types` | List event types configured for a workspace |
| `meshes_get_workspace_resources` | List resources configured for a workspace |
| `meshes_get_workspace_rules` | List workspace rules with optional event/resource filters |
| `meshes_list_connections` | List connections across the organization |
| `meshes_get_connection` | Get details of a connection |
| `meshes_create_connection` | Create a new connection destination |
| `meshes_update_connection` | Update connection configuration metadata |
| `meshes_delete_connection` | Delete a connection |
| `meshes_get_connection_actions` | Get available actions (destination endpoints) for a connection |
| `meshes_get_connection_fields` | Get destination field configuration for mappings |
| `meshes_get_connection_default_mappings` | Get default mappings for a connection |
| `meshes_update_connection_default_mappings` | Update default mappings for a connection |
| `meshes_list_rules` | List all routing rules |
| `meshes_get_rule` | Get details of a specific routing rule |
| `meshes_create_rule` | Create an event routing rule mapping events to an action |
| `meshes_delete_rule` | Delete an event routing rule |
| `meshes_list_events` | List events across the organization with pagination |
| `meshes_get_workspace_events` | List events for a workspace with filtered criteria |
| `meshes_get_event` | Get event details with delivery status matrix |
| `meshes_get_event_payload` | Get event details containing data payload |
| `meshes_retry_event_rule` | Retry a failed rule delivery |
| `meshes_list_integrations` | Get metadata about all supported integration types |
| `meshes_create_session` | Mint a workspace, dashboard, or resource-scoped embed session |
| `meshes_list_sessions` | List embedded sessions for a workspace with optional filters |
| `meshes_refresh_session` | Refresh an existing session token |
| `meshes_revoke_session` | Revoke an embedded session |

## Development

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

## What is Meshes?

[Meshes](https://meshes.io) is a universal integration layer for SaaS
applications. Emit product events once — signups, payments, form
submissions — and Meshes routes them to CRMs, email tools, webhooks,
and more with retries, fan-out, field mappings, and multi-tenant
isolation built in.

## Documentation

- [Meshes Docs](https://meshes.io/docs)
- [API Reference](https://docs.meshes.dev)
- [MCP Server Docs](https://meshes.io/docs/ai/mcp-server)
- [Authentication](https://meshes.io/docs/api/authentication)

## License

MIT

[npm-install-size-image]: https://badgen.net/packagephobia/publish/@mesheshq/mcp-server?cache=200
[npm-install-size-url]: https://packagephobia.com/result?p=%40mesheshq%2Fmcp-server
[npm-url]: https://www.npmjs.com/package/@mesheshq/mcp-server
[npm-version-image]: https://badgen.net/npm/v/@mesheshq/mcp-server?cache=200