Integration App MCP Server
resmiMüşterileriniz adına diğer tüm SaaS uygulamalarıyla etkileşim kurun.
Dokümantasyon
Membrane MCP Sunucusu
Membrane MCP Sunucusu, bir Model Bağlam Protokolü (MCP) sunucusudur; Membrane üzerindeki bağlı entegrasyonlar için eylemleri araç olarak sunar.
İşte bu MCP sunucusunu uygulamanızda nasıl kullanacağınızı gösteren resmi AI Ajan Örneğimiz.
📋 Ön Koşullar
- Node.js (v18 veya üzeri)
- Bir Membrane hesabı
⚙️ Kurulum
git clone https://github.com/membranehq/mcp-server.git
cd mcp-server
npm install
npm run build
🛠️ Yerel Geliştirme
Geliştirme sunucusunu yerel olarak çalıştırmak için şu komutla başlatın:
npm run dev
Sunucu http://localhost:3000 adresinde canlı olacak ⚡️
🧪 Testleri Çalıştırma
# Run the server in test mode
npm run start:test
# then run tests
npm test
🚀 Dağıtım
Bu MCP sunucusunun kendi örneğinizi istediğiniz herhangi bir bulut barındırma hizmetine dağıtın.
🐳 Docker
Proje, kolay konteynerleştirilmiş dağıtım için bir Dockerfile içerir.
docker build -t membrane-mcp-server .
docker run -p 3000:3000 membrane-mcp-server
🔗 MCP Sunucusuna Bağlanma
Bu MCP sunucusu iki aktarımı destekler:
| Aktarım | Uç Nokta | Durum |
|---|---|---|
| SSE (Sunucu Tarafından Gönderilen Olaylar) | /sse | 🔴 Kullanımdan Kaldırıldı — 5 Kasım 2024 itibarıyla MCP spesifikasyonunda kullanımdan kaldırıldı |
| HTTP (Akışkan HTTP) | /mcp | 🟢 Önerilen — SSE'nin yerini alır ve çift yönlü akışı destekler |
🔐 Kimlik Doğrulama
Sorgu veya Authorization başlığı aracılığıyla bir Membrane erişim belirteci sağlayın:
?token=ACCESS_TOKEN
Authorization: Bearer ACCESS_TOKEN
SSE (Kullanımdan Kaldırıldı)
await client.connect(
new SSEClientTransport(
new URL(
`https://<HOSTED_MCP_SERVER_URL>/sse`
)
{
requestInit: {
headers: {
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
},
}
)
);
Akışkan HTTP (Önerilen)
await client.connect(
new StreamableHTTPClientTransport(
new URL(`https://<HOSTED_MCP_SERVER_URL>/mcp`)
{
requestInit: {
headers: {
Authorization: `Bearer ${ACCESS_TOKEN}`,
},
},
}
)
);
⚡ Statik ve Dinamik Mod
Varsayılan olarak, MCP sunucusu statik modda çalışır; bu, tüm bağlı entegrasyonlar için mevcut tüm araçları (eylemleri) döndürdüğü anlamına gelir.
Dinamik mod (?mode=dynamic) ile sunucu yalnızca bir araç döndürür: enable-tools. Bu aracı, o oturum için gerçekten ihtiyaç duyduğunuz araçları seçici olarak etkinleştirmek için kullanabilirsiniz.
Dinamik modda, uygulamanız kullanıcının sorgusuyla en alakalı araçların hangileri olduğunu belirlemelidir. Bunları belirledikten sonra, LLM'yi uygun listeyle enable-tools aracını çağırması için yönlendirin.
Bunun pratikte nasıl çalıştığını görmek ister misiniz? AI Ajan Örneğimize göz atın.
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'],
},
});
🔧 Belirli Entegrasyonlar İçin Araçları Alma
Statik modda, MCP sunucusu sağlanan belirteçle ilişkili tüm aktif bağlantılardan araçları alır.
Yalnızca belirli bir entegrasyon için araçları almayı seçmek için apps sorgu parametresini iletebilirsiniz: /mcp?apps=google-calendar,google-docs
💬 Sohbet Oturumu Yönetimi (Deneysel)
MCP sunucusu (yalnızca akışkan-http aktarımı) kalıcı sohbet oturumlarını destekler. Belirli bir sohbet için oturumları otomatik olarak izlemek üzere isteklerinize bir x-chat-id başlığı ekleyin. Bu, standart MCP oturumlarına ek olarak sağladığımız deneysel bir özelliktir.
Yeni bir sohbet oturumu başlatma:
POST /mcp
Authorization: Bearer YOUR_ACCESS_TOKEN
x-chat-id: my-awesome-chat-123
Sohbet oturumlarınızı alma:
GET /mcp/sessions
Authorization: Bearer YOUR_ACCESS_TOKEN
Yanıt:
{
"my-awesome-chat-123": "session-uuid-1",
"another-chat-456": "session-uuid-2"
}
Bu özellik, bir konuşma için aynı oturumu kullanmanıza olanak tanır. Bunun pratikte nasıl çalıştığını görmek için AI Ajan Örneğimize göz atın.
Diğer MCP İstemcilerini Yapılandırma
📝 Cursor
Bu sunucuyu Cursor ile kullanmak için ~/.cursor/mcp.json dosyasını güncelleyin:
{
"mcpServers": {
"membrane": {
"url": "https://<HOSTED_MCP_SERVER_URL>/sse?token={ACCESS_TOKEN}"
}
}
}
Değişikliklerin etkili olması için Cursor'u yeniden başlatın.
🤖 Claude Desktop
Bu sunucuyu Claude ile kullanmak için yapılandırma dosyasını güncelleyin (Ayarlar > Geliştirici > Yapılandırmayı Düzenle):
{
"mcpServers": {
"membrane": {
"url": "https://<HOSTED_MCP_SERVER_URL>/sse?token={ACCESS_TOKEN}"
}
}
}
🔧 Sorun Giderme
- Erişim belirtecinizin geçerli olduğundan ve bu talimatlara göre oluşturduğunuzdan emin olun
- Başlatma veya bağlantı denemeleri sırasında herhangi bir hata veya sorun için MCP sunucusu günlüklerini kontrol edin.
- Test ve hata ayıklama için MCP Inspector kullanın