Integration App MCP Server
chính thứcTương tác với bất kỳ ứng dụng SaaS nào khác thay mặt cho khách hàng của bạn.
Tài liệu
Membrane MCP Server
Membrane MCP Server là một máy chủ Model Context Protocol (MCP), nó cung cấp các hành động cho các tích hợp được kết nối trên Membrane dưới dạng công cụ.
Đây là Ví dụ AI Agent chính thức của chúng tôi, hướng dẫn bạn cách sử dụng máy chủ MCP này trong ứng dụng của mình.
📋 Điều kiện tiên quyết
- Node.js (v18 trở lên)
- Tài khoản Membrane
⚙️ Cài đặt
git clone https://github.com/membranehq/mcp-server.git
cd mcp-server
npm install
npm run build
🛠️ Phát triển cục bộ
Để chạy máy chủ phát triển cục bộ, khởi động nó bằng:
npm run dev
Máy chủ sẽ hoạt động tại http://localhost:3000 ⚡️
🧪 Chạy kiểm thử
# Run the server in test mode
npm run start:test
# then run tests
npm test
🚀 Triển khai
Triển khai phiên bản riêng của máy chủ MCP này lên bất kỳ dịch vụ lưu trữ đám mây nào bạn chọn.
🐳 Docker
Dự án bao gồm một Dockerfile để triển khai container hóa dễ dàng.
docker build -t membrane-mcp-server .
docker run -p 3000:3000 membrane-mcp-server
🔗 Kết nối đến máy chủ MCP
Máy chủ MCP này hỗ trợ hai phương thức truyền tải:
| Phương thức truyền tải | Điểm cuối | Trạng thái |
|---|---|---|
| SSE (Server‑Sent Events) | /sse | 🔴 Không dùng nữa — không dùng nữa kể từ ngày 5 tháng 11 năm 2024 trong đặc tả MCP |
| HTTP (Streamable HTTP) | /mcp | 🟢 Khuyến nghị — thay thế SSE và hỗ trợ truyền phát hai chiều |
🔐 Xác thực
Cung cấp mã thông báo truy cập Membrane qua truy vấn hoặc tiêu đề Authorization:
?token=ACCESS_TOKEN
Authorization: Bearer ACCESS_TOKEN
SSE (Không dùng nữa)
await client.connect(
new SSEClientTransport(
new URL(
`https://<HOSTED_MCP_SERVER_URL>/sse`
)
{
requestInit: {
headers: {
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
},
}
)
);
Streamable HTTP (Khuyến nghị)
await client.connect(
new StreamableHTTPClientTransport(
new URL(`https://<HOSTED_MCP_SERVER_URL>/mcp`)
{
requestInit: {
headers: {
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
},
}
)
);
⚡ Chế độ Tĩnh và Động
Theo mặc định, máy chủ MCP chạy ở chế độ tĩnh, nghĩa là nó trả về tất cả các công cụ khả dụng (hành động) cho tất cả các tích hợp được kết nối.
Với chế độ động (?mode=dynamic), máy chủ sẽ chỉ trả về một công cụ: enable-tools. Bạn có thể sử dụng công cụ này để bật có chọn lọc các công cụ bạn thực sự cần cho phiên đó.
Trong chế độ động, việc triển khai của bạn nên xác định những công cụ nào phù hợp nhất với truy vấn của người dùng. Khi bạn đã xác định được chúng, hãy nhắc LLM gọi công cụ enable-tools với danh sách thích hợp.
Bạn muốn xem cách thức hoạt động trong thực tế? Hãy xem Ví dụ AI Agent của chúng tôi.
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'],
},
});
🔧 Lấy công cụ cho các tích hợp cụ thể
Trong chế độ tĩnh, máy chủ MCP lấy công cụ từ tất cả các kết nối đang hoạt động liên kết với mã thông báo được cung cấp.
Bạn có thể chọn chỉ lấy công cụ cho một tích hợp cụ thể bằng cách truyền tham số truy vấn apps: /mcp?apps=google-calendar,google-docs
💬 Quản lý Phiên Trò chuyện (Thử nghiệm)
Máy chủ MCP (chỉ phương thức truyền tải streamable-http) hỗ trợ các phiên trò chuyện liên tục. Bao gồm tiêu đề x-chat-id trong các yêu cầu của bạn để tự động theo dõi phiên cho cuộc trò chuyện cụ thể đó. Đây là tính năng thử nghiệm mà chúng tôi cung cấp bổ sung cho các phiên MCP tiêu chuẩn.
Bắt đầu phiên trò chuyện mới:
POST /mcp
Authorization: Bearer YOUR_ACCESS_TOKEN
x-chat-id: my-awesome-chat-123
Truy xuất các phiên trò chuyện của bạn:
GET /mcp/sessions
Authorization: Bearer YOUR_ACCESS_TOKEN
Phản hồi:
{
"my-awesome-chat-123": "session-uuid-1",
"another-chat-456": "session-uuid-2"
}
Tính năng này cho phép bạn sử dụng cùng một phiên cho một cuộc hội thoại. Hãy xem Ví dụ AI Agent của chúng tôi để biết cách thức hoạt động trong thực tế.
Cấu hình các máy khách MCP khác
📝 Cursor
Để sử dụng máy chủ này với Cursor, cập nhật tệp ~/.cursor/mcp.json:
{
"mcpServers": {
"membrane": {
"url": "https://<HOSTED_MCP_SERVER_URL>/sse?token={ACCESS_TOKEN}"
}
}
}
Khởi động lại Cursor để các thay đổi có hiệu lực.
🤖 Claude Desktop
Để sử dụng máy chủ này với Claude, cập nhật tệp cấu hình (Cài đặt > Nhà phát triển > Chỉnh sửa Cấu hình):
{
"mcpServers": {
"membrane": {
"url": "https://<HOSTED_MCP_SERVER_URL>/sse?token={ACCESS_TOKEN}"
}
}
}
🔧 Khắc phục sự cố
- Đảm bảo mã thông báo truy cập của bạn hợp lệ và bạn đang tạo nó theo các hướng dẫn này
- Kiểm tra nhật ký máy chủ MCP để tìm bất kỳ lỗi hoặc vấn đề nào trong quá trình khởi động hoặc nỗ lực kết nối.
- Sử dụng MCP Inspector để kiểm thử và gỡ lỗi