
How to add Membrane MCP Server to Cursor
Expose actions from your connected Membrane integrations to AI agents as MCP tools. Paste the config into ~/.cursor/mcp.json and restart Cursor.
Last updated June 14, 2026 · 38★ · http · apikey
Cursor config for Membrane MCP Server
git clone https://github.com/membranehq/mcp-server.git{
"mcpServers": {
"membrane-mcp-server": {
"url": "https://<HOSTED_MCP_SERVER_URL>/sse?token={ACCESS_TOKEN}",
"type": "streamable-http"
}
}
}Remote server — no local install needed. Restart the client after saving the config.
Setup steps
- 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
- 2Paste the Membrane MCP Server config below into the "mcpServers" object.
- 3Fill in placeholder secrets, then save.
- 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
- 5Ask Cursor to use one of Membrane MCP Server's tools to confirm it's connected.
Before you start
- Node.js v18 or higher
- A Membrane account (getmembrane.com)
- A Membrane access token for authentication
- At least one integration connected on Membrane to expose its actions as tools
- A self-hosted/deployed instance of the server (HOSTED_MCP_SERVER_URL)
What Membrane MCP Server can do in Cursor
enable-toolsAvailable in dynamic mode (?mode=dynamic). The only tool returned in dynamic mode; call it with a list of tool names (e.g. ['gmail-send-email', 'gmail-read-email']) to selectively enable the specific integration actions you want available for that session.
<integration>-<action> (e.g. gmail-send-email, gmail-read-email)In static mode the server dynamically returns one tool per action of every connected Membrane integration. The exact set of tools depends on which integrations the authenticated token has active connections for; tools can be scoped to specific apps with the ?apps= query parameter.
Security
Authentication uses a Membrane access token, passed either as a `token` query parameter or via an `Authorization: Bearer` header. The Cursor and Claude Desktop config examples embed the token directly in the connection URL (`/sse?token={ACCESS_TOKEN}`), so treat that config file as a secret. The SSE transport is deprecated as of the November 5, 2024 MCP spec; prefer the Streamable HTTP `/mcp` endpoint for new setups. The server is self-hosted, so you control where the `HOSTED_MCP_SERVER_URL` instance runs.
Membrane MCP Server + Cursor FAQ
Where is the Cursor config file?
Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the Membrane MCP Server config there under the "mcpServers" key and restart the client.
Is Membrane MCP Server safe to use with Cursor?
Authentication uses a Membrane access token, passed either as a `token` query parameter or via an `Authorization: Bearer` header. The Cursor and Claude Desktop config examples embed the token directly in the connection URL (`/sse?token={ACCESS_TOKEN}`), so treat that config file as a secret. The SSE transport is deprecated as of the November 5, 2024 MCP spec; prefer the Streamable HTTP `/mcp` endpoint for new setups. The server is self-hosted, so you control where the `HOSTED_MCP_SERVER_URL` instance runs.
Is there a hosted version, or do I have to run it myself?
The README documents self-hosting: clone the repo, run npm install/build, and deploy your own instance to any cloud host (a Dockerfile is included). You then point clients at your own HOSTED_MCP_SERVER_URL.
Which transport should I use?
Streamable HTTP at the /mcp endpoint is recommended and supports bidirectional streaming. The SSE transport at /sse is deprecated as of the November 5, 2024 MCP spec, though the Cursor and Claude Desktop config examples in the README still use the /sse URL.
What is the difference between static and dynamic mode?
Static mode (the default) returns all available tools for every connected integration. Dynamic mode (?mode=dynamic) returns only the enable-tools tool, which you call to selectively enable the specific tools needed for that session.