Skip to main content

MCP serverni klientga ulash

MCP serverni ulash

MCP nimani tushundingiz, balki server ham yozdingiz. Endi eng amaliy savol: serverni qanday qilib AI klientga (Claude Desktop, Cursor, VS Code) ulash? Bu qo'llanma — config fayllar, stdio va remote ulanish, hamda ulanmaganda nima qilish.

Ulanish turlari

Ikki asosiy transport:

  • stdio — server lokal jarayon sifatida ishlaydi, klient uni o'zi ishga tushiradi (eng keng tarqalgan)
  • HTTP / SSE — server alohida (lokal yoki internetda) ishlaydi, klient URL orqali ulanadi (remote, ko'p foydalanuvchi)

Config fayl qayerda

Har klient MCP serverlarni JSON config orqali biladi:

KlientConfig fayl
Claude Desktop (Mac)~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop (Windows)%APPDATA%\Claude\claude_desktop_config.json
Cursor~/.cursor/mcp.json (yoki loyiha .cursor/mcp.json)
VS Code.vscode/mcp.json (loyiha) yoki user settings
Claude Code.mcp.json (loyiha ildizida)

stdio server ulash

Eng oddiy holat — lokal server. Config'ga command va args yoziladi:

{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
},
"mening-serverim": {
"command": "python",
"args": ["/home/user/mcp/server.py"]
}
}
}

Klient ishga tushganda bu jarayonlarni o'zi ko'taradi va stdin/stdout orqali gaplashadi. Qayta ishga tushirgandan keyin serverlar paydo bo'ladi.

Environment variable berish

Server token/parol bilan ishlasa — env orqali bering, kodda hardcode qilmang:

{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_..."
}
}
}
}

Diqqat: bu config fayl token saqlaydi. Uni git'ga qo'shmang, ruxsatini cheklang (chmod 600). Batafsil — MCP xavfsizligi.

Remote (HTTP) server ulash

Internetdagi yoki alohida ishlaydigan server — url va type orqali:

{
"mcpServers": {
"mening-api": {
"type": "http",
"url": "https://mcp.example.com/mcp",
"headers": {
"Authorization": "Bearer TOKEN"
}
}
}
}

Ba'zi klientlar http ni to'g'ridan-to'g'ri qo'llamasa, mcp-remote ko'prigi orqali ulanasiz:

{
"mcpServers": {
"mening-api": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.example.com/mcp"]
}
}
}

Ulanishni tekshirish

  • Klientda MCP/asboblar ro'yxatini oching — server tool'lari ko'rinishi kerak
  • Oddiy tool chaqirib sinab ko'ring
  • npx @modelcontextprotocol/inspector — serverni klientsiz, alohida sinash uchun qulay vosita

Ulanmasa — nima tekshirish

  • JSON xato — vergul, qavs, qo'shtirnoq. Config buzilgan bo'lsa, klient hech narsa ko'rsatmaydi
  • Yo'l noto'g'ricommand/argsdagi fayl yo'li absolyut va to'g'ri ekanini tekshiring
  • Qayta ishga tushirmadingiz — config o'zgarishi faqat klient restart'idan keyin o'qiladi
  • npx/python PATH'da yo'q — to'liq yo'l bering (/usr/bin/python3)
  • Server o'zi xato beradi — klient logini o'qing yoki Inspector bilan alohida ishga tushiring
  • Remote: auth/HTTPS — token to'g'rimi, URL httpsmi, header to'g'rimi

Anti-paternlar

  • Token config'da, git'da: .mcp.jsonni commit qildingiz → token sizdi. .gitignorega qo'shing
  • Restart'ni unutish: config o'zgardi, lekin klient eski holatda. Doim qayta ishga tushiring
  • Nisbiy yo'l: argsda ./server.py — klient boshqa papkadan ishga tushadi, topolmaydi. Absolyut yo'l
  • Hamma serverni ulab tashlash: 20 ta server = 200 tool = kontekst to'lib ketadi va model chalkashadi. Faqat kerakligini (tanlash)

Keyingi qadamlar