Model Context Protocol (MCP), Anthropic’in Claude’u ve Claude Code gibi geliştirici araçlarının harici araçlara, veri kaynaklarına ve istemlere güvenli, standart bir şekilde çağrı yapmasına olanak tanıyan açık bir standarttır.
Bu kılavuz, sıfırdan kendi MCP sunucunuzu oluşturmanıza, böylece Claude Code’un özel özelliklere erişmesini sağlayarak yerleşik yeteneklerinin çok ötesinde işlevselliğini büyük ölçüde genişletmenize yardımcı olacaktır.
Model Context Protocol (MCP) nedir?
MCP (Model Context Protocol), dil modeli istemcilerinin (Claude, Claude Code veya diğer LLM arayüzleri gibi) araç sunucularına ve veri kaynaklarına nasıl bağlandığını standartlaştırmak için tasarlanmış bir açık belirtimdir. MCP’yi LLM’ler için bir “USB‑C bağlantı noktası” gibi düşünün: bir taşıma/JSON-RPC şemasını ve sunucuların üç tür yeteneği yayımlaması için ortak bir yaklaşımı tanımlar:
- Kaynaklar (Resources) — istemcinin okuyabildiği dosya benzeri veya doküman verileri (ör. bir veritabanı satırı, bir metin dosyası, bir JSON yükü).
- Araçlar (Tools) — modelin barındırıcıdan (kullanıcı onayıyla) yürütmesini isteyebileceği çağrılabilir işlevler.
- İstemler (Prompts) — modelin/istemcinin çağırabileceği yeniden kullanılabilir istem şablonları veya iş akışları.
MCP, birden çok taşımayı (stdio, HTTP, SSE) destekler ve şema, SDK’lar ve örnek sunucular sunar; böylece kablo formatını kendiniz icat etmek zorunda kalmazsınız. Protokol, (belirtim + SDK’lar) herkese açık şekilde sürdürülür ve benimsemeyi hızlandırmak için eğitimler ile örnek sunucu galerisi içerir.
MCP’nin mimarisi nasıldır?
MCP’nin mimarisi kasıtlı olarak basit ve modülerdir: çekirdek parçalar MCP sunucuları, MCP istemcileri ve aralarında JSON-RPC çerçeveli mesajlar taşıyan taşımalardır. Claude Code (veya diğer MCP istemcileri) için bir sunucu oluştururken etkileşime gireceğiniz başlıca bileşenler aşağıdadır.
Sunucu, istemci ve protokol
- MCP sunucusu — Araçları, kaynakları ve istemleri yayımlayan bir hizmet. Araçlar yan etkiler oluşturabilir veya veri getirebilir; kaynaklar salt okunur içerik sunar; istemler, istemcinin modelden örneklemesini isteyebileceği yeniden kullanılabilir istem şablonlarıdır.
- MCP istemcisi (barındırıcı) — Genellikle LLM barındırıcısının bir parçasıdır (örn. Claude Code, VS Code eklentisi, bir tarayıcı istemcisi). Kullanılabilir sunucuları keşfeder, araç açıklamalarını modele sunar ve model tarafından başlatılan çağrıları sunuculara yönlendirir.
- Protokol — Mesajlar JSON-RPC olarak kodlanır; belirtim, yaşam döngüsü olaylarını, araç keşfini, çağırmayı, tamamlama/örneklemeyi ve yapılandırılmış sonuçların istemciye ve modele nasıl geri taşındığını tanımlar.
İletişim deseni (bir araç kullanıldığında ne olur)
- İstemci kullanıcı mesajını modele gönderir.
- Model bağlamı analiz eder ve MCP’nin sunduğu bir aracı (veya birden fazlasını) çağırmaya karar verir.
- İstemci araç çağrısını seçilen taşıma üzerinden MCP sunucusuna iletir.
- Sunucu aracı yürütür ve sonuçları döndürür.
- Model araç çıktısını alır ve kullanıcıya verilecek nihai yanıtı oluşturur.
Uygulama yapıtaşları
- JSON-RPC mesajları MCP şemasını izler.
- Araç tanımları, istemcilerin bunları arayüzde sunabilmesi için sunucunun keşif yanıtlarında yayımlanır.
- Kaynaklar, istemciler tarafından
@source:pathsözdizimiyle referans verilir (örn.@postgres:...), böylece modeller büyük verileri isteme gömmek yerine harici içeriğe başvurabilir.
Neden Claude Code’u MCP sunucularıyla entegre etmelisiniz?
Claude Code, kod ve geliştirici odaklı iş akışlarına (düzenleyici/IDE entegrasyonu, kod anlama vb.) odaklanan Anthropic’in çözümüdür. İç araçlarınızı (kaynak arama, CI çalıştırıcı, bilet sistemi, özel kayıtlar) MCP sunucuları aracılığıyla açığa çıkarmak, Claude Code’un bunları kodlama konuşmaları ve ajan akışları içinde birinci sınıf araçlar olarak çağırmasına olanak tanır.
Claude Code’u MCP sunucularıyla entegre etmek, bir kodlama ajanı için pratik ve üretime yönelik yeteneklerin kilidini açar:
1. Modelin gerçek sistemlerde eyleme geçmesini sağlayın
Claude Code, bir MCP sunucusundan sorun izleyicilerini sorgulamasını, veritabanı sorguları çalıştırmasını, büyük dokümanları okumasını veya GitHub PR’ları üretmesini isteyebilir — böylece kodlama oturumu içinden uçtan uca otomasyon sağlanır. Bu, Claude Code belgeleri tarafından açıkça desteklenir (örnekler: Postgres’in sorgulanması, Sentry veya PR oluşturma).
2. Büyük veriyi ve uzmanlaşmış mantığı dışa devredin
Her veri kaynağını isteme gömmek (token tüketimi) yerine, verileri ve araçları MCP üzerinden yayımlarsınız. Model aracı çağırır, yapılandırılmış bir yanıt alır ve bununla akıl yürütür — bu, token kullanımını azaltır ve sunucuların ağır işleri (VT sorguları, uzun dosya okumaları, kimlik doğrulama) üstlenmesini sağlar.
3. Güvenlik ve yönetişim
MCP, erişim kontrolünü ve denetimi sunucu katmanında merkezileştirir; kuruluşların onaylanmış sunucuları beyaz listeye almasına, hangi araçların kullanılabilir olduğunu kontrol etmesine ve çıktıları sınırlamasına olanak tanır. Claude Code ayrıca kurumsal MCP yapılandırmasını ve kapsam‑bazlı onayı destekler.
4. Yeniden kullanılabilirlik ve ekosistem
MCP sunucuları istemciler ve ekipler arasında yeniden kullanılabilir. Bir kez geliştirin ve birçok Claude/LLM istemcisi aynı hizmetleri kullanabilsin (veya uygulamaları değiş tokuş edilsin).
Başlamadan önce neler gerekli?
Asgari gereksinimler
- Python 3.10+ yüklü bir geliştirme makinesi (örnekte Python kullanacağız). Alternatif olarak Node / diğer diller MCP SDK’ları tarafından desteklenir.
- MCP stdio sunucularını çalıştırmak için
uv(Astral’ın aracı) veya eşdeğer bir çalıştırıcı (MCP eğitimiuvkullanır). Kurulum adımları aşağıda gösterilmiştir. - Sunucunuzu kaydetmek ve test etmek için Claude Code kurulu olmalı veya Claude istemcisine (masaüstü veya CLI) erişiminiz olmalı; ya da herhangi bir MCP yetenekli istemci. Claude Code, HTTP, SSE ve yerel stdio sunucularını destekler.
- Güvenlik notu: MCP sunucuları hassas verilere erişim sağlar ve bir sunucu kötü niyetli içerik döndürürse istem enjeksiyonu riski vardır; bu nedenle ekip veya kurumsal ortamlarda yalnızca güvenilir MCP sunucularını Claude Code’a ekleyin.
Claude Code CLI nasıl kurulur ve doğrulanır
Bu, Claude Code Kurulum ve Kullanım Kılavuzu.
1) Hızlı özet — önerilen kurulum yöntemleri
macOS/Linux’ta yerel yükleyiciyi (önerilir) veya Homebrew’u kullanın. Node tabanlı bir kurulum gerekirse NPM mevcuttur. Windows için PowerShell / CMD yükleyicileri vardır. Kaynak: resmi Claude Code dokümanları ve GitHub.
2) Önkoşullar
- macOS 10.15+, Ubuntu 20.04+/Debian 10+, veya Windows 10+ (Windows’ta WSL önerilir).
- NPM yöntemini kullanacaksanız Node.js 18+ gerekir.
3) Kurulum komutları (birini seçin)
Yerel (önerilen — Node bağımlılığı yok), macOS / Linux / WSL:
curl -fsSL https://claude.ai/install.sh | bash
# optional: install latest explicitly
curl -fsSL https://claude.ai/install.sh | bash -s latest
# or install a specific version
curl -fsSL https://claude.ai/install.sh | bash -s 1.0.58
Windows PowerShell:
irm https://claude.ai/install.ps1 | iex
# or for latest: & (::Create((irm https://claude.ai/install.ps1))) latest
(Bunlar resmi yerel yükleyici betikleridir).
NPM (Node tabanlı global kurulum isterseniz):
# requires Node.js 18+
npm install -g @anthropic-ai/claude-code
Kesinlikle sudo npm install -g kullanmayın — sudo ile global kurulumlar önerilmez (izin/güvenlik sorunları). İzin hatalarıyla karşılaşırsanız nvm kullanın veya npm global prefix’i düzeltin; sudo kullanmayın.
4) İkili dosyanın kurulduğunu doğrulayın (temel kontroller)
Kurulumdan hemen sonra aşağıdakileri yerelde çalıştırın:
# is the command on PATH?
which claude
# version (or -v)
claude --version
# or
claude -v
# help (sanity check)
claude --help
Beklenen: which bir yol gösterir (örn. /usr/local/bin/claude veya ~/.nvm/.../bin/claude) ve claude --version semver benzeri bir dize yazdırır. Dokümanlar ve README, birincil CLI giriş noktası olarak claude’u gösterir.
5) Kurulum sağlığını ve yapılandırmayı doğrulayın (önerilen kontroller)
a) claude doctor çalıştırın:
claude doctor
Bu yerleşik tanılama, kurulum tipinizi, yaygın sorunları (örn. npm izin sorunları), ripgrep gibi bağımlılıkları kontrol eder ve çözümler önerir. Dokümanlar, kurulumdan sonra claude doctor çalıştırmanızı açıkça önerir.
b) Duman testi (etkileşimsiz) çalıştırın
Proje dizininizden:
cd /path/to/your/project
claude -p "Explain this project in 3 sentences"
Bu, tek bir istem gönderip çıkan print modunu (-p) kullanır; CI veya hızlı işlevsel kontroller için uygundur.
c) Kimlik doğrulamayı doğrulayın (CLI’nin Anthropic’e ulaşabildiğinden emin olun)
Claude Code birkaç kimlik doğrulama akışını destekler (Konsol OAuth, API anahtarı, sağlayıcı entegrasyonları). Yaygın kontroller:
- API anahtarı kullanıyorsanız (CI / başsız / yerel ortam değişkeni):
export ANTHROPIC_API_KEY="sk-..."
# then
claude auth status
claude auth whoami # or `claude auth whoami` / `claude whoami` depending on version
Claude Code’u kullanmak için CometAPI’nin API anahtarını kullanabilirsiniz. Claude’un API’sine CometAPI üzerinden erişmek size %20 indirim sağlar.
- OAuth’u konsol üzerinden kullandıysanız — şunu çalıştırın:
claude auth status
claude auth whoami
Hesap/plan bilgilerini veya kimlik doğrulandığınıza dair bir onayı görmelisiniz.
Adım adım ortam hazırlığı
Aşağıda iki yaygın geliştirici yığını (TypeScript ve Python) için somut hazırlık adımları, ardından her şeyin çalıştığını doğrulamak için hızlı kontroller yer almaktadır.
H3 — A. TypeScript / Node kurulumu (en hızlı yol)
- Proje oluşturun ve SDK’yı kurun:
mkdir mcp-demo && cd mcp-demo
npm init -y
npm install @modelcontextprotocol/sdk express zod
npm install --save-dev typescript tsx @types/node @types/express
server.tsoluşturun. (“Nasıl Hızlıca Kurulur...” bölümünde tam bir örnek veriyoruz.)- Çalıştırın:
npx -y tsx server.ts
- Yerelde MCP Inspector ile test edin veya Claude Code’a ekleyin:
npx @modelcontextprotocol/inspector
# or (for Claude Code)
claude mcp add --transport http my-server http://localhost:3000/mcp
(Inspector ve Claude komutları, keşfi doğrulamanıza ve araçları çağırmanıza olanak tanır.)
Claude Code için MCP sunucusunu nasıl hızlıca kurarsınız?
hızlı kontrol listesi
1.Sunucunuzu başlatın (Streamable HTTP önerilir): node server.ts veya uvicorn server:app.
- Geliştirme makinenizden, ya:
- Doğrulamak için MCP Inspector kullanın (
npx @modelcontextprotocol/inspector) vetools/listileresources/list’i doğrulayın; ya da - Sunucuyu Claude Code’a ekleyin:
claude mcp add --transport http <name> http://<host>:<port>/mcp(veya istemciniz uzaktan MCP destekliyorsa web UI akışlarını izleyin).
Uzak MCP için Anthropic’in Messages API bağlayıcısını kullanmayı planlıyorsanız (ayrı bir istemci olmadan), Claude dokümanlarını okuyun — bir beta başlığı gerekebilir (doğru başlık ve güncel destek durumu için dokümanları kontrol edin).
Aşağıda Claude Code’a (veya MCP Inspector’a) bağlayabileceğiniz, kopyalayıp çalıştırabileceğiniz iki eksiksiz ama kompakt sunucu örneği verilmiştir. TypeScript örneği Express + TypeScript SDK’sını kullanır; Python örneği bir FastAPI montajını gösterir.
Not: aşağıdaki kod, herkese açık SDK örneklerinden uyarlanmıştır ve netlik için bilerek asgari düzeydedir. Üretim için, G/Ç doğrulama, kimlik doğrulama, günlükleme, hız sınırlama ve SDK varsayılanlarının ötesinde girdi doğrulaması ekleyin.
Örnek 1: TypeScript + Express (Streamable HTTP)
server.ts oluşturun (tamamı):
// server.ts
import express from "express";
import * as z from "zod/v4";
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
const server = new McpServer({ name: "claude-code-demo", version: "0.1.0" });
// Register a simple tool: add two numbers
server.registerTool(
"add",
{
title: "Add",
description: "Add two numbers a and b",
inputSchema: { a: z.number(), b: z.number() },
outputSchema: { result: z.number() }
},
async ({ a, b }) => {
const output = { result: a + b };
return {
content: ,
structuredContent: output
};
}
);
// Register a resource: greet user (dynamic)
server.registerResource(
"greeting",
new ResourceTemplate("greeting://{name}", { list: undefined }),
{ title: "Greeting", description: "Return a greeting for the name" },
async (uri, params) => {
return {
contents:
};
}
);
// Express + Streamable HTTP transport
const app = express();
app.use(express.json());
app.post("/mcp", async (req, res) => {
const transport = new StreamableHTTPServerTransport({ enableJsonResponse: true });
// Close transport when connection closes
res.on("close", () => transport.close());
await server.connect(transport);
await transport.handleRequest(req, res, req.body);
});
const port = parseInt(process.env.PORT || "3000", 10);
app.listen(port, () => console.log(`MCP server listening: http://localhost:${port}/mcp`));
Çalıştırın:
npm install
npx -y tsx server.ts
Ardından Claude Code’da bağlanın (örnek):
# Add the remote server to your Claude Code MCP list (local dev)
claude mcp add --transport http my-demo http://localhost:3000/mcp
Bu örnek, resmi TypeScript SDK Hızlı Başlangıç’tan uyarlanmıştır ve araçların ve kaynakların nasıl kaydedileceğini, ardından Streamable HTTP üzerinden nasıl sunulacağını gösterir.
Örnek 2: Python + FastAPI (FastMCP + Streamable HTTP)
server.py oluşturun (tamamı):
# server.py
from fastapi import FastAPI
from mcp.server.fastmcp import FastMCP
app = FastAPI()
mcp = FastMCP("claude-python-demo", stateless_http=True)
# tool: simple sum
@mcp.tool()
def add(a: int, b: int) -> dict:
"""Add two integers"""
return {"result": a + b}
# resource: simple greeting resource template
@mcp.resource("greeting://{name}")
def greeting(name: str):
return {"contents": }
# mount the streamable-http MCP endpoint (FastMCP exposes an ASGI app)
app.mount("/mcp", mcp.streamable_http_app())
# optional endpoint to demonstrate other API routes
@app.get("/")
async def root():
return {"status": "OK"}
Çalıştırın:
uvicorn server:app --reload --port 8000
Inspector ile bağlanın:
npx @modelcontextprotocol/inspector
# In Inspector select Streamable HTTP and enter http://localhost:8000/mcp
Python SDK örnekleri ve FastMCP yardımcıları, LLM’in keşfedip çağırabileceği @mcp.tool() ve @mcp.resource() ile süslenmiş işlevleri kaydetmeyi kolaylaştırır.
Claude Code araçlarınızı gerçekte nasıl çağırır?
Bir LLM bir aracı kullanmaya karar verdiğinde, istemci MCP sunucusuna bir JSON-RPC çağrısı gönderir. Sunucu istenen aracı (örneğin bir VT sorgusu yapar, testleri çalıştırır veya harici bir API’yi çağırır) yürütür ve yapılandırılmış içerik ile sunulabilir içerik döndürür. İstemci (Claude Code), daha sonra yapılandırılmış çıktıyı modelin bağlamına dahil edebilir; böylece model yalnızca sunucunun metinsel çıktısına değil, güvenilir verilere dayanarak akıl yürütmeye devam eder. TypeScript SDK’sı, bağımsız değişkenlerin ve çıktının doğrulanması ve makine tarafından türlenmesi için inputSchema ve outputSchema (zod) kaydedilmesini destekler.
Hangi test ve hata ayıklama araçlarını kullanmalısınız?
MCP Inspector
MCP Inspector, MCP sunucularını test etmek için resmi görsel geliştirici aracıdır. Bir sunucuya (stdio, SSE veya streamable-HTTP) bağlanmanıza, araçları listelemenize, bunları elle çağırmanıza ve JSON-RPC mesajlarının yaşam döngüsünü incelemenize olanak tanır — geliştirme sırasında çok değerlidir. npx @modelcontextprotocol/inspector ile başlatın.
Yerel ve Uzak test
- Yerel (stdio) — masaüstü uygulamaları ve çevrimdışı hata ayıklama için hızlı yineleme döngüsü.
- Streamable HTTP — Inspector ile test edin veya uzak testler için
claude mcp addCLI’si veya Messages API’deki MCP bağlayıcısını kullanarak Claude Code’a bağlanın. Sunucunuzun gerektirdiği kimlik doğrulama başlıklarını sağladığınızdan emin olun.
Sonuç
MCP, modern LLM’ler ile veriyi gerçekten barındıran ve eylemleri yerine getiren sistemler arasındaki pratik köprüdür. Kod iş akışları için, Claude Code’u bir MCP sunucusuyla entegre etmek, modele depolara, CI’ye, sorun izleyicilerine ve özel araçlara yapılandırılmış ve denetlenebilir erişim sağlar — bunun sonucu daha hassas otomasyon ve daha güvenli yan etkilerdir. TypeScript ve Python için resmi SDK’lar, uzak barındırma için Streamable HTTP ve MCP Inspector gibi araçlarla, birkaç dakika içinde en küçük bir sunucuyu kurabilir ve üretime doğru yineleyebilirsiniz.
Geliştiriciler, CometAPI aracılığıyla Claude Sonnet 4.5 API ve Claude Opus 4.1 API vb.’ne erişebilir; en son model sürümü her zaman resmi web sitesiyle uyumlu şekilde günceldir. Başlamak için modelin yeteneklerini Playground’da keşfedin ve ayrıntılı talimatlar için API kılavuzu’na başvurun. Erişmeden önce, CometAPI’ye giriş yaptığınızdan ve API anahtarını edindiğinizden emin olun. CometAPI, entegrasyonunuza yardımcı olmak için resmi fiyattan çok daha düşük bir fiyat sunar.
Hazır mısınız?→ Bugün CometAPI’ye kaydolun!
Daha fazla ipucu, rehber ve AI haberleri için bizi VK, X ve Discord üzerinden takip edin!
