MCP serverni klientga 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:
| Klient | Config 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'ri —
command/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/pythonPATH'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
- MCP serverlarini tanlash — qaysi serverni ulash kerak
- O'z MCP serveringizni yozish — ulanadigan serverni qurish
- MCP xavfsizligi — token va ruxsatlarni xavfsiz saqlash