MCP server by aziztajibaev
Knowledge MCP — bitta manba, istalgan agent
Bu loyiha barcha jamoa hujjatlari va qoidalarini (rules) bitta source of truth da jamlaydi va ularni Model Context Protocol (MCP) orqali chiqaradi. Siz bu serverni istalgan MCP qo‘llab-quvvatlaydigan agent yoki AI mijoz ga ulab ishlatasiz (Cursor, VS Code, ChatGPT connector, Claude Desktop, boshqalar — mijozingiz qo‘llab-quvvatlashiga qarab).
Sizning vazifangiz:
- Hujjat va qoidalar kontentini serverda Markdown sifatida saqlash va indekslash.
- MCP endpoint URL ni olish va agent sozlamalariga qo‘shish.
Bu README da deploy/hosting bo‘yicha alohida bo‘lim yo‘q — server qayerda ishlashi sizning infratuzilmangizga bog‘liq. Lokal ishga tushirish uchun quyida qisqa texnik qadamlar keltirilgan.
Agentga ulanish (asosiy)
MCP server bazaviy URL: https://mcp.greenwhite.uz/mcp. Jamoa/server uchun query qo‘shing: ?server=slug (masalan: default).
Cursor (mcp.json):
{
"mcpServers": {
"team-knowledge": {
"type": "streamable-http",
"url": "https://mcp.greenwhite.uz/mcp?server=default"
}
}
}
Boshqa mijozlar: ularning hujjatlarida MCP server URL yoki stdio konfiguratsiyasini qo‘llang. Transport sifatida Streamable HTTP yoki stdio qo‘llab-quvvatlanishi kerak.
Inspector (sinov): npx @modelcontextprotocol/inspector → transport: Streamable HTTP → yuqoridagi URL.
Bir nechta jamoa
Bitta server va bitta SQLite ichida bir nechta jamoa: teams jadvali va sources.team_id. Web Kontent sahifasida jamoa tanlanadi yoki yangi jamoa yaratiladi (admin kalit). MCP HTTP da har bir agent o‘z ?team=slug (yoki X-Team-Slug header) bilan ulanadi — sessiya faqat shu jamoaning bilimlarini ko‘radi. stdio rejimida ixtiyoriy TEAM_SLUG (standart default). Batafsil: docs/architecture.md.
MCP da nimalar ochiladi
| Tool / resurs | Rol |
|---------------|-----|
| search_docs, get_doc | Indekslangan hujjatlar bo‘yicha qidiruv va o‘qish |
| list_sources, sync_docs, admin_create_source, admin_rename_source, admin_delete_source | Manbani boshqarish |
| Resources (masalan kb://team/rules) | Qoidalar / reglament matni |
| Prompts | Takrorlanadigan agent ssenariylari |
Kontentni qayerda “bitta manba” qilish
- Web Admin yoki MCP tool
admin_create_source: faqatweb_markdown— matn server bazasida; tahrir:/admin/markdown. - Sync (
sync_docsyoki Admin dagi tugma) —web_markdownuchun holat va tekshiruv (kontent tahrir orqali bazada). - Qoidalar: Markdown tahrirda
.mdsifatida yozing yokikb://team/rulesresursini o‘z kontentingiz bilan kengaytiring (server kodi).
Texnik: lokal ishga tushirish (ixtiyoriy)
Talablar: Node.js 22.5+ (ichki node:sqlite moduli; Node 24 da sinovdan o‘tkazilgan). Ma’lumotlar SQLite faylida (DATABASE_URL, odatda file:./data/teammcp.db).
cp .env.example .env
npm install
npm run db:migrate
npm run build
npm run dev:mcp
npm run dev:web
- MCP HTTP:
https://mcp.greenwhite.uz/mcp - Web UI (admin/playground):
https://mcp.greenwhite.uz
Loyiha tuzilishi va ichki arxitektura: docs/architecture.md.
