name: mcp-registry description: MCP server registry, auto-discovery, configuration, custom server development guide
MCP Registry & Auto-Discovery
MCP Nedir?
Model Context Protocol (MCP) - Claude'un dis sistemlerle (DB, API, browser, dosya sistemi) iletisim kurmasini saglayan standart protokol.
Kurulu MCP Server'lar
Kontrol: ~/.mcp.json dosyasini oku.
# Mevcut durumu gor
cd ~/.claude && python3 scripts/mcp/registry.py status
Proje Icin MCP Onerisi
# Proje dizinindeki dosyalara gore oneri al
cd ~/.claude && python3 scripts/mcp/registry.py recommend /path/to/project
# Tum registry'yi gor
cd ~/.claude && python3 scripts/mcp/registry.py list
Bilinen MCP Server'lar
Resmi (Anthropic / MCP)
| Server | Kullanim | Sinyal Dosyalari |
|---|---|---|
| github | GitHub API (repo, issue, PR) | .github/, .git/ |
| filesystem | Dosya sistemi erisimi | * |
| postgres | PostgreSQL DB | schema.prisma, *.sql, migrations/ |
| sqlite | SQLite DB | *.db, *.sqlite |
| docker | Docker yonetimi | Dockerfile, docker-compose.yml |
| puppeteer | Browser otomasyon | playwright.config., cypress.config. |
| brave-search | Web arama | - |
| chrome-devtools | Browser debug | next.config., vite.config. |
| kubernetes | K8s cluster | k8s/, kustomization.yaml |
3rd Party (Kurulu)
| Server | Kullanim | Durum |
|---|---|---|
| browser-use | AI browser otomasyon | ~/.mcp.json'da |
| codebase-memory | Codebase indexing (64 dil) | ~/bin/codebase-memory-mcp |
| notion | Notion workspace | ~/.mcp.json'da |
| crawl4ai | Web crawling | pip, crwl CLI |
~/.mcp.json Konfigurasyonu
{
"mcpServers": {
"server-adi": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-X"],
"env": {
"API_KEY": "..."
}
}
}
}
Ornek: GitHub MCP Ekleme
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxx"
}
}
}
}
Ornek: PostgreSQL MCP
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost:5432/db"]
}
}
}
Ozel MCP Server Yazma
Minimal Python MCP Server
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("my-server")
@mcp.tool()
def my_tool(param: str) -> str:
"""Tool aciklamasi"""
return f"Sonuc: {param}"
@mcp.resource("resource://my-data")
def my_resource() -> str:
"""Resource aciklamasi"""
return "data"
if __name__ == "__main__":
mcp.run()
Minimal TypeScript MCP Server
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: "my_tool",
description: "Tool aciklamasi",
inputSchema: { type: "object", properties: { param: { type: "string" } } }
}]
}));
server.setRequestHandler(CallToolRequestSchema, async (request) => ({
content: [{ type: "text", text: `Sonuc: ${request.params.arguments?.param}` }]
}));
const transport = new StdioServerTransport();
await server.connect(transport);
mcp.json'a Ekleme
{
"mcpServers": {
"my-server": {
"command": "python3",
"args": ["/path/to/server.py"]
}
}
}
MCP Debug & Troubleshooting
Server Baslatma Testi
# Server'in calistigini dogrula
echo '{"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{}},"id":1}' | npx -y @modelcontextprotocol/server-github 2>/dev/null
Yaygin Sorunlar
| Sorun | Cozum |
|---|---|
| "spawn ENOENT" | command path'i kontrol et, npx/python3 PATH'te mi? |
| "Connection refused" | Server'i manual calistir, hata mesajini oku |
| Tool gorunmuyor | Claude Code'u restart et (MCP session basinda yuklenir) |
| Timeout | args'a timeout flag ekle, veya network kontrol et |
| Auth hatasi | env degiskenlerini kontrol et (.env degil, mcp.json'a yaz) |
| Python version uyumsuzluk | Python 3.10+ gerekli, python3 --version kontrol et |
| pip kurulum hatasi | pip3 install --user --break-system-packages <paket> |
Loglar
# Claude Code MCP loglarini gor
ls ~/.claude/logs/mcp*.log 2>/dev/null
# Server'i verbose modda calistir
DEBUG=* npx -y @modelcontextprotocol/server-github 2>&1 | head -50
Auto-Discovery Hook
mcp-discovery.ts hook'u session basinda otomatik calisir:
- Proje dizinindeki dosyalari tarar
- Kurulu olmayan ama faydali MCP server'lari tespit eder
- systemMessage ile oneri gosterir
- Session basina 1 kez calisir
Registry Script
cd ~/.claude && python3 scripts/mcp/registry.py recommend . # Oneri
cd ~/.claude && python3 scripts/mcp/registry.py status # Kurulu
cd ~/.claude && python3 scripts/mcp/registry.py list # Tumu