RailsIran

سرور mcp

دانلود
سرور Model Context Protocol

ric mcp سطح دستورهای ric را به صورت یک سرور Model Context Protocol در دسترس قرار می‌دهد، تا دستیارهای هوش مصنوعی مثل Claude بتوانند به نیابت از شما ric را اجرا کنند — ساخت پروژه، sync، اجرای migration، deploy — بدون اینکه دستورها را در ترمینال copy/paste کنید.

نحوه‌ی استفاده

$ ric mcp

این یک سرور JSON-RPC را روی stdin و stdout مطابق با استاندارد MCP شروع می‌کند. معمولا خودتان مستقیما اجرایش نمی‌کنید — به جای آن دستیار هوش مصنوعی را پیکربندی می‌کنید تا آن را راه بیندازد.

چه چیزهایی در دسترس قرار می‌گیرد

سرور مجموعه‌ای کوچک از ابزارها را معرفی می‌کند که آینه‌ی دستورهای CLI ای ric هستند.

ric_version نسخه و اطلاعات بیلد ric را گزارش می‌دهد. دستیار می‌تواند از این برای تایید این که کدام بیلد نصب شده، قبل از هر کار دیگری استفاده کند.

ric_sync فایل‌های میزبان را داخل کانتینر sync می‌کند. مثل نسخه‌ی CLI، پوشه‌های tmp/ و storage/ کنار گذاشته می‌شوند. دستیار از این بعد از ویرایش فایل‌ها به نیابت از شما برای فرستادن تغییرات به کانتینر استفاده می‌کند.

ric_rails یک دستور bin/rails را داخل کانتینر اجرا می‌کند و نتایج را به میزبان sync می‌کند. این چیزی است که دستیار برای generatorها، migrationها، اسکریپت‌های runner، و هر دستور یک‌باره‌ی دیگر Rails استفاده می‌کند.

ric_container_start کانتینر داکر پروژه را اگر در حال اجرا نباشد، شروع می‌کند. وقتی دستیار متوجه می‌شود کانتینر دولوپ متوقف است، مفید است.

ric_container_stop کانتینر پروژه را متوقف می‌کند — مثلا قبل از یک وقفه‌ی طولانی یا قبل از reboot کردن.

ric_migrate migrationهای دیتابیس را داخل کانتینر اجرا می‌کند. این یک شورت‌کات راحت برای حالت رایج bin/rails db:migrate است.

ric_deploy اولین deploy روی سرور ریموت را انجام می‌دهد. دستیار این را روی یک پروژه‌ی تازه صدا می‌زند؛ نیازمند وجود .ric/deploy.yml است.

ric_upgrade یک deploy موجود را روی سرور ریموت upgrade می‌کند. دیتابیس و credentialهای production حفظ می‌شوند. دستیار از این برای انتشارهای جاری بعد از ric_deploy اولیه استفاده می‌کند.

هر ابزار در پوشه‌ی کاری فعلی پروژه اجرا می‌شود — دقیقا مثل وقتی که خودتان ric را از ترمینال اجرا می‌کنید.

پیکربندی Claude Desktop یا Claude Code

در پیکربندی Claude — claude_desktop_config.json در Claude Desktop، یا ~/.claude/settings.json در Claude Code — این را اضافه کنید:

{ "mcpServers": {
     "ric": {
       "command": "ric",
       "args": ["mcp"],
       "cwd": "/absolute/path/to/your/project"
     }
   }
 }

فیلد cwd مهم است: دستورهای ric فرض می‌کنند از داخل پوشه‌ی یک پروژه اجرا می‌شوند.

اگر اغلب بین پروژه‌ها جابجا می‌شوید، می‌توانید چند ورودی پیکربندی کنید (ric-shop، ric-blog) یا cwd را حذف کنید و بگذارید دستیار ric را از هر پوشه‌ای که فعلی می‌داند اجرا کند.

یک session معمولی

شما می‌گویید: «یک مدل Post با title و body اضافه کن، migration را اجرا کن، و به من بگو چند تا post وجود دارد.»

Claude از طریق ric_rails پاسخ می‌دهد: مدل و migration را generate می‌کند، migration را اجرا می‌کند، یک runner برای شمارش postها اجرا می‌کند، و عدد را برمی‌گرداند.

سپس می‌گویید: «بفرستش.»

Claude از طریق ric_upgrade پاسخ می‌دهد: ایمیج جدید را build می‌کند، آپلود می‌کند، دیتابیس را migrate می‌کند، و اپلیکیشن را روی سرور شما restart می‌کند.

نکات ایمنی

ric_deploy و ric_upgrade تغییرات واقعی روی یک سرور واقعی ایجاد می‌کنند. مطمئن شوید دستیار دستورالعمل صریحی درباره‌ی این دارد که به چه پروژه‌ها و سرورهایی می‌تواند دست بزند.

Master keyهایی که ric تولید می‌کند، در .ric/keys/production.key روی سیستم محلی شما نوشته می‌شوند. سرور MCP آن‌ها را جایی نمی‌فرستد — این هنوز دسترسی محلی به فایل است.

سرور MCP با کاربر شما اجرا می‌شود: همان دسترسی‌های فایل‌سیستم، همان credentialهای SSH. هیچ sandbox ای نیست.

مرحله‌ی بعد

با ابزارهایی که هوش مصنوعی صدا خواهد زد آشنا شوید: ric rails، ric deploy، ric upgrade.