Integration App MCP Server

resmi

Müşterileriniz adına diğer tüm SaaS uygulamalarıyla etkileşim kurun.

Dokümantasyon

Membrane MCP Sunucusu

Screenshot 2025-07-07 at 23 03 05

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ımUç NoktaDurum
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