استفاده مجدد از ابزارهای Laravel MCP در Laravel AI SDK
خلاصهٔ کاملتر
تیم Exolnet برای یکپارچهسازی ایجنتهای هوش مصنوعی در اپلیکیشنهای لاراولیشون با یه چالش جدی روبرو شدن: دو ابزار جدید لاراول — یعنی Laravel MCP و Laravel AI SDK — هرکدام رابط جداگانهای دارن و اگه بخوای از هر دو استفاده کنی، منطق کسبوکار بینشون تکرار میشه.
Laravel MCP (مخفف Model Context Protocol) کمک میکنه اپلیکیشن لاراولت به یه سرور MCP تبدیل بشه تا ایجنتهای خارجی مثل Claude Desktop، ChatGPT یا GitHub Copilot بتونن ابزارهای داخلی اپ رو کشف و استفاده کنن. این خیلی برای تست سریع ایدهها و پرامپتها مفیده. در مقابل، Laravel AI SDK یه API یکپارچه برای ساخت قابلیتهای AI مستقیماً درون خود اپلیکیشنه — چیزهایی مثل ایجنت تریاژ، دستیار تعبیهشده در UI، یا ابزار خلاصهسازی خودکار.
رویکرد پیشنهادی Exolnet اینه که اول ابزارها رو با MCP بسازی و با ایجنتهای خارجی تست کنی، پرامپتها رو تنظیم کنی، و بعد همون ابزارها رو مستقیماً در AI SDK هم استفاده کنی — بدون اینکه کد تکرار بشه. برای این کار یه کلاس پروکسی به اسم ProxyMcpTool ساختن که قرارداد Laravel\Ai\Contracts\Tool رو پیادهسازی میکنه ولی همه کارها رو به ابزار MCP اصلی واگذار میکنه.
class ProxyMcpTool implements Tool
{
public function handle(AgentRequest $request): Stringable|string
{
$mcpRequest = new McpRequest($request->all());
$response = App::call([$this->tool, 'handle'], [
'request' => $mcpRequest,
]);
return $response instanceof ResponseFactory
? json_encode($response->getStructuredContent())
: (string)$response->content();
}
}این پروکسی نام، توضیح، و اسکیما رو مستقیم از ابزار MCP میگیره و وقتی AI SDK ابزار رو صدا میزنه، درخواست SDK رو به فرمت MCP تبدیل میکنه و به handle ابزار اصلی میفرسته. اینطوری یه منبع واحد برای منطق کسبوکار داری.
در عمل، این تیم همین رویکرد رو روی سیستم باگترکر داخلیشون پیاده کرد. اول ابزارهای MCP رو با GitHub Copilot و Claude تست کردن تا ببینن چی جواب میده. بعد همون ابزارها رو در یه ایجنت تریاژ درون اپلیکیشن استفاده کردن که وقتی باگ جدیدی ثبت میشه، اون رو دستهبندی میکنه، موارد تکراری پیدا میکنه و به تیم کمک میکنه سریعتر شروع کنه.
نکات کلیدی:
- Laravel MCP برای در دسترس گذاشتن ابزارها به ایجنتهای خارجی استفاده میشه
- Laravel AI SDK برای ساخت قابلیتهای AI مستقیم درون اپلیکیشنه
- کلاس ProxyMcpTool از تکرار منطق کسبوکار جلوگیری میکنه
- این رویکرد یه فاز اکتشافی انعطافپذیر قبل از تولید فراهم میکنه
- ایدهآل اینه که این قابلیت به صورت بومی به اکوسیستم لاراول اضافه بشه




