Kwiminyaka embalwa emva kokufunda inqaku. Ndingathanda, ngoko ke? Ufuna i-AI malunga neengxaki, kwaye inqanda yonke into efunyenwe. Le kinda wahlala umdla kum, ndingathanda ukubhalisa njenge-10 iingxaki kodwa awukwazi ukuhlaziywa kwakhona. Nangona kunjalo, ingxenye yam uyakholelwa ukuba abantu bafumane ukufunda into eyenziwe ngabantu. Njengoko, i-AI ayikwazanga ukuba uqhagamshelane le nqakraza, kodwa hey, i-humane, i-crappy, kodwa i-humane. Enkosi, ngoko ke. Nangona kunjalo, ndicala malunga ne-AI namhlanje (i-irony ha). I-Laravel Boost ye-Laravel Boost ye-Intelligent Intelligence (i-Intelligent Intelligence) yenza i-intelligent Intelligence (i-Intelligent Intelligent Intelligence) engaphansi. I-intelligent Intelligent Intelligence (i-Intelligent Intelligence) yenza i-intelligent Intelligent Intelligence (i-Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Intelligent Int . Ukucinga Umgangatho WTF ukuba MCPs Ndingathanda ukuba ndingathanda malunga nenkqubo yokushicilela ngokushesha; kukho iintlobo ezininzi apho. Ngoku, siza kubhalwe malunga ne-bottleneck yesibili: . context I-LLM ibandakanya kwi-datasets ezininzi, kwaye le datasets ziyi-reference yayo. Umzekelo, ukuba idatha ye-training kunika kwi-2023 kwaye uthetha malunga ne-weather yodumo, akayi kuba ingxaki. Ngoko ke yintoni nathi? Thumela i-LLM, ukunika iinkcukacha ze-up-to-date, ngokusebenzisa izixhobo. Uyakwazi ukuyisebenzisa oku ngaphandle kokufumana. Qhagamshelane ne-LLM malunga nezindaba ezininzi, kwaye uya kufumana i-"searching web". Oku yindlela esebenzayo, ukutya i-AI idatha omtsha ukuze inokufuneka. Neat. Kodwa "searching web" yinto kuphela isixhobo eyongezwayo. Ukuba unemibuzo malunga neetikethi yakho ye-Jira, ayikwazanga. Kwaye ucinga, ama-providers efana ne-OpenAI okanye i-Anthropic ayikwazi ukwakha izixhobo kuzo zonke iimfuneko ezinokwenzeka. Umzekelo, unokufuneka i-LLM yakho ukufumana iinkcukacha zebhizinisi zebhizinisi. Kwaye apho umzekelo wokufumana isixhobo yakho. I-LLM inokufumana isixhobo yakho, ukuthatha idatha esifunayo, kwaye emva koko uxhaso. Kwakhona, kakuhle kakhulu. Njengoko i-Anthropic ilungiselele i-Model Context Protocol (MCP) ukuze zibonise oku. I-LLM ibonise indlela yokufunda izixhobo, indlela yokufaka izixhobo kwakhona, kunye neendlela yokufumana i-context engaphezulu. Ngoko ke, ukuba awukwazi ukufumana i-MCPs, kakuhle, siza kubandakanya. Kwi-core, zibonise kuphela ingxubevange elifutshane ebonakalisa i-LLMs usebenzisa izixhobo (njenge-"searching web" izixhobo) ukufumana i-context engaphezulu. I-MCPs zenza ubuncinane ngakumbi. I-MCPs zenza ubuncinane ngakumbi. Kwaye ezi zixhobo ziya kunokwenzeka: iingcingo ze-API, iingcingo ze-system, iingcingo ze-methode, nayiphi na into. Ngaphandle kokuba zinika umyalezo kwakhona kwi-LLM, iimodeli ingasetyenziswa ekugqibeleni umsebenzi. Cool. Ngoku uyazi malunga ne-MCPs. Uyakwazi ukufunda ngaphezulu malunga nabanye . Yiba Ngaba uLaravel Boost? Ngoko ke, i-Laravel Boost yinto ngokubanzi i-MCP server enikezela isixhobo ezininzi. Ezi zixhobo zithembisa kwi-Laravel ecosystem, izinto ezifana nokulungisa iindlela, ukubuyekeza i-logs, okanye ukubuyekeza i-Documents ye-Laravel. Ngoko ke, xa ukhangela i-LLM ukuguqula i-Vibe-coded SaaS yakho, kunokufuneka le nkqubo yokusetyenziswa. Nangona, akukho nto ibonelela, i-LLM ingaba i-bitch kwaye sincoma kuphela izixhobo, ukwakha indlela engapheliyo 🏽. Yaye ke unxibelelanisa ukuguqulwa, unxibelelanisa, unxibelelanisa ngokuzenzekelayo, kwaye uqhagamshelane kunye ne-"ukuba ufumane, unemibuzo ngokupheleleyo"... Yaye ke unxibelelanisa ukuguqulwa, unxibelelanisa, unxibelelanisa ngokuzenzekelayo, kwaye uqhagamshelane kunye ne-"ukuba ufumane, unemibuzo ngokupheleleyo"... Ndingathanda ukucacisa indlela yokufakelwa; kukho ngoku i-official i-A , kunye neengxaki ze-community guides. Ukongezelela, ngexesha elifanelekileyo kwi-party. Ividiyo ze-YouTube I-Episode yeLaracasts Nangona kunjalo, ndingathanda ukuba Laravel Ukukhuthaza. Ukucinga Yintoni Yintoni i-Laravel Boost? Ukucinga Ukucinga I-Boost inikezela ukunika isicelo yakho i- "i-purpose", ngokubanzi i-description ye-product yakho ukuze i-AI uyazi i-context. Ngaba unayo ukwakha i-SaaS, unokufunda into efanayo: Isicelo se-SaaS enikeza iinkonzo ze-X njl. Isicelo se-SaaS enikeza iinkonzo ze-X njl. Uyazi iimveliso yakho best buddy. Okokuqala, qinisekisa ukuba uqhagamshelane i-Boost config: php artisan vendor:publish --tag=boost-config Xa ngexesha lokufaka, ifayile ye-config ibonakala ngathi: <?php declare(strict_types=1); return [ /* |-------------------------------------------------------------------------- | Boost Master Switch |-------------------------------------------------------------------------- | | This option may be used to disable all Boost functionality, which | simply provides a single and convenient way to enable or disable | Boost's AI development tools. | */ 'enabled' => env('BOOST_ENABLED', true), /* |-------------------------------------------------------------------------- | Boost Browser Logs Watcher |-------------------------------------------------------------------------- | | The following option may be used to enable or disable the browser logs | watcher feature within Laravel Boost. The log watcher will read any | errors within the browser's console to give Boost better context. */ 'browser_logs_watcher' => env('BOOST_BROWSER_LOGS_WATCHER', true), ]; Ukongeza inkqubo ye-application ethandwa ngexesha elidlulileyo, uqhagamshelane isicelo esitsha kwi-config: // omitted for breivety 'purpose' => 'Describe your application purpose' Ukuze kube lula, kufuneka re-generate izixhobo: php artisan boost:install Kwiimiyalezo ezidlulileyo, umzekelo, ukuba usebenzisa i-Cursor, uya kufumana inkqubo yakho (ngokuthanda ukuba bonke nathi lol) , kwi "I-Context Fundamental" inqaku. .cursor/rules/laravel-boost.mdc I-Less Is More Ukukhuthaza izindlu kunye ne-15+ izixhobo, kodwa kuxhomekeke kwi-app yakho ungenza bonke. Ukuba ukwakha i-API epheleleyo, ungenza i-API. izixhobo, unxibelelwano kwi-frontend hell. Ngoku, ndifumana iimveliso Ngaba ungenza, i-LLM inokufunda nje i-config ngokuthe ngqo ngaphandle kokuphuma kwi-hoops. Ngoko ke siphinde. BrowserLogs GetConfig ListAvailableConfigKeys Tweak ukuba Ukucinga: boost.php <?php use Laravel\Boost\Mcp\Tools\GetConfig; use Laravel\Boost\Mcp\Tools\BrowserLogs; use Laravel\Boost\Mcp\Tools\ListAvailableConfigKeys; // omitted for breivety 'mcp' => [ 'tools' => [ 'exclude' => [BrowserLogs::class, GetConfig::class, ListAvailableConfigKeys::class], ], ], Boom, 3 izixhobo zangaphantsi. Kwakhona njengoko ukunceda izixhobo, unako ukongezelela izixhobo zayo. Umzekelo, ndifuna ukuba izixhobo ebhalise zonke iziganeko ezihlaziywa kwi-app. Ukuba utshintshe kwiipakheji ze-third-party, oku kubandakanya i-LLM ukufumana iziganeko ezihlaziyweyo kunokuba zihlanganisa kwimeko yokwakha i-logic eyongezelelweyo okanye ukwandisa izifundo. Phantsi kwe-cap, i-Boost isebenzisa i-first-party package entsha, , leyo ukulawula ukuvelisa izixhobo kunye nezinto ezininzi. Unako ukwenza izixhobo ezintsha nge: laravel/mcp php artisan make:mcp-tool ListEvents I-tool code ye-listing event yinto efana ne: <?php namespace App\Mcp\Tools; use Illuminate\Support\Facades\Artisan; use Laravel\Mcp\Server\Tool; use Laravel\Mcp\Server\Tools\Annotations\IsReadOnly; use Laravel\Mcp\Server\Tools\ToolInputSchema; use Laravel\Mcp\Server\Tools\ToolResult; use Symfony\Component\Console\Command\Command as CommandAlias; use Symfony\Component\Console\Output\BufferedOutput; #[IsReadOnly] class ListEvents extends Tool { public function description(): string { return 'List all available events defined in the application'; } public function schema(ToolInputSchema $schema): ToolInputSchema { return $schema; } /** * @param array<string> $arguments */ public function handle(array $arguments): ToolResult { $eventsOutput = $this->artisan('event:list'); return ToolResult::text($eventsOutput); } /** * @param array<string|bool> $options */ private function artisan(string $command, array $options = []): string { $output = new BufferedOutput; $result = Artisan::call($command, $options, $output); if ($result !== CommandAlias::SUCCESS) { return 'Failed to list routes: '.$output->fetch(); } return trim($output->fetch()); } } Emva koko uqhagamshelane, ungenza, ifayile config: <?php use App\Mcp\Tools\ListEvents; use Laravel\Boost\Mcp\Tools\GetConfig; use Laravel\Boost\Mcp\Tools\BrowserLogs; use Laravel\Boost\Mcp\Tools\ListAvailableConfigKeys; // omitted for breivty 'mcp' => [ 'tools' => [ 'exclude' => [BrowserLogs::class, GetConfig::class, ListAvailableConfigKeys::class], 'include' => [ListEvents::class], // include the tool ], ], Kwaye ngexesha elifanayo, ubeka i-custom tool. I-Bonus Tip: I-MCP Server Boost isetyenziselwa kunye ne-inspector, ngoko unako ukuyifaka izixhobo ezintsha ngokuzenzekelayo. Just run: I-Bonus Tip: I-MCP Server Boost isetyenziselwa kunye ne-inspector, ngoko unako ukuyifaka izixhobo ezintsha ngokuzenzekelayo. Just run: php artisan mcp:inspector laravel-boost Ingaba uya kufumana zonke izixhobo ezikhoyo, ukuyifaka, njl. Ngaba ushiye, ngaba ushiye kwindawo yam Ukuba usebenzisa i-modular monolith architecture kunye ne- directory... iindaba eziliqhelekileyo: Boost kuphela ukubuyekeza i-enums, iimodeli, kunye ne-controller ngaphakathi . modules/ app/ Ingaba kulungileyo ukuba kukho indlela yokuzonwabisa oku, kodwa ngexesha elide, siya kwenza kwakhona. Yintoni na kufuneka uyenze i-rebind Ngokuba umdla wakho Yintoni scans (Ukuba ngoko ke) Laravel\Boost\Install\GuidelineAssist GuidelineAssist modules/ Umgangatho yakho Custom ingaba kuba: <?php declare(strict_types=1); namespace App\Support; use Illuminate\Database\Eloquent\Model; use Laravel\Boost\Install\GuidelineAssist; use ReflectionClass; use Symfony\Component\Finder\Finder; class CustomGuidelineAssist extends GuidelineAssist { public function __construct() { $this->modelPaths = $this->discover(fn ($reflection) => ($reflection->isSubclassOf(Model::class) && ! $reflection->isAbstract())); $this->controllerPaths = $this->discover(fn (ReflectionClass $reflection) => (stripos($reflection->getName(), 'controller') !== false || stripos($reflection->getNamespaceName(), 'controller') !== false)); $this->enumPaths = $this->discover(fn ($reflection) => $reflection->isEnum()); } private function discover(callable $cb): array { $classes = []; if (empty(self::$classes)) { $finder = Finder::create() ->in([app_path(), base_path('modules')]) ->files() ->name('/[A-Z].*\.php$/'); foreach ($finder as $file) { $relativePath = $file->getRelativePathname(); $isModule = str_starts_with($file->getRealPath(), base_path('modules')); $className = $isModule ? 'Modules\\'.str_replace(['/', '.php'], ['\\', ''], $relativePath) : app()->getNamespace().str_replace(['/', '.php'], ['\\', ''], $relativePath); try { if ($this->fileHasClassLike($file->getRealPath()) && class_exists($className)) { self::$classes[$className] = $file->getRealPath(); } } catch (\Throwable) { // Ignore exceptions from class loading } } } foreach (self::$classes as $className => $path) { if ($cb(new ReflectionClass($className))) { $classes[$className] = $path; } } return $classes; } } Oku kubandakanya i-parent discovery() kunye neengxaki ezincinane. Oku kubandakanya i-parent discovery() kunye neengxaki ezincinane. Ukuba unayo, ukuyifaka izixhobo "i-application-info" kwi-inspector kufuneka ibonisa zonke iimodeli zayo zithunyelwe ngokufanelekileyo. Yintoni i I-AI isithunyelwe? Ngaba. Kodwa isithunyelwe ngaphantsi kakhulu nge-tool efanelekileyo, into efana ne-Boost. Kodwa akufutshane apho. Kukho i-MCP for everything: GitHub, Sentry, kunye neLinear. Zibonisa iintlobo ze-value. Ungayifunda i-MCP yakho ye-mcp for fun. (ewe, kulula i-fries), kunye nomnye ebonakalayo i-Spotify yokudlala ngokufanelekileyo njengoko i-code ebonakalayo. Yenza kwi-My Air Fryer https://x.com/OussamaMater/status/1954648925320655213?embedable=true I-Fact Funny: Nangona ndithanda kwi-AI apha, ndisebenzisa i-AI ukuguqula i-grammar yam. Ukuguqula i-grammar ngexesha ukufumana i-insulted, i-cool lol. I-Sorry AI, unako ukuchithisa kwakhona ngexesha. I-Fact Funny: Nangona ndithanda kwi-AI apha, ndisebenzisa i-AI ukuguqula i-grammar yam. Ukuguqula i-grammar ngexesha ukufumana i-insulted, i-cool lol. I-Sorry AI, unako ukuchithisa kwakhona ngexesha.