TR
Claude Code · MCP Sunucusu

Claude Code MCP Sunucusu: uygulamanızda mesajlaşma ve e-posta

Tek bir claude mcp add komutu şunu bağlar: Unipile MCP sunucusu. Ardından Claude Code, projenize LinkedIn, WhatsApp ve e-posta özellikleri ekler.
7 gün ücretsiz deneme, kredi kartı gerekmez.
Claude Code · crm-app
Unipile MCP bağlı
Sarah
CRM'ime LinkedIn hesap bağlantısı ekle.
Endpoint'i okuPOST /v2/auth/linkşema yüklendi
Bağlantı route'u ve Ayarlar butonu eklendi. Hesap ID'si kullanıcı üzerinde saklanıyor.
3 dosya değişti · Development uygulamasında test edildi
Sonraki özelliği anlatın…
Görev

Ne yapmak istiyorsunuz

Ürününüze bir LinkedIn, WhatsApp, e-posta veya takvim bağlantısı ekleyin. Bu; bir API referansını okumak, doğru endpoint'leri seçmek, Hosted Auth'u ve callback'lerini bağlamak, ardından aramadan mesaja kadar doğru ID'leri korumak demektir. Unipile MCP sunucusu Claude Code'a bağlıyken bu okumayı ajan sizin yerinize yapar ve kodu terminalden ya da IDE eklentisinden, sizin stack'inizde yazar.
Unipile MCP sunucusunu Claude Code'a bağlayınUnipile MCP bağlı
Bağlamak istediğiniz kanalları seçindeveloper.unipile.com/mcp
Tüm kanalları bağla9 kanal
LinkedInLinkedIn/v2/{account_id}/chats
WhatsAppWhatsApp/v2/{account_id}/chats
InstagramInstagram/v2/{account_id}/chats
TelegramTelegram/v2/{account_id}/chats
GmailGmail/v2/{account_id}/emails
OutlookOutlook/v2/{account_id}/emails
IMAPIMAP/v2/{account_id}/emails
Google CalendarGoogle Calendar/v2/{account_id}/calendars
Outlook CalendarOutlook Calendar/v2/{account_id}/calendars
↑↓gezin boşlukseç ↵bağlatek URL, tek header
Unipile olmadan Sekmeler, tahminler, glue code
Claude Code endpoint adlarını ve payload'ları eğitim verisinden tahmin eder ve ID'leri yanlış kullanır.
Referanstaki şemaları sohbete her seferinde bir endpoint olmak üzere elle yapıştırırsınız.
İlk gerçek çağrı, code review'dan sonra production'da yapılır.
Unipile MCP sunucusu ile Uygulamanızdaki sonuç
Bir bağlantı route'u ve bir Ayarlar butonu: her kullanıcı kendi hesabını Hosted Auth ile bağlar.
Bir webhook alıcısı ve mesajlarla e-postaları geldikleri anda gösteren bir inbox.
Siz diff'i incelemeden önce her istek Development uygulamanızda bir kez çalıştırılmış olur.
claude mcp add, üç kapsam

Unipile MCP sunucusunu ekleyin: Claude Code

Sunucu uzaktadır: streamable HTTP üzerinden tek bir URL ve tek bir header. npx yok, yerel süreç yok. Tek bir komut sunucuyu kaydeder; seçtiğiniz kapsam, nerede yükleneceğini ve ekibinizin de ona erişip erişmeyeceğini belirler. Komut ve JSON, resmi Claude Code dokümantasyonuyla doğrulanmıştır.
Claude Code kurulu (CLI veya IDE eklentisi), oturum açılmış ve proje klasörünüzden çalıştırılıyor.
Bir Development uygulaması: Unipile dashboard'unuzda, bir Scope ve Scope'a bağlı bir Account API anahtarıyla.
Hosted Auth ile bu Scope'a bağlanmış en az bir test hesabı; böylece ajan gerçek istekler çalıştırabilir.
U
User kapsamı--scope user · tüm projeler, yalnızca size özel
P
Project kapsamı.mcp.json depo kökünde, paylaşılır
L
Local kapsamı (varsayılan)yalnızca bu proje, özel, ~/.claude.json içinde
?
Hangi kapsam?Tek makineden birkaç Unipile entegrasyonu geliştiriyorsanız user. Tüm ekip sunucuyu depodan almalı ve her geliştiricinin anahtarı kendi ortam değişkeninde durmalıysa project. Tek seferlik bir deneme için local. Bir ad birden fazla kapsamda varsa local project'e, project de user'a üstün gelir.
terminal
# User kapsamı: bu makinedeki tüm projeler, yalnızca size özel claude mcp add --transport http --scope user \ unipile "https://developer.unipile.com/mcp?branch=v2.0" \ --header "X-API-KEY: your-scoped-api-key" # Claude Code "Added …" yazdırır, ardından: claude mcp list
// Project kapsamı: depo köküne commit edilir, ekiple paylaşılır { "mcpServers": { "unipile": { "type": "http", "url": "https://developer.unipile.com/mcp?branch=v2.0", "headers": { "X-API-KEY": "${UNIPILE_API_KEY}" } } } } // "type": "http" zorunludur; her geliştirici UNIPILE_API_KEY değişkenini export eder
# Local kapsamı (varsayılan): yalnızca bu proje, özel, ~/.claude.json içinde saklanır claude mcp add --transport http \ unipile "https://developer.unipile.com/mcp?branch=v2.0" \ --header "X-API-KEY: your-scoped-api-key"
Claude Code 2.1 üzerinde doğrulandı: "Added …", ardından claude mcp list içinde ✔ Connected. URL'yi tırnak içinde tutun (zsh ? karakterini desen olarak yorumlar) ve --header bayrağını URL'den sonra koyun, çünkü birden fazla değer alır.
claude mcp addSunucuyu seçtiğiniz kapsamda kaydeder ve yazıldığında "Added …" çıktısını verir.
--transport httpUnipile sunucusu uzak bir streamable HTTP sunucusudur. Komut yok, npx yok, yerel süreç yok.
--scope userBu makinedeki tüm projeler, yalnızca size özel. Local için (yalnızca bu proje) bayrağı atlayın ya da .mcp.json yazmak için --scope project kullanın.
unipileclaude mcp list, claude mcp get ve /mcp içinde göreceğiniz ad.
"https://developer.unipile.com/mcp?branch=v2.0"Tek sunucu URL'si, tırnak içinde. ?branch=v2.0 parametresi API v2'yi seçer.
--header "X-API-KEY: …"Scope'a bağlı Account API anahtarınız. Bayrak birden fazla header kabul ettiği için en sona konur.
Doğrulama

Bağlantıyı doğrulayın

Üç kontrol: terminalden, bir oturum içinde, ardından bir sohbette. Hiçbiri bağlı bir hesaba dokunmaz.
1TerminaldenListe, her sunucunun yanında bir sağlık durumu gösterir: görmek istediğiniz ✔ Connected'dır; ✘ Failed to connect URL'ye, ! Needs authentication header'a, ⏸ Pending approval ise henüz onaylanmamış bir project sunucusuna işaret eder.claude mcp list claude mcp get unipile
2Bir oturum içindeSunucu durumunu görmek için Claude Code'da slash komutunu yazın; project kapsamlı bir .mcp.json için klasörü ilk açtığınızda sunucuyu onaylayın./mcp
3Bir sohbette, hesaba dokunmadanYalnızca API spesifikasyonunu okuyan bir soru sorun. Ajan gerçek route'lar ve parametrelerle yanıt veriyorsa sunucu bağlanmıştır.Unipile MCP'yi kullanarak LinkedIn kişi araması endpoint'lerini ve zorunlu parametrelerini listele.
Glue code değil, prompt'lar

Ajanınıza prompt'u verin

Üç entegrasyon görevi; her birinde Claude Code'a yapıştırılacak birebir prompt, ajanın okuyup çalıştırdığı Unipile endpoint'leri ve projenize eklenenler yer alır. Yollar eksiksizdir; API taban URL'si: https://api.unipile.com, Scope'a bağlı anahtarınız ise X-API-KEY header'ında.
Claude Code · support-consoleDevelopment uygulaması
Destek konsolumuza WhatsApp mesajlaşması ekle: her temsilcinin konuşmalarını senkronize et ve ticket üzerinden yanıt vermelerini sağla.
Endpoint ara"chats messages send"3 eşleşme
İsteği çalıştırGET /v2/{account_id}/chats9 sohbet
Oluşturulanlar: whatsapp/chat-sync.ts (sohbetler ve mesajlar ticket'a upsert edilir, cursor ile sayfalama) ve POST /tickets/:id/reply route'u; bu route gönderimi sohbetin kendi hesabı üzerinden yapar. Senkronizasyon Development uygulamasında çalıştırıldı: 9 sohbet, 41 mesaj.3 dosya değişti · Development uygulamasında test edildi

Tek prompt'la ürününüzün içinde bir WhatsApp inbox'ı

Claude Code sohbet ve mesaj sözleşmelerini sunucu üzerinden okur, senkronizasyon işini ve yanıt endpoint'ini sizin stack'inizde yazar ve ilk istekleri Development uygulamanızda çalıştırır. LinkedIn, Instagram ve Telegram aynı chat route'larını kullanır; bu yüzden ikinci kanalın prompt'u birincisinden kısadır.
Ajanın kullandığı endpoint'ler
GET/v2/{account_id}/chatsGET/v2/{account_id}/chats/{chat_id}/messagesPOST/v2/{account_id}/chats/{chat_id}/messages/send
Sık yapılan hata: ID'leri karıştırmak. Mesaj her zaman sohbetin sahibi olan hesaptan gönderilir; liste çağrısından gönderim çağrısına kadar account_id ve chat_id değerlerini birlikte taşıyın.
WhatsApp API'si
Claude Code · crm-appDevelopment uygulaması
Kullanıcıların kişi sayfasından kendi Gmail veya Outlook posta kutuları üzerinden e-posta göndermesini sağla ve yanıtları kişiye thread olarak bağla.
Endpoint'i okuPOST /v2/{account_id}/emails/sendşema yüklendi
İsteği çalıştırGET /v2/{account_id}/emails200 OK
Eklendi: POST /contacts/:id/email route'u, gönderim route'unu kullanıcının posta kutusu hesabı üzerinden çağırır. Ayrıca thread ID'sini kullanan thread içinde yanıt seçeneği ve yanıtları kişiye bağlayan gelen senkronizasyonu eklendi. Development uygulamasının posta kutusundan bir test e-postası gönderildi ve yanıt thread içinde görüldü.4 dosya değişti · gönderim ve thread uçtan uca test edildi

Kullanıcının kendi posta kutusundan e-posta, CRM'inizde thread olarak

Gmail, Outlook ve IMAP tek bir e-posta şemasını paylaşır. Ajan gönderim ve liste sözleşmelerini okur, gönderim işlemini kullanıcının Hosted Auth ile bağladığı posta kutusuna bağlar ve yanıtların doğru kişiye düşmesi için thread ID'sini saklar.
Ajanın kullandığı endpoint'ler
POST/v2/{account_id}/emails/sendGET/v2/{account_id}/emailsGET/v2/{account_id}/threads/{thread_id}
Sık yapılan hata: Paylaşılan teknik bir posta kutusundan göndermek. Her e-posta onu bağlayan kullanıcının hesabından çıkar; böylece yanıt o kullanıcının inbox'ına ulaşır.
E-posta API'si
Claude Code · saas-backendDevelopment uygulaması
SaaS'ımdaki her workspace'te kendi LinkedIn ve e-posta hesapları olan birkaç kullanıcı var. Onları izole et: workspace başına bir Scope ve Scope'a bağlı bir anahtar.
Endpoint ara"scopes api-keys"4 eşleşme
İsteği çalıştırPOST /v2/scopes/201 · scope
Artık workspace oluşturulurken backend bir Scope ve workspace üzerinde şifreli saklanan, Scope'a bağlı bir Account API anahtarı oluşturuyor; bir üyenin bağladığı her hesap da bu Scope'a atanıyor. Tüm hesap çağrıları workspace anahtarını kullanıyor. Development uygulamasında iki workspace ile test edildi.5 dosya değişti · izolasyon doğrulandı

Çok kullanıcı, çok hesap, tenant başına bir sınır

Scope'lar Unipile API'sinin erişim sınırıdır: Scope'a bağlı bir anahtar yalnızca o Scope'a atanmış hesapları görür. Ajan bunu tenant modelinize dönüştürür; böylece çoklu hesap mantığı kodunuzda değil, API'de yaşar.
Ajanın kullandığı endpoint'ler
POST/v2/scopes/POST/v2/api-keys/GET/v2/accounts/
Sık yapılan hata: Her tenant için tek bir global Account anahtarı kullanmak. Global anahtar yönetim için backend'inizde kalır; her tenant kendi Scope'a bağlı anahtarını alır.
Hesaplar, Scope'lar ve anahtarlar
Development'tan Production'a

Önce bir Development uygulamasında test edin

Unipile dashboard'u bir Development uygulaması ile bir Production uygulamasını birbirinden ayırır. Claude Code'a Development uygulamasından Scope'a bağlı bir anahtar ve Hosted Auth ile bağlanmış bir veya iki test hesabı verin. Ajan bu hesaplarda, onları bağlayan kimliği doğrulanmış kullanıcı adına ve her sağlayıcının sınırları içinde gerçek istekler çalıştırır; siz yayına alana kadar kullanıcılarınızın hesaplarına hiçbir şey dokunmaz.
Bağlantı akışını uçtan uca doğrulayın: auth link sunucu tarafında oluşturulur, hesap ID'si kullanıcı üzerinde saklanır.
Özellik başına bir okuma ve bir yazma doğrulayın: sohbetleri listeleyin, test hesabından bir mesaj gönderin.
Anahtarı Production'a geçirmeden önce bir webhook teslimatını ve bir yeniden bağlanma ya da checkpoint durumunu doğrulayın.
crm-app · DevelopmentClaude Code kullanıyor
Scopedev-tests · 2 hesap
AnahtarScope'a bağlı Account API anahtarı
HesaplarLinkedIn test hesabı, Gmail test posta kutusu
Webhook'lar1 endpoint · mesaj olayları
crm-app · ProductionDokunulmadı
Scopeworkspace başına bir tane
AnahtarScope'a bağlı anahtarlar, yalnızca backend'inizde
Hesaplarkullanıcılarınızın kendi hesapları, Hosted Auth ile
Sorun giderme

Sık karşılaşılan hatalar ve anlamları

Bir MCP kaydı doğru olmadığında Claude Code'un claude mcp list ve /mcp çıktısında gösterdiği durumlar ve uyarılar, her birinin çözümüyle.
✘ Failed to connect
claude mcp list sunucuyu gösteriyor ama sağlık kontrolü başarısız. ÇözümSunucu kaydındaki url değeri tam olarak https://developer.unipile.com/mcp?branch=v2.0 olmalı, kayıt da şu bayrakla eklenmeli: --transport http. Claude Code geçici bir hatayı üç kez yeniden dener, ancak not-found veya kimlik doğrulama hatasını asla yeniden denemez: URL'yi ya da header'ı düzeltin, ardından şunu çalıştırın: claude mcp get unipile.
⏸ Pending approval
.mcp.json dosyasındaki project kapsamlı bir sunucu listeleniyor ama bağlı değil. ÇözümÖnce claude komutunu klasörde çalıştırın, workspace güven iletişim kutusunu kabul edin, ardından sunucuyu şuradan onaylayın: /mcp. Klonlanan bir depo, commit edilmiş ayarlardan kendi sunucularını onaylayamaz.
İsteklerde 401
Sunucu bağlı ama bir isteği çalıştırmak başarısız oluyor. ÇözümHeader'da anahtar yok, header adı şu değil: X-API-KEY, ya da Development uygulamanızdan Scope'a bağlı bir Account API anahtarı yerine bir Service veya global Account anahtarı kullandınız.
Eksik değişken uyarısı
claude mcp list, ${UNIPILE_API_KEY} değişkeninin tanımlı olmadığını bildiriyor. ÇözümDeğişkeni Claude Code'u başlatan shell'de export edin ya da ${UNIPILE_API_KEY:-} sözdizimiyle bir varsayılan ekleyin. Tanımsız değişkenler url veya headers alanlarında boş okunabilir, bu da 401 ile sonuçlanır.
headers.X-API-KEY içinde gizli boşluk
Sonunda satır sonu karakteriyle yapıştırılmış bir token. ÇözümClaude Code alanın adını claude mcp list ve /mcp içinde, değeri göstermeden belirtir. Sunucuyu anahtarı kırpılmış olarak yeniden ekleyin; Claude Code değerleri tam yazıldığı gibi kullanır.
Aynı ad birden fazla kapsamda
unipile, user ve project kapsamlarında farklı ayarlarla mevcut. ÇözümClaude Code en yüksek öncelikli tanımı (local, sonra project, sonra user) kullanarak bir kez bağlanır ve çakışma konusunda uyarır. Kopyayı şununla kaldırın: claude mcp remove unipile --scope user ya da makine başına tek bir kapsam kullanın.
MCP endpoint not found at
URL'de 404: yol yanlış. ÇözümTam URL şudur: https://developer.unipile.com/mcp?branch=v2.0, branch parametresi dahil. Şununla kontrol edin: curl -I (makinenizden), ardından: claude mcp get unipile.
/mcp, "No MCP servers configured" gösteriyor
Düzenlediğiniz dosya Claude Code'un okuduğu dosyalardan biri değil. ÇözümClaude Code, ~/.claude.json ve .mcp.json dosyalarını okur (.mcp.json yalnızca proje kökünde); şunları asla okumaz: ~/.claude/mcp.json, ~/.claude/.mcp.json veya ~/.claude/config/mcp.json. Ayrıca oturumu yeniden başlatın: .mcp.json başlangıçta okunur.
Shell URL'yi reddediyor ya da branch eksik
zsh, ?branch=v2.0 içindeki ? karakterini desen olarak yorumlar. ÇözümŞu komutta URL'yi her zaman tırnak içine alın: claude mcp add. Tırnak olmadan zsh "no matches found" yanıtını verir, bash ise parametreyi düşürebilir; bu da sizi yanlış API sürümüne bağlar.
Yavaş başlangıç veya zaman aşımı
Sunucu başlangıçta varsayılan 30 sn'den uzun sürüyor. ÇözümO oturum için sınırı yükseltin: MCP_TIMEOUT=60000 claude. Bir project sunucusunu onay isteminde reddettiyseniz claude mcp reset-project-choices istemi geri getirir.
6000+ Unipile ile inovasyon yapan şirketler
Sektör liderlerinin güvendiği çözüm
1 API
Tüm büyük iletişim kanallarında operasyonları sadeleştirin
2 gün
Minimum kurulumla hızla canlı entegrasyon
30%
Bakım eforu ve kaynaklarında azalma

Yerleşik güvenlik ve uyumluluk

Verileriniz ve iş akışlarınız için kurumsal düzeyde koruma Güvenliğimiz hakkında daha fazla bilgi
SOC 2 Type II
SOC 2 Type II
Sertifikalı
Veri korumasını ve operasyonel bütünlüğü güvence altına alan, bağımsız olarak denetlenmiş güvenlik kontrolleri.
GDPR
GDPR
Uyumlu
Kullanıcı gizliliği için Avrupa veri koruma düzenlemelerine tam uyum.
99.9%
Son 24 ayda platform çalışma süresi
24/7
Yüksek performanslı API ile küresel destek

Claude Code MCP sunucusu SSS

Gerçekten sorulan sorular: kapsamlar, yapılandırmanın yeri, anahtarı depodan uzak tutmak, özel header'lar, Failed to connect, URL'yi tırnaklamak, .mcp.json değişiklikleri ve API anahtarları.
Varsayılan local'dir: ~/.claude.json içinde geçerli projenin altında saklanır, özeldir ve o projeyle sınırlıdır. Project, .mcp.json dosyasını depo köküne yazar ve sürüm kontrolüyle paylaşılır. User, ~/.claude.json içinde kökteki mcpServers anahtarının altına yazar ve tüm projelerinize uygulanır. Öncelik sırası local, sonra project, sonra user'dır. Unipile için: --scope user kişisel geliştirme anahtarınız için, --scope project ise tüm ekip aynı entegrasyon üzerinde çalışırken.
Local ve user kapsamları için ~/.claude.json (Windows'ta %USERPROFILE%\.claude.json) içinde, project kapsamı için ise proje kökündeki .mcp.json içinde. Claude Code şunları okumaz: ~/.claude/.mcp.json, ~/.claude/config/mcp.json, ~/.claude/mcp.json veya %APPDATA%\Claude\mcp.json. claude mcp get unipile bir kaydın hangi kapsamda olduğunu söyler.
Claude Code şu değişken biçimlerini genişletir: ${VAR} ve ${VAR:-default} → command, args, env, url ve headers. Şu satırı ekleyin: "X-API-KEY": "${UNIPILE_API_KEY}" → .mcp.json, dosyayı commit edin; her geliştirici kendi Scope'a bağlı anahtarını kendi ortamından sağlar. Değişken tanımsızsa ve varsayılanı yoksa yapılandırma yine yüklenir ve claude mcp list bir uyarı gösterir.
Evet: --header "X-API-KEY: your-scoped-api-key", birden fazla header için tekrarlanabilir, kısa biçimi -H. URL'den sonra koyun, çünkü bayrak birden fazla değer alır. Unipile sunucusu uzak bir HTTP sunucusudur: yerelde kurulacak bir şey yok, npx yok, yönetilecek Node yok.
Önce claude mcp get unipile ile ayrıntıya bakın (HTTP durumu ve hata metni), yapıştırılan bir anahtardan sonra claude mcp list komutunun gösterdiği baştaki veya sondaki boşluk uyarılarını kontrol edin ve URL'nin makinenizden yanıt verdiğini şununla doğrulayın: curl -I. 404 durumunda şu çıktı görünür: MCP endpoint not found at <origin>: yol yanlıştır; tam URL şudur: https://developer.unipile.com/mcp?branch=v2.0, branch parametresi dahil.
URL şu karakteri içerir: ?, zsh bunu desen karakteri olarak okur. Şu komutta URL'yi her zaman tırnak içine alın: claude mcp add. Tırnak olmadan zsh "no matches found" yanıtını verir, bash ise branch parametresini düşürebilir; bu da sizi sunucunun yanlış sürümüne bağlar.
Claude Code, .mcp.json dosyasını oturum başlangıcında okur: çıkıp yeniden başlatın. Hatalı bir kayıt sessizce yok sayılır ve claude mcp list ayrıştırma uyarısını hatalı alanla birlikte gösterir. Sunucuyu project onay isteminde reddettiyseniz şunu çalıştırın: claude mcp reset-project-choices.
Ajan yalnızca API spesifikasyonunu okuduğunda sunucu anahtarsız yanıt verir. Gerçek istekler çalıştırmak için Development uygulamanızda bir Scope oluşturun, yalnızca ilgili hesapları atayın ve bu Scope'a bağlı bir Account API anahtarı üretin. Bir MCP istemcisine asla Service anahtarı veya global Account anahtarı vermeyin.