اگر یک پروژه با بیش از ۸۰ هزار خط کد مدیریت میکنید، احتمالاً عامل هوش مصنوعی شما بیشتر از آنکه مسئله را حل کند، مشغول حدس زدن مکان فایلهاست. توسعهدهندهای به نام ناوین یالا (Naveen Yalla) برای حل این مشکل، MCP Server Toolkit را منتشر کرد تا جلوی یک شکست بحرانی در بازیابی دادهها را بگیرد: تمایل عاملها به خواندن تکتک فایلها تا رسیدن به سقف حافظه و سپس تولید پاسخهای توهمآمیز.
زمینه: چرا هوش مصنوعی حدس میزند؟
بسیاری از عاملهای هوش مصنوعی نه بهدلیل ضعف در استدلال، بلکه چون نمیدانند کجا دنبال پاسخ بگردند، شکست میخورند. تصور کنید از یک عامل میپرسید «کجا ورودی کاربر را قبل از ذخیره در دیتابیس اعتبارسنجی میکنیم؟». در یک پروژه کوچک، خواندن متوالی فایلها جواب میدهد؛ اما در محیطهای واقعی با دهها مهندس، پوشههایی که نیمی از آنها تغییر نام یافتهاند و سالها زمینه انباشته شده، این فرآیند سریعاً بههم ریخته و دشوار میشود.
عاملها معمولاً تعداد محدودی از فایلها را میخوانند، پنجره متنی (Context Window) خود را میسوزانند و سپس پاسخی با اطمینان کامل میدهند که به بخش غلطی از کد اشاره میکند. این یک مشکل بازیابی (Retrieval) است، نه یک مشکل استدلالی. هدف این مجموعهابزار این است که جلوی حدس زدن عامل را بگیرد و در عوض، ابزارهایی در اختیارش قرار دهد که دقیقاً بدانند کجا باید جستجو کنند.
چرا MCP؟
این تولکیت از پروتکل زمینه مدل (Model Context Protocol یا MCP) استفاده میکند؛ استانداردی که به عاملهای هوش مصنوعی اجازه میدهد ابزارهای خارجی را بهصورت استاندارد فراخوانی کنند. بهجای امید به اینکه زمینه درست در یک پرامپت جا شود، عامل میتواند ابزاری تخصصی مانند search_code("validate user input") را صدا بزند. این کار مسیرهای دقیق فایل و شماره خطوط را برمیگرداند که منجر به اتلاف کمتر توکنها و دقت بالاتر در کدهای حجیم میشود.
طبق مستندات پروژه، این تولکیت شامل چهار سرور تخصصی است که برای ارائه زمینههای متمرکز طراحی شدهاند:
جزئیات: چهار سرور اصلی
- mcp-code-search: این سرور در سراسر مخزن (Repo) جستجو میکند و نتایج مرتبط را همراه با مسیر فایل، شماره خط و زمینه اطراف آن برمیگرداند. برای مثال، اگر کاربر بخواهد تمام فراخوانیهای
sendEmailرا پیدا کند، عامل دستورsearch_code("sendEmail")را اجرا کرده و نتایج دقیقی مانندapi/users.ts:89،services/email.ts:42وjobs/reminders.ts:117را دریافت میکند. همچنین ابزارهایread_fileوlist_filesرا شامل میشود تا عامل فقط فایلهای ضروری را بررسی کند. - mcp-database: این سرور دسترسی با زبان طبیعی به Postgres و SQLite را فراهم میکند. اگر بپرسید «چند کاربر در ۷ روز گذشته ثبتنام کردهاند؟»، عامل کوئری زیر را اجرا میکند:
SELECT count(*) FROM users WHERE created_at > now() - interval '7 days';. نکته حیاتی این است که این دسترسی بهصورت پیشفرض فقط خواندنی (Read-only) است. حالت نوشتنی باید صراحتاً فعال شود تا اطمینان حاصل شود که عاملها نمیتوانند دادههای عملیاتی را تغییر دهند، مگر اینکه توسعهدهنده عمداً اجازه دهد. - mcp-docs: این سرور پوشههای Markdown محلی را برای دفترچههای راهنما (Runbooks)، مراجع API یا یادداشتهای پروژه ایندکس میکند. این سیستم به هیچ تنظیمات Embedding یا API خارجی نیاز ندارد، به این معنی که مستندات به هیچ کجا ارسال نمیشوند. برای پرسشی مانند «دفترچه راهنمای ما درباره بازگرداندن (Rollback) یک استقرار چه میگوید؟»، عامل
search_docs("rollback deployment")را برای یافتن خطوط خاص در فایلهایی مثلdocs/ops/deploy.mdفراخوانی میکند. - mcp-git: این ابزار به عاملها اجازه میدهد تاریخچه گیت، Diffها، Blame و شاخهها (Branches) را استعلام کنند. این قابلیت برای درک «چرایی» یک تغییر ضروری است. اگر توسعهدهندهای بپرسد چرا یک اعتبارسنجی خاص اضافه شده است، عامل میتواند Git Blame و کامیتهای اخیر آن فایل خاص را بررسی کند.
نصب و پیکربندی
نصب این سیستم از طریق یک دستور واحد انجام میشود: npx mcp-server-toolkit@latest init. این دستور یک راهاندازی تعاملی را آغاز میکند که در آن کاربران سرورهای مورد نیاز خود را انتخاب کرده و در صورت استفاده از سرور دیتابیس، DATABASE_URL را وارد میکنند. سپس پیکربندیهایی سازگار با Claude Code، Cursor، Windsurf و سایر کلاینتهای سازگار با MCP تولید میکند.
برای پیکربندی دستی در Claude، این تولکیت از یک ساختار JSON استفاده میکند که در آن هر سرور (جستجوی کد، دیتابیس، مستندات، گیت) با دستور و آرگومانهای خود تعریف میشود. برای مثال، سرور مستندات با دستور npx -y @mcp-toolkit/docs ./docs مقداردهی اولیه میشود. پس از ریاستارت کردن کلاینت، ابزارها بلافاصله در دسترس قرار میگیرند.
گسترش مجموعهابزار
برای کسانی که به دنبال گسترش سیستم هستند، یالا کتابخانه @mcp-toolkit/core را گنجانده است. این کتابخانه ساخت سرورهای جدید را ساده میکند. یک توسعهدهنده میتواند با دستور npm run new-server -- my-server-name یک سرور جدید ایجاد کند.
کتابخانه هسته (Core) از Zod برای اعتبارسنجی ورودیهای ابزار استفاده میکند. برای مثال، یک ابزار get_feature_flags میتواند شیء ورودی را تعریف کند که نیاز به یک رشته env (مانند staging یا production) داشته باشد. اگر عامل شکل دادههای غلط را ارسال کند، Zod خطایی تولید میکند که آنقدر شفاف است که عامل میتواند خودش را اصلاح کند. یالا در طول توسعه اشاره کرد که SDK تایپاسکریپت MCP بسیار مستحکم است و اجازه میدهد بیشتر تلاشها صرف منطق ابزار شود تا لولهکشیهای پروتکل.
این تغییر رویکرد از «بخوان و حدس بزن» به «جستجو کن و بررسی کن»، تمرین بنیادی مهندسی به کمک هوش مصنوعی را تغییر میدهد. با انتقال بار بازیابی از پنجره متنی LLM به یک ابزار تخصصی، توسعهدهندگان میتوانند حتی با رشد کدبیس، دقت را حفظ کنند.
نقشه راه و آینده
نسخه فعلی جستجوی کد، دیتابیسها، مستندات و گیت را پوشش میدهد. نقشه راه این تولکیت شامل ادغامهای آینده با موارد زیر است:
- Notion
- Linear/Jira
- یک رابط کاربری وب کوچک برای ابزارهای ثبتشده
- مثالهای بیشتر برای سرورهای MCP سفارشی
توسعهدهندگان در حال حاضر میتوانند به کل سورسکد دسترسی داشته باشند و از طریق مخزن گیتهاب پروژه در آدرس https://github.com/naveenayalla1-CS50/mcp-server-toolkit مشارکت کنند.




گفتگو