Blog
|
MCP (Model Context Protocol)

npm'de MCP Server Nasıl Geliştirilir ve Yayınlanır (Adım Adım)

19 Mart 202611 dk okumaMCP · TypeScript · Zod · npm yayınlama · Claude Desktop

Bir MCP sunucusu oluşturup npm'e yayınlamak, 2026'da geliştirici olarak yapabileceğiniz en yüksek kaldıraçlı teknik yatırımlardan biridir. İşte proje kurulumundan canlı, kurulabilir npm paketine kadar keşke sahip olsaydım dediğim adım adım kılavuz.

Ön Koşullar

  • Node.js 18+ ve npm hesabı (npmjs.com)
  • TypeScript aşinalığı (MCP SDK TypeScript-önceliklidir)
  • Sunucunuzun hangi araçları/kaynakları expose edeceğine dair net bir fikir

Adım 1: Proje Kurulumu

mkdir my-mcp-server && cd my-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk zod
npm install -D typescript @types/node tsx

tsconfig.json'u "module": "NodeNext" ve "moduleResolution": "NodeNext" ile yapılandırın. MCP SDK ES modülleri kullanır.

Adım 2: Sunucunuzu Uygulayın

import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server({ name: "my-server", version: "1.0.0" }, {
  capabilities: { tools: {} }
});

server.setRequestHandler(ListToolsRequestSchema, async () => ({
  tools: [{
    name: "get_data",
    description: "Veri kaynağımdan veri çek",
    inputSchema: { type: "object", properties: { query: { type: "string" } }, required: ["query"] }
  }]
}));

const transport = new StdioServerTransport();
await server.connect(transport);

Adım 3: npm için package.json Yapılandırması

{
  "name": "@kapsamınız/my-mcp-server",
  "version": "1.0.0",
  "type": "module",
  "bin": { "my-mcp-server": "./dist/index.js" },
  "files": ["dist"],
  "scripts": { "build": "tsc", "prepare": "npm run build" }
}

Adım 4: Build ve Yayınlama

npm run build
npm login
npm publish --access public

Sunucunuz artık npx @kapsamınız/my-mcp-server ile kurulabilir.

Adım 5: Claude Desktop'a Bağlanma

{
  "mcpServers": {
    "my-server": {
      "command": "npx",
      "args": ["-y", "@kapsamınız/my-mcp-server"]
    }
  }
}

Claude Desktop'ı yeniden başlatın — araçlarınız hemen görünecektir.

Akın Coşkun

Full Stack Developer · AI & Automation

Tüm yazılar