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

دليل خطوة بخطوة لإنشاء خادم Java MCP
المتطلبات الأساسية
قبل أن نبدأ، تأكد من توفر لديك:
- Java 24: تنزيل من oracle.com.
- Maven 3.8+: تثبيت من maven.apache.org.
- IntelliJ IDEA: احصل عليه من jetbrains.com (أو بيئة التطوير المتكاملة المفضلة لديك).
- Node.js: للاختبار باستخدام MCP Inspector (nodejs.org).
- Claude Desktop أو Cursor: اختياري، لدمج الذكاء الاصطناعي (anthropic.com أو cursor.sh).
الخطوة 1: إنشاء المشروع أو استنساخه
يمكنك إما استنساخ مستودع موجود أو إنشاء مشروع من الصفر.
الخيار 1: استنساخ المستودع (موصى به)
1. في طرفية جديدة، قم بتشغيل الأمر التالي:
git clone https://github.com/danvega/javaone-mcp.git
cd javaone-mcp
2. بناء المشروع:
- استخدم Maven لإنشاء ملف JAR قابل للتنفيذ:
mvn clean package
- ابحث عن ملف JAR في
target/javaone-mcp-0.0.2.jar
.

الخيار 2: الإنشاء من الصفر
1. افتح IntelliJ IDEA:
- حدد مشروع جديد.
- اختر Maven كنظام بناء.
- عيّن اسم المشروع (على سبيل المثال،
java-mcp-server
) وانقر على إنشاء.

2. إضافة التبعيات:
- افتح
pom.xml
وأضف:
<dependencies>
<!-- MCP SDK -->
<dependency>
<groupId>io.modelcontextprotocol.sdk</groupId>
<artifactId>mcp</artifactId>
<version>0.9.0</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.16</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.16</version>
</dependency>
</dependencies>
الخطوة 2: فهم هيكل المشروع
يتضمن خادم Java MCP الذي استنسخناه للتو ما يلي:
- Application.java: نقطة الدخول الرئيسية التي تبدأ خادم MCP.
- Presentation.java: نموذج بيانات لبيانات الألعاب (سنقوم بتخصيصه للألعاب).
- PresentationTools.java: يحدد أدوات MCP للوصول إلى بيانات الألعاب.
- Configuration: يستخدم نقل STDIO لاتصال الذكاء الاصطناعي.

الخطوة 3: تحديد نموذج البيانات
أنشئ Presentation.java
لتمثيل بيانات الألعاب:
public record Presentation(String title, String url) { }
يحتوي هذا السجل على تفاصيل اللعبة مثل العنوان (على سبيل المثال، "GTA 6") وعنوان URL.
الخطوة 4: تنفيذ أدوات MCP
في PresentationTools.java
، حدد الأدوات باستخدام MCP SDK:
import io.modelcontextprotocol.sdk.McpSchema;
import java.util.ArrayList;
import java.util.List;
public class PresentationTools {
private final List<Presentation> presentations = new ArrayList<>();
public PresentationTools() {
presentations.add(new Presentation("GTA 6", "https://example.com/gta6"));
presentations.add(new Presentation("FC 26", "https://example.com/fc26"));
presentations.add(new Presentation("Call of Duty: Black Ops 7", "https://example.com/codbo7"));
}
@McpSchema.Tool(name = "get_presentations", description = "Returns a list of all available games")
public List<Presentation> getPresentations() {
return presentations;
}
@McpSchema.Tool(name = "get_game", description = "Returns a specific game by title")
public Presentation getGame(String title) {
return presentations.stream()
.filter(p -> p.title().equalsIgnoreCase(title))
.findFirst()
.orElse(null);
}
}
تتيح هذه الأدوات لنماذج الذكاء الاصطناعي جلب جميع الألعاب أو لعبة محددة حسب العنوان.
الخطوة 5: تهيئة وبدء خادم MCP
في Application.java
، قم بإعداد خادم Java MCP:
import io.modelcontextprotocol.sdk.McpServer;
import io.modelcontextprotocol.sdk.McpSchema;
import io.modelcontextprotocol.sdk.McpSyncServer;
public class Application {
public static void main(String[] args) {
PresentationTools tools = new PresentationTools();
var syncToolSpecification = new McpServerFeatures.SyncToolSpecification(
new McpSchema.Tool("get_presentations", "Returns a list of all available games", null),
(exchange, arguments) -> tools.getPresentations()
);
McpSyncServer syncServer = McpServer.sync(new StdioTransportProvider())
.serverInfo("javaone-mcp-server", "0.0.1")
.capabilities(McpSchema.ServerCapabilities.builder()
.tools(true)
.logging()
.build())
.tools(syncToolSpecification)
.build();
syncServer.start();
}
}
يقوم هذا بتهيئة الخادم لاستخدام نقل STDIO وتسجيل أداة get_presentations
.
الخطوة 6: تشغيل خادم Java MCP
1. بناء المشروع:
- قم بتشغيل الأمر التالي:
mvn clean package

2. بدء تشغيل الخادم:
- نفّذ ملف JAR:
java -jar target/javaone-mcp-0.0.2.jar
- يعمل الخادم باستخدام نقل STDIO، جاهزاً لدمج الذكاء الاصطناعي.
الخطوة 7: الاختبار باستخدام MCP Inspector
استخدم MCP Inspector لتصحيح أخطاء خادم Java MCP الخاص بك:
تثبيت Node.js: قم بالتنزيل من nodejs.org إذا لزم الأمر.
الحصول على مسار ملف JAR:
- لينكس/ماك أو إس:
FULL_PATH=$(pwd)/target/javaone-mcp-0.0.2.jar
echo $FULL_PATH
- ويندوز PowerShell:
$FULL_PATH="$(Get-Location)\target\javaone-mcp-0.0.2.jar"
echo $FULL_PATH
تشغيل MCP Inspector:
- استخدم الأمر التالي:
npx @modelcontextprotocol/inspector java -jar $FULL_PATH
- في Inspector:
- تحقق من الاتصال في لوحة الاتصال.
- انتقل إلى علامة التبويب الأدوات، حدد
get_presentations
، واعرض الاستجابة (على سبيل المثال، "GTA 6, FC 26, Call of Duty: Black Ops 7"). - راقب السجلات في لوحة الإشعارات.
الخطوة 8: الدمج مع Claude Desktop أو Cursor
ربط خادم Java MCP الخاص بك بعميل ذكاء اصطناعي:
الحصول على مسار ملف JAR: استخدم نفس الأمر المذكور أعلاه.
أ. تهيئة Claude Desktop:
- افتح
claude_desktop_config.json
(macOS:~/Library/Application Support/Claude
، ويندوز:%APPDATA%\Claude
). - أضف:
{
"mcpServers": {
"javaone-mcp": {
"command": "java",
"args": ["-jar", "FULL_PATH"]
}
}
}
- استبدل
FULL_PATH
بمسار ملف JAR الخاص بك.
ب. تهيئة Cursor:
- انتقل إلى الإعدادات > إعدادات Cursor > الأدوات والتكاملات > خادم MCP جديد.
- أضف نفس التهيئة واحفظها.
إعادة تشغيل العميل: أغلق وأعد فتح Claude أو Cursor.
الخطوة 9: اختبار خادم Java MCP
اختبر باستخدام Claude Desktop أو Cursor:
بدء تشغيل الخادم:
- قم بتشغيل الأمر التالي:
java -jar target/javaone-mcp-0.0.2.jar
إصدار أمر:
- في Claude أو Cursor، أدخل:
باستخدام خادم MCP، احصل على جميع الألعاب المتاحة.
- الاستجابة المتوقعة:
The available games are GTA 6, FC 26, and Call of Duty: Black Ops 7.

الخطوة 10: توسيع خادم Java MCP
اجعل خادمك أكثر روعة:
1. إضافة المزيد من العروض التقديمية:
- في
PresentationTools.java
، أضف إلى المُنشئ (constructor):
presentations.add(new Presentation("Spring Boot 3.5 Deep Dive", "https://example.com/spring-boot", 2025));
2. إنشاء أداة بحث:
- أضف إلى
PresentationTools.java
:
@McpSchema.Tool(name = "search_presentations", description = "Search presentations by title")
public List<Presentation> searchPresentations(String query) {
return presentations.stream()
.filter(p -> p.title().toLowerCase().contains(query.toLowerCase()))
.collect(Collectors.toList());
}
- سجل في
Application.java
:
var searchToolSpec = new McpServerFeatures.SyncToolSpecification(
new McpSchema.Tool("search_presentations", "Search presentations by title", null),
(exchange, arguments) -> {
String query = arguments.get("query").asText();
return tools.searchPresentations(query);
}
);
McpSyncServer syncServer = McpServer.sync(new StdioTransportProvider())
.serverInfo("javaone-mcp-server", "0.0.1")
.capabilities(McpSchema.ServerCapabilities.builder().tools(true).logging().build())
.tools(syncToolSpecification, searchToolSpec)
.build();
قمت بتخصيص خادم MCP الخاص بي للعمل مع بيانات الألعاب. وإليك النتائج:

جرّب البحث:
- لقد أضفت أداة
search_games
(انظر أدناه)، وجربت الأمر التالي:
ابحث عن لعبة بعنوان "FC".
- الاستجابة المتوقعة:
You have a game titled FC 26.

3. الميزات المتقدمة:
- أضف اشتراكات الموارد للتحديثات في الوقت الفعلي.
- نفّذ أدوات غير متزامنة للمهام المعقدة.
- أضف المصادقة للوصول الآمن.
نصائح استكشاف الأخطاء وإصلاحها
- الخادم لا يبدأ؟ تحقق من تثبيت Java 24 و Maven، وافحص
pom.xml
للتأكد من صحة التبعيات. - مشاكل MCP Inspector؟ تأكد من تثبيت Node.js وصحة مسار ملف JAR.
- العميل لا يتصل؟ تأكد من مسار ملف JAR في تهيئة العميل وأعد تشغيل العميل.
- لا توجد بيانات مسترجعة؟ تحقق من
PresentationTools
للتأكد من صحة تعريفات الأدوات وتهيئة البيانات.
لماذا تستخدم خادم Java MCP؟
يُعد خادم Java MCP طريقة رائعة لربط تطبيق جافا الخاص بك بنماذج الذكاء الاصطناعي، مما يتيح لها الوصول إلى بياناتك في الوقت الفعلي. أظهر خادمنا ذو الطابع الخاص بالألعاب مدى سهولة مشاركة بيانات مثل "GTA 6" أو "FC 26" مع Claude أو Cursor. تجعل حزمة تطوير جافا (MCP Java SDK) تعريف الأدوات أمراً بسيطاً، ويحافظ نقل STDIO على خفة الوزن. سواء كنت تبني للألعاب أو الدورات التدريبية أو أي شيء آخر، فإن هذا الخادم هو بوابتك لدمج الذكاء الاصطناعي.
الخاتمة
أنت الآن محترف في خادم Java MCP! لقد قمت ببناء خادم من الصفر، واختبرته ببيانات الألعاب، وتعلمت كيفية توسيعه بأدوات جديدة. تجعل حزمة تطوير جافا (MCP Java SDK) ربط تطبيقك بمساعدي الذكاء الاصطناعي أمراً سهلاً للغاية، وقد أظهر اختبارنا فعاليته. حاول إضافة المزيد من البيانات أو الأدوات لجعل خادمك أكثر قوة.
هل تريد منصة متكاملة وشاملة لفريق المطورين الخاص بك للعمل معاً بأقصى إنتاجية؟
يلبي Apidog جميع متطلباتك، ويحل محل Postman بسعر أكثر معقولية بكثير!