LABSCO SUMMARY
Dynamic mode is the answer to too many tools: the agent turns on what it needs.
Because the tool set is every action across all your connected integrations, static mode can be large. Dynamic mode inverts that — the server returns only enable-tools, and the agent enables the specific actions relevant to the query. Scoping by the apps parameter is the simpler lever when you already know you only want, say, Google Calendar and Docs.
What it is
The Membrane MCP server: it turns the actions of integrations connected on Membrane into tools an agent can call, over HTTP or SSE.
What you get
- Tools for the actions of every integration connected under your Membrane token
- Static mode returns all available tools; dynamic mode (?mode=dynamic) returns one tool, enable-tools, to switch on just the ones a session needs
- Scoping to specific integrations with the apps query parameter, e.g. ?apps=google-calendar,google-docs
- Streamable HTTP at /mcp is the recommended transport; SSE at /sse is supported but deprecated
- Experimental persistent chat sessions via an x-chat-id header
Requirements
Node.js v18 or higher and a Membrane account. Provide a Membrane access token by query parameter or the Authorization header. Clone, npm install and npm run build to run locally at http://localhost:3000, or deploy the included Dockerfile. Which tools appear depends on which integrations are connected under the token.
Setup effort
Build from source — git clone https://github.com/membranehq/mcp-server.git
USE CASES
01
Giving an agent access to your connected apps
Point it at the Membrane server with your token; the actions of your connected integrations arrive as tools.
02
Keeping the tool count under a client's limit
Use dynamic mode so the agent enables only the tools a session needs.
03
Restricting a session to a couple of integrations
Pass the apps parameter to expose only, say, Google Calendar and Docs.
04
Running it as a shared remote server
Deploy the Docker image and connect clients over streamable HTTP with a bearer token.
BEFORE YOU INSTALL
What to know first
Requires
- Node.js 18+
- A client that can reach a remote MCP server over HTTP
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
TERMINAL
git clone https://github.com/membranehq/mcp-server.git
cd mcp-server
npm install
npm run build
npm run devMCP Clients
Cursor
Start the server first with the steps above — it listens on http://localhost:3000. <YOUR_TOKEN> is a Membrane access token (docs.getmembrane.com/docs/authentication#access-token). Add &mode=dynamic to expose only enable-tools, or &apps=google-calendar,google-docs to limit the integrations:
CURSOR · JSON
{
"mcpServers": {
"membrane": {
"url": "http://localhost:3000/mcp?token=<YOUR_TOKEN>"
}
}
}