هل أنت مستعد لجعل تطبيقاتك المدعومة بالذكاء الاصطناعي أكثر ذكاءً؟ اليوم، سنتعمق في **خادم SpringBoot MCP**، وهو أداة رائعة تتيح لنماذج الذكاء الاصطناعي مثل Claude أو Cursor التفاعل مع بياناتك عبر بروتوكول سياق النموذج (MCP). تخيل أن ذكاءك الاصطناعي يستخرج معلومات الدورات التدريبية أو يبحث عن بيانات محددة ببضعة أوامر فقط—وكل ذلك مدعوم بتطبيق Spring Boot خفيف الوزن. في هذا الدليل الحواري، سنرشدك خلال إعداد واستخدام **خادم SpringBoot MCP**، مع اختبار لرؤيته في العمل. هيا بنا نبرمج!
هل تريد منصة متكاملة وشاملة لفريق المطورين لديك للعمل معًا بأقصى إنتاجية؟
يلبي Apidog جميع متطلباتك، ويحل محل Postman بسعر أقل بكثير!
ما هو خادم SpringBoot MCP؟
يُعد **خادم SpringBoot MCP** تطبيق Spring Boot يستخدم إطار عمل Spring AI MCP لعرض بياناتك كأدوات لنماذج الذكاء الاصطناعي. إنه أشبه بإعطاء ذكائك الاصطناعي خطًا مباشرًا لبيانات تطبيقك، مثل تفاصيل الدورات التدريبية، من خلال أدوات MCP الموحدة. في هذا البرنامج التعليمي، سنركز على خادم يقدم أداتين رئيسيتين:
- الحصول على جميع الألعاب: يسترجع قائمة بجميع الألعاب المتاحة.
- البحث عن الألعاب حسب العنوان: يعثر على لعبة محددة حسب عنوانها.
هذا الإعداد مثالي لدمج البيانات الخارجية مع نماذج الذكاء الاصطناعي أو بناء خوادم MCP الخاصة بك. بالإضافة إلى ذلك، تم بناؤه باستخدام Spring Boot، لذا فهو سهل الاستخدام للمطورين وسهل التوسيع. هل أنت متحمس؟ هيا بنا نعده!

كيفية استخدام خادم SpringBoot MCP
المتطلبات الأساسية
قبل أن نبدأ، تأكد من توفر لديك:
- جافا 24: تنزيل من oracle.com.
- مافن 3.8+: تثبيت من maven.apache.org.
- إنتيليج آيديا: احصل عليه من jetbrains.com (أو استخدم بيئة التطوير المتكاملة المفضلة لديك).
- كلود ديسكتوب أو كرسور: للاختبار مع عميل ذكاء اصطناعي (anthropic.com & curosor.com).
- معرفة أساسية بـ Spring Boot: يساعد الإلمام بأساسيات Spring Boot.
الخطوة 1: إنشاء مشروع Spring Boot جديد
زيارة Spring Initializr:
- اذهب إلى start.spring.io.
- قم بإعداد مشروعك:
- المشروع: Maven
- اللغة: Java
- سبرينغ بوت: 3.5.4 (أحدث إصدار مستقر اعتبارًا من يوليو 2025)
- التعبئة: Jar
- إصدار جافا: 24 (أو الإصدار المثبت لديك)
- أضف تبعية خادم Spring AI MCP:

- انقر على Generate وقم بتنزيل المشروع.
الفتح في IntelliJ IDEA:
- فك ضغط المشروع الذي تم تنزيله وافتحه في IntelliJ IDEA كمشروع جديد.
الخطوة 2: فهم بنية المشروع
يتضمن خادم SpringBoot MCP الخاص بك مكونات رئيسية:
- Game.java: سجل لبيانات الدورة التدريبية (مثل، العنوان ورابط URL).
- GameService.java: يحتوي على أدوات MCP مع تعليقات
@Tool
التوضيحية. - TestMcpServerApplication.java: الفئة الرئيسية للتطبيق التي تسجل الأدوات.
- application.properties: يقوم بتكوين خادم MCP لنقل STDIO.

إليك إعداد application.properties
نموذجي:
spring.application.name=test-mcp-server
spring.main.web-application-type=none
spring.ai.mcp.server.name=game-demo-mcp
spring.ai.mcp.server.version=0.0.1
spring.main.banner-mode=off
logging.pattern.console=
يقوم هذا بتكوين التطبيق كخادم غير ويب باستخدام نقل STDIO، وهو مثالي لاتصال MCP.
الخطوة 3: تعريف نموذج البيانات
أنشئ سجل Game.java
بسيطًا لتمثيل بيانات الدورة التدريبية:
package com.example.testmcpserver;
public record Game(String title, String url){
}
يحتفظ هذا السجل غير القابل للتغيير بتفاصيل الدورة التدريبية مثل العنوان ورابط URL، مما يسهل على نماذج الذكاء الاصطناعي معالجتها.
الخطوة 4: تنفيذ أدوات MCP
في GameService.java
، حدد الأدوات باستخدام التعليق التوضيحي @Tool
. إليك مثال:
package com.example.testmcpserver;
import jakarta.annotation.PostConstruct;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ai.tool.annotation.Tool;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class GameService {
private static final Logger log = LoggerFactory.getLogger(GameService.class);
private List<Game> games = new ArrayList<>();
@Tool(name = "get_games", description = "Get a list of games from the collection")
public List<Game> getGames() {
return games;
}
@Tool(name = "get_game", description = "Get a single game from from the collection by title")
public Game getGame(String title) {
return games.stream().filter(course -> course.title().equals(title)).findFirst().orElse(null);
}
@PostConstruct
public void init() {
games.addAll(List.of(
new Game("GTA 6", "https://www.rockstargames.com/VI"),
new Game("FC 26","https://www.ea.com/en/games/ea-sports-fc/fc-26"),
new Game("Call of Duty: Black Ops 7","https://www.callofduty.com/blackops7")
));
}
}
تتيح هذه الأدوات لنماذج الذكاء الاصطناعي استرداد جميع الدورات التدريبية أو العثور على دورة تدريبية محددة حسب العنوان.
الخطوة 5: تسجيل الأدوات باستخدام إطار عمل MCP
في TestMcpServerApplication.java
، قم بتسجيل الأدوات:
package com.example.testmcpserver;
import org.springframework.ai.support.ToolCallbacks;
import org.springframework.ai.tool.ToolCallback;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import java.util.List;
@SpringBootApplication
public class TestMcpServerApplication {
public static void main(String[] args) {
SpringApplication.run(TestMcpServerApplication.class, args);
}
@Bean
public List<ToolCallback> danTools(GameService gameService) {
return List.of(ToolCallbacks.from(gameService));
}
}
يقوم أسلوب ToolCallbacks.from()
بمسح GameService
بحثًا عن تعليقات @Tool
التوضيحية ويسجلها مع خادم SpringBoot MCP.
الخطوة 6: تشغيل خادم SpringBoot MCP
البناء والتشغيل:
- في IntelliJ، افتح الطرفية وقم بتشغيل:
mvn spring-boot:run
- يبدأ الخادم كخادم MCP باستخدام نقل STDIO، بدون واجهة ويب.
التحقق من الأدوات:
- يسجل الخادم أداتين:
get_games
(لسرد جميع الألعاب) وget_game
(للعثور على لعبة حسب العنوان).
الخطوة 7: الاتصال بـ Cursor أو Claude Desktop
لاستخدام خادم SpringBoot MCP مع Claude Desktop:
تجميع المشروع:
- قم ببناء ملف JAR:
mvn clean package
- ابحث عن ملف JAR في
target/test-mcp-server-0.0.1-SNAPSHOT.jar
.

أ. تكوين Claude Desktop:
- افتح
claude_desktop_config.json
(ماك أو إس:~/Library/Application Support/Claude
، ويندوز:%APPDATA%\Claude
). - أضف:
{
"mcpServers": {
"game-demo-mcp": {
"command": "java",
"args": [
"-jar",
"path/to/test-mcp-server-0.0.1-SNAPSHOT.jar"
]
}
}
}
- استبدل
path/to/
بالمسار الفعلي لملف JAR الخاص بك (على سبيل المثال،D:/Apidog_Projects/spring-boot-mcp-server/test-mcp-server/target/test-mcp-server-0.0.1-SNAPSHOT.jar
).

إعادة تشغيل Claude Desktop:
- أغلق Claude وأعد فتحه لتطبيق التكوين.
ب. تكوين Cursor:
- انتقل إلى الإعدادات، ثم إعدادات Cursor
- حدد الأدوات والتكاملات
- انقر على خادم MCP جديد

الخطوة 8: اختبار خادم SpringBoot MCP
دعنا نختبر الخادم مع Claude Desktop:
افتح Claude Desktop أو Cursor وأصدر أمرًا:
- في عميل MCP الخاص بك، أدخل:
باستخدام خادم MCP، احصل على جميع الألعاب المتاحة.
- يجب أن يستجيب Claude (أو Cursor) بـ:
Available games:
- Title: GTA 6, URL: https://www.rockstargames.com/VI
- Title: FC 26, URL: https://www.ea.com/en/games/ea-sports-fc/fc-26

جرب لعبة محددة:
- أدخل:
باستخدام خادم MCP، احصل على اللعبة بعنوان "FC 26".
- الاستجابة المتوقعة:
Game: FC 26, URL: https://www.ea.com/en/games/ea-sports-fc/fc-26
هذا يؤكد أن خادم SpringBoot MCP الخاص بك يعمل!
الخطوة 9: توسيع خادم SpringBoot MCP
هل تريد جعله أكثر روعة؟ إليك بعض الأفكار:
- إضافة المزيد من الدورات: قم بتحديث أسلوب
init()
فيGameService
لتضمين المزيد من كائناتGame
. - أدوات جديدة: أضف أساليب مع تعليقات
@Tool
التوضيحية، مثل وظيفة البحث:
@Tool(name = "search_games", description = "Search games containing a keyword")
public List<Game> searchGames(String keyword) {
return games.stream()
.filter(game -> game.title().toLowerCase().contains(keyword.toLowerCase()))
.collect(Collectors.toList());
}
- استخدام قاعدة بيانات: استبدل قائمة
games
الموجودة في الذاكرة باتصال قاعدة بيانات. - تحسين البحث: أضف مطابقة ضبابية أو فلاتر فئات.
نصائح استكشاف الأخطاء وإصلاحها
- الخادم لا يبدأ؟ تأكد من تثبيت Java 24 و Maven، وتحقق من
application.properties
بحثًا عن الإعدادات الصحيحة. - كلود لا يتصل؟ تحقق من مسار JAR في
claude_desktop_config.json
وأعد تشغيل Claude. - الأدوات غير موجودة؟ تأكد من صحة تعليقات
@Tool
التوضيحية وأنToolCallbacks
مسجل. - لا يوجد إخراج؟ تحقق من الطرفية التي تشغل
mvn spring-boot:run
بحثًا عن الأخطاء.
لماذا تستخدم خادم SpringBoot MCP؟
يُعد خادم SpringBoot MCP حلمًا للمطورين الذين يحبون بساطة Spring Boot ويرغبون في دمج الذكاء الاصطناعي مع بياناتهم. إنه خفيف الوزن، ويستخدم STDIO للاتصال الآمن، ويسمح لنماذج الذكاء الاصطناعي مثل Claude بالوصول إلى بيانات تطبيقك في الوقت الفعلي. سواء كنت تبني منصة دورات تدريبية أو تطبيقًا آخر يعتمد على البيانات، فإن هذا الخادم يجعل دمج الذكاء الاصطناعي أمرًا سهلاً.
أظهر اختبارنا باستخدام Claude Desktop و Cursor مدى سهولة جلب بيانات الألعاب. تخيل توسيع نطاق ذلك للتعامل مع الاستعلامات المعقدة أو الاتصال بقاعدة بيانات حقيقية—إمكانيات لا حصر لها!
الخاتمة
وهذا كل شيء! لقد تعلمت كيفية إعداد واستخدام خادم SpringBoot MCP لجلب الوصول إلى البيانات المدعوم بالذكاء الاصطناعي إلى تطبيقاتك. من إنشاء مشروع Spring Boot إلى ربطه بـ Claude Desktop واختبار استعلامات الدورات التدريبية، أنت الآن جاهز لبناء تكاملات ذكاء اصطناعي أكثر ذكاءً. حاول إضافة أدوات جديدة أو ربط قاعدة بيانات لتطويره أكثر.
هل تريد منصة متكاملة وشاملة لفريق المطورين لديك للعمل معًا بأقصى إنتاجية؟
يلبي Apidog جميع متطلباتك، ويحل محل Postman بسعر أقل بكثير!