Anthropic tarafından geliştirilen Claude gibi büyük dil modelleri (LLM'ler) giderek yetenekli hale geliyor, ancak potansiyellerini tam olarak ortaya çıkarmak için zengin, harici bağlama erişmeleri gerekiyor. İşte tam da bu noktada Model Context Protocol (MCP) devreye giriyor; araçların, uygulamaların ve hizmetlerin LLM'lerle iletişim kurması için standartlaştırılmış bir yol. Bu makalede, TypeScript'te bir MCP sunucusu oluşturmayı, istemcilerle nasıl etkileşim kurduğunu keşfedecek ve bunu Claude Desktop'a nasıl bağlayacağımızı göstereceğiz.

Model Context Protocol (MCP) Nedir?
Model Context Protocol, LLM uygulamalarının (ana bilgisayarlar), sunucuların ve istemcilerin veri alışverişinde bulunma biçimini tanımlayan evrensel bir protokoldür. MCP, ölçeklenebilir ve yapılandırılmış bir şekilde yerel veya çevrimiçi veri kaynaklarıyla modüler, araç tabanlı entegrasyon sağlar. Özellikle Claude Desktop veya Sourcegraph Cody gibi masaüstü tabanlı LLM ortamlarında kullanışlıdır.
Genel olarak, protokol şunları içerir:
- Ana Bilgisayarlar: LLM tabanlı uygulama (örneğin, Claude Desktop)
- İstemciler: Sunuculara bağlantıları yöneten gömülü modüller
- Sunucular: Araç, veri veya hizmet sağlayıcıları
- Taşıyıcılar: JSON-RPC mesajlarını göndermek ve almak için temel mekanizma
Neden MCP Kullanmalısınız?
Kopyala-yapıştır veya sabit kodlama bağlamı gibi geleneksel yöntemler hantal ve sınırlıdır. MCP, şunlara izin vererek bu sorunları çözer:
- Araç keşfi ve yetenek müzakeresi
- JSON-RPC tabanlı mesaj alışverişi
- Diller ve platformlar arasında tutarlı bir arayüz
- LLM uygulaması ile harici araçlar arasında net bir ayrım
Bu modülerlik, geliştiricilerin LLM'lerle gerçek zamanlı olarak etkileşim kurabilen güçlü bağlam farkındalıklı araçlar oluşturmasını sağlar.
Önkoşullar
Bir TypeScript MCP sunucusu oluşturmak ve onu Claude Desktop'a bağlamak için şunlara ihtiyacınız olacak:
- Node.js (v18+)
- TypeScript
- JSON-RPC hakkında temel bilgi

MCP TypeScript SDK
Adım 1: Projenizi Kurma
Bir Node.js projesi kurarak başlayın:
mkdir mcp-ts-server
cd mcp-ts-server
npm init -y
npm install typescript ts-node @modelcontextprotocol/server-core
npx tsc --init
Bir src/
dizini oluşturun ve içine giriş noktası dosyanızı, örneğin index.ts
ekleyin.
Adım 2: TypeScript'te MCP Sunucunuzu Oluşturma
Kullanıcıları selamlamak için bir "araç" sağlayan basit bir MCP sunucusu oluşturmayı inceleyelim.
İşte temel yapı:
import { createServer, Server } from '@modelcontextprotocol/server-core';
const server: Server = createServer();
const GREETING_TOOL = {
name: 'greet_user',
description: 'Returns a friendly greeting message.',
inputSchema: {
type: 'object',
properties: {
name: { type: 'string', description: 'Name of the user' }
},
required: ['name']
}
};
// Register tool
server.setRequestHandler('ListTools', async () => {
return { tools: [GREETING_TOOL] };
});
// Handle tool call
server.setRequestHandler('CallTool', async (request) => {
const args = request.args;
const name = args.name || 'there';
return {
content: [{ type: 'text', text: `Hello, ${name}! Welcome to MCP.` }],
isError: false
};
});
// Start server
server.listen();
Şimdi bunu derleyebilir ve şunlarla çalıştırabilirsiniz:
npx ts-node src/index.ts
Adım 3: Sunucunuzu Claude Desktop'a Kaydedin
Her MCP sunucusunun benzersiz bir URI'ye ihtiyacı vardır. Örneğin:
tool://greet_user/greet_user
Claude Desktop başlatıldığında, sunucuyu bir Stdio
taşıyıcısı aracılığıyla keşfedebilir. Bu, sunucunuzun HTTP veya soketler yerine standart giriş/çıkış (stdin/stdout) aracılığıyla iletişim kurduğu anlamına gelir.
Adım 4: MCP Sunucusunu Claude Desktop'a Bağlama
Claude Desktop'ta:
- Ayarlar > Araç Sağlayıcıları'na gidin
- Stdio taşıyıcısını kullanarak yeni bir araç sağlayıcısı ekleyin
- Araç URI'nizi ve sunucunuzu çalıştırmak için komutu belirtin, örneğin:
npx ts-node src/index.ts
Claude Desktop, JSON-RPC 2.0 kullanarak stdin/stdout aracılığıyla iletişimi başlatacak ve sunucunuz desteklediği araçların listesiyle yanıt vermelidir.
Kesinlikle! İşte, makalenize doğrudan ekleyebileceğiniz, Claude Desktop yapılandırma bölümünün yeniden yazılmış bir sürümü:
MCP Sunucunuzu Test Etmek İçin Claude Desktop'ı Kullanma
Claude Desktop uygulaması, MCP entegrasyonlarını yerel olarak test etmek için en kolay ortamlardan biridir.
MCP sunucunuzu başlatmak için manuel olarak yapılandırmak için şu adımları izleyin:
Şu adresteki dosyayı açın veya oluşturun:
~/Library/Application Support/Claude/claude_desktop_config.json
config.json
aynı
Aşağıdaki JSON yapılandırmasını ekleyin ve ayrıntıları aracınız için gerektiği gibi değiştirin:
{
"mcpServers": {
"brave_search": {
"command": "npx",
"args": ["@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-api-key"
}
}
}
}
Bu, Claude Desktop'a şunları söyler:
brave_search
adlı bir aracı tanıyınnpx @modelcontextprotocol/server-brave-search
aracılığıyla başlatın- API anahtarınız gibi ortam değişkenlerini ekleyin
- Dosyayı kaydedin ve Claude Desktop'ı yeniden başlatın.
Yeniden başlatıldıktan sonra, Claude Desktop'tan yeni aracınızı kullanmasını isteyebilirsiniz. Örneğin:
"Web'de glama.ai araması yapın"
Bu, MCP'yi ilk kez kullanıyorsanız, Claude bir açılır pencere aracılığıyla izin isteyecektir. Devam etmek için "Bu Sohbet İçin İzin Ver"'e tıklayın.

Bundan sonra, Claude MCP sunucunuzu tetikleyecek ve sonuçları doğrudan sohbette yayınlayacaktır.
Apidog MCP Sunucu Entegrasyonu ile Yapay Zeka Otomasyonunuzu Geliştirin
Yapay zeka destekli iş akışlarınızı, Apidog MCP Sunucusu ile entegre ederek daha da ileriye taşıyın.

Bu güçlü bağlantı, yapay zeka asistanınızın Apidog projelerinden API spesifikasyonlarıyla doğrudan etkileşim kurmasını sağlayarak, sorunsuz API keşfi, kod oluşturma ve yapılandırılmış model oluşturma olanağı sunar.
İster basit bir karşılama aracı oluşturuyor olun, ister web araması gibi gelişmiş hizmetleri entegre ediyor olun, TypeScript'te kendi MCP sunucunuzu oluşturmak, Claude'un harici bağlama nasıl eriştiği ve onu nasıl işlediği üzerinde tam kontrol sağlar; daha akıllı, daha etkileşimli yapay zeka deneyimlerinin kilidini açar.
Mesaj Akışı Genel Bakışı
İşte işin arka planında neler oluyor:
1. Başlatma
Claude (ana bilgisayar olarak) desteklenen protokol sürümü ve yeteneklerle bir başlatma isteği gönderir.
2. Yetenek Müzakeresi
Sunucunuz kendi yetenekleriyle yanıt verir ve istemci bir başlatıldı bildirimiyle hazır olduğunu onaylar.
3. Araç Keşfi
Claude bir ListTools
isteği gönderir. Sunucunuz, giriş şemaları dahil olmak üzere bir araç tanımı listesi döndürür.
4. Araç Çağrısı
Kullanıcı aracı tetiklediğinde (örneğin, "John'a selam ver" yazarak), Claude argümanlarla bir CallTool
isteği gönderir.
Sunucunuz bunu işler ve yanıt içeriğiyle bir sonuç mesajı döndürür.
Adım 5: Araç Ekosisteminizi Genişletin
Sunucunuz çalıştıktan sonra, yeteneklerini genişletebilirsiniz:
- Web Araması: Brave Search API'sini entegre edin
- Dosya Sistemi: Güvenli dosya okuma/yazma
- Slack veya GitHub Araçları: İşbirliği özelliklerini etkinleştirin
- Google Drive: Ekler ve içerik bağlamı
Örneğin, işte bir Brave Search sunucu entegrasyonundan bir kesit:
const WEB_SEARCH_TOOL = {
name: 'brave_web_search',
description: 'Search the web using Brave.',
inputSchema: {
type: 'object',
properties: {
query: { type: 'string' },
count: { type: 'number', default: 10 }
},
required: ['query']
}
};
Taşıma Seçenekleri
Stdio yerel test için en iyisiyken, MCP ayrıca şunları da destekler:
- HTTP + SSE: Web uygulamaları ve uzaktan hizmetler için iyi
- Özel Taşıyıcılar: Kendi taşıyıcı adaptörünüzü takın
Hepsi mesaj kodlaması için JSON-RPC 2.0 kullanır.
Hata Ayıklama ve Test Araçları
MCP sunucunuzu açık kaynaklı Inspector aracıyla test edebilirsiniz:
git clone https://github.com/modelcontextprotocol/inspector
Mesaj izleme, istek simülasyonu ve araç davranışlarında hata ayıklama sağlar.
Gerçek Dünya Kullanım Örnekleri
MCP'nin bazı ilk benimseyenleri şunlardır:
- Sourcegraph Cody: Geliştirme bağlamını geliştirir
- Zed Editor: IDE entegrasyonları
- Claude Desktop: Yerel ve özel LLM işlemleri
Bu araçlar, MCP'nin hem çevrimdışı hem de çevrimiçi ortamlarda gücünü göstererek, geliştiricilerin yapay zekanın bağlamlarını nasıl anladıklarını özelleştirmelerini kolaylaştırır.
Sonuç
MCP, LLM'lerin araçlar ve verilerle etkileşim biçimine yapı, ölçeklenebilirlik ve modülerlik getirmede güçlü bir adımdır. İster kişisel bir asistan, ister bir IDE yardımcısı veya bir veri hattı oluşturuyor olun, MCP harici yetenekleri takmak için geleceğe hazır bir standart sunar.
Bu kılavuzu izleyerek şunları öğrendiniz:
- TypeScript kullanarak basit bir MCP sunucusu oluşturma
- Bunu Claude Desktop'a kaydetme
- Araç iletişiminin nasıl aktığını anlama
- Ek API'ler ve hizmetler kullanarak işlevselliği genişletme
Yapay zeka destekli uygulamaların yeni neslini geliştiren geliştiriciler için, MCP'ye hakim olmak önemli bir adımdır.
Daha Fazla Okuma ve Kaynaklar
- Tam Hızlı Başlangıç Kılavuzu: Glama.ai'de Model Context Protocol
- GitHub Repoları: MCP Araçları