使用说明
膜MCP服务器
膜MCP服务器是 模型上下文协议(MCP) 服务器,它作为工具为Membrane上的连接集成提供操作。
这是我们的官员 AI代理示例 它向您展示了如何在应用程序中使用此MCP服务器。
📋 先决条件
- Node.js(v18或更高版本)
- A. 膜 账户
⚙️ 安装
git clone https://github.com/membranehq/mcp-server.git
cd mcp-server
npm install
npm run build
🛠️ 本地开发
要在本地运行开发服务器,请使用以下命令启动:
npm run dev
服务器将在 http://localhost:3000 ⚡️
🧪 运行测试
# Run the server in test mode
npm run start:test
# then run tests
npm test
🚀 部署
将您自己的此MCP服务器实例部署到您选择的任何云托管服务。
🐳 码头工人
该项目包括一个Dockerfile,便于容器化部署。
docker build -t membrane-mcp-server .
docker run -p 3000:3000 membrane-mcp-server
🔗 连接到MCP服务器
此MCP服务器支持两种传输方式:
| 传输 | 端点 | 状态 |
|---|---|---|
| 上海证券交易所 (服务器发送的事件) | /sse |
🔴 已弃用 --自2024年11月5日起,MCP规范中已弃用 |
| 超文本传输协议 (流式HTTP) | /mcp |
🟢 推荐 --取代SSE,支持双向流媒体 |
🔐 认证
提供a 薄膜接入令牌 通过查询或 Authorization 头球
?token=ACCESS_TOKEN
Authorization: Bearer ACCESS_TOKEN
上海证券交易所 (已弃用)
await client.connect(
new SSEClientTransport(
new URL(
`https://<HOSTED_MCP_SERVER_URL>/sse`
)
{
requestInit: {
headers: {
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
},
}
)
);
可流式传输的HTTP (推荐)
await client.connect(
new StreamableHTTPClientTransport(
new URL(`https://<HOSTED_MCP_SERVER_URL>/mcp`)
{
requestInit: {
headers: {
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
},
}
)
);
⚡ 静态与动态模式
默认情况下,MCP服务器在 静态模式,这意味着它会返回 所有可用工具 (操作)用于所有连接的集成。
随着 动态模式 (?mode=dynamic),服务器只会返回 一个工具: enable-tools。您可以使用此工具选择性地启用该会话实际需要的工具。
在动态模式下,您的实现应该找出哪些工具与用户的查询最相关。一旦你识别出它们,提示LLM调用 enable-tools 工具与相应的列表。
想看看这在实践中是如何运作的吗?查看我们的 AI代理示例.
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
const client = new Client({
name: 'example-membrane-mcp-client',
version: '1.0.0',
});
const transport = new StreamableHTTPClientTransport(
new URL(`https://<HOSTED_MCP_SERVER_URL>/mcp?mode=dynamic`),
{
requestInit: {
headers: {
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
},
}
);
await client.connect(transport);
await client.callTool({
name: 'enable-tools',
arguments: {
tools: ['gmail-send-email', 'gmail-read-email'],
},
});
🔧 获取特定集成的工具
在静态模式下,MCP服务器从与所提供令牌关联的所有活动连接中获取工具。
您可以通过传递以下命令来选择仅获取特定集成的工具 apps 查询参数: /mcp?apps=google-calendar,google-docs
💬 聊天会话管理(实验)
MCP服务器(仅支持流式http传输)支持持久聊天会话。包括 x-chat-id 在您的请求中添加标头,以自动跟踪该特定聊天的会话。这是我们在标准MCP会话之外提供的实验功能。
开始新的聊天会话:
POST /mcp
Authorization: Bearer YOUR_ACCESS_TOKEN
x-chat-id: my-awesome-chat-123
正在检索您的聊天会话:
GET /mcp/sessions
Authorization: Bearer YOUR_ACCESS_TOKEN
答复:
{
"my-awesome-chat-123": "session-uuid-1",
"another-chat-456": "session-uuid-2"
}
此功能允许您使用同一会话进行对话。查看我们的 AI代理示例 看看这在实践中是如何运作的。
配置其他MCP客户端
📝 光标
要将此服务器与Cursor一起使用,请更新 ~/.cursor/mcp.json 文件:
{
"mcpServers": {
"membrane": {
"url": "https://<HOSTED_MCP_SERVER_URL>/sse?token={ACCESS_TOKEN}"
}
}
}
重新启动Cursor以使更改生效。
🤖 克劳德桌面版
要将此服务器与Claude一起使用,请更新配置文件(设置>开发人员>编辑配置):
{
"mcpServers": {
"membrane": {
"url": "https://<HOSTED_MCP_SERVER_URL>/sse?token={ACCESS_TOKEN}"
}
}
}