Haydi TypeScript MCP Sunucusu İnşa Edelim ve Claude Desktop'a Bağlanalım

TypeScript ile özel bir Model Context Protocol sunucusu oluşturarak Claude'un tüm potansiyelini açın. Basit bir MCP sunucusu oluşturma, Claude Desktop'a kaydetme ve daha zengin, gerçek zamanlı yapay zeka etkileşimi için Brave Search gibi araçları entegre etme rehberi.

Efe Demir

Efe Demir

5 June 2025

Haydi TypeScript MCP Sunucusu İnşa Edelim ve Claude Desktop'a Bağlanalım

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.

💡
Detaylara dalmadan önce, API'leri tasarlamak, test etmek ve belgelemek için güçlü bir araç olan Apidog'a göz atın. Apidog, API'lerinizi sorunsuz bir şekilde entegre etmenize, iş akışınızı yapılandırılmış modeller ve kolay işbirliği ile geliştirmenize olanak tanır. Otomasyonunuzu ve API yönetiminizi artırmak istiyorsanız.
button

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:


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:

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:

Claude Desktop

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:

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.jsonaynı

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:

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:

Ö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:

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:

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:

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

Explore more

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Yerel DeepSeek R1'i Cursor IDE ile kurun ve yapılandırın. Özel, uygun maliyetli AI kodlama yardımı için.

4 June 2025

Android'de Gemma 3n Nasıl Çalıştırılır?

Android'de Gemma 3n Nasıl Çalıştırılır?

Google AI Edge Gallery'den Gemma 3n'i Android'e kurup çalıştırmayı öğrenin.

3 June 2025

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

Claude Code'u GitHub Actions ile entegre edin: Kod incelemeleri, hata düzeltmeleri ve özellik uygulamaları. Kurulum, iş akışları ve geliştiriciler için ipuçları.

29 May 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin