अपना खुद का MCP सर्वर बनाने के लिए Laravel का उपयोग करें
Claude आपके Laravel ऐप के साथ काम कर सकता है। आपको REST API बनाने या कस्टम क्लाइंट लिखने की आवश्यकता नहीं है। आप Model Context Protocol (MCP) के माध्यम से टूल्स (tools) को एक्सपोज़ कर सकते हैं।
laravel/mcp पैकेज इसे आसान बनाता है। आप एक दोपहर में ही MCP सर्वर बना सकते हैं।
एक MCP सर्वर AI को तीन चीजें देता है: • Tools: वे एक्शन जिन्हें मॉडल कॉल करता है, जैसे ऑर्डर्स खोजना। • Resources: केवल पढ़ने योग्य (read-only) डेटा जिसे मॉडल संदर्भ (context) के लिए निकालता है। • Prompts: पुन: प्रयोज्य (reusable) टेम्पलेट्स।
इसे कैसे बनाएँ:
- सेटअप (Setup)
Composer के माध्यम से पैकेज इंस्टॉल करें:
composer require laravel/mcp
अपने रूट्स (routes) पब्लिश करें:
php artisan vendor:publish --tag=ai-routes
- सर्वर बनाएँ (Create a Server)
एक सर्वर आपके टूल्स और रिसोर्सेज को ग्रुप करता है। इसे इस कमांड से जनरेट करें:
php artisan make:mcp-server OrdersServer
इसे routes/ai.php में रजिस्टर करें। आप रिमोट क्लाइंट्स के लिए वेब सर्वर या Claude Code जैसे टूल्स के लिए लोकल सर्वर चला सकते हैं।
- टूल्स बनाएँ (Create Tools)
टूल्स ही वास्तविक काम करते हैं। एक टूल जनरेट करने के लिए उपयोग करें:
php artisan make:mcp-tool SearchOrdersTool
एक टूल के लिए दो मेथड्स की आवश्यकता होती है: • Schema: यह परिभाषित करता है कि मॉडल कौन से आर्गुमेंट्स (arguments) भेजता है। • Handle: यह लॉजिक चलाता है और रिस्पॉन्स लौटाता है।
स्पष्ट विवरण (descriptions) लिखें। मॉडल यह तय करने के लिए इन विवरणों का उपयोग करता है कि आपके टूल का उपयोग कब करना है।
एनोटेशन (Annotations) का उपयोग करें टूल के व्यवहार का वर्णन करने के लिए एट्रिब्यूट्स (attributes) का उपयोग करें: • IsReadOnly: टूल डेटा में कोई बदलाव नहीं करता है। • IsDestructive: टूल डेटा को बदलता या हटाता है। • IsIdempotent: इसे दो बार चलाने पर भी वही परिणाम मिलता है जो एक बार चलाने पर मिलता है।
अपने सर्वर को सुरक्षित करें (Secure Your Server) वेब MCP सर्वर पब्लिक एंडपॉइंट्स होते हैं। उनके साथ किसी भी अन्य API की तरह व्यवहार करें। उन्हें सुरक्षित करने के लिए मिडलवेयर (middleware) का उपयोग करें। ऑथेंटिकेशन के लिए Laravel Sanctum या Passport अच्छा काम करते हैं।
अपने काम का परीक्षण करें (Test Your Work) अपने सर्वर का मैन्युअल रूप से परीक्षण करने के लिए MCP Inspector का उपयोग करें:
php artisan mcp:inspector orders
आप यह सुनिश्चित करने के लिए मानक PHPUnit टेस्ट भी लिख सकते हैं कि आपके टूल्स सही ढंग से काम कर रहे हैं।
अब आपके पास AI के लिए आपके एप्लिकेशन के साथ इंटरैक्ट करने के लिए एक स्टैंडर्ड इंटरफ़ेस है। आपको कोई भी प्रोटोकॉल कोड लिखने की आवश्यकता नहीं है। बस टूल्स जोड़ें, उनका स्पष्ट रूप से वर्णन करें, और उन्हें मिडलवेयर के साथ सुरक्षित करें।
आपने MCP सर्वर को किससे कनेक्ट किया है? मुझे कमेंट्स में बताएं।
स्रोत (Source): https://dev.to/accreditly/use-laravel-to-create-your-own-mcp-server-251g