MCP-Atlassian هو خادم يعتمد على بروتوكول سياق النموذج (MCP)، مصمم خصيصًا لمنتجات Atlassian (Confluence و Jira). يسمح هذا المشروع للمساعدين الذين يعملون بالذكاء الاصطناعي (مثل Claude) بالوصول المباشر إلى بيانات مساحة عمل Atlassian الخاصة بك وتشغيلها، مما يحقق إدارة ذكية لسير العمل.
يدعم المشروع مجموعة متنوعة من العمليات الذكية المدفوعة بمساعدين يعملون بالذكاء الاصطناعي:
المنتج | نوع النشر | حالة الدعم |
---|---|---|
Confluence | Cloud | ✅ مدعوم بالكامل |
Confluence | Server/Data Center | ✅ مدعوم (الإصدار 6.0+) |
Jira | Cloud | ✅ مدعوم بالكامل |
Jira | Server/Data Center | ✅ مدعوم (الإصدار 8.14+) |
Atlassian Cloud:
Server/Data Center:
# سحب الصورة المبنية مسبقًا
docker pull ghcr.io/sooperset/mcp-atlassian:latest
موقع ملف التكوين:
%APPDATA%\Claude\claude_desktop_config.json
~/Library/Application Support/Claude/claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
الطريقة الأولى: تمرير المتغيرات مباشرة
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "CONFLUENCE_URL",
"-e", "CONFLUENCE_USERNAME",
"-e", "CONFLUENCE_API_TOKEN",
"-e", "JIRA_URL",
"-e", "JIRA_USERNAME",
"-e", "JIRA_API_TOKEN",
"ghcr.io/sooperset/mcp-atlassian:latest"
],
"env": {
"CONFLUENCE_URL": "https://your-company.atlassian.net/wiki",
"CONFLUENCE_USERNAME": "your.email@company.com",
"CONFLUENCE_API_TOKEN": "your_confluence_api_token",
"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_USERNAME": "your.email@company.com",
"JIRA_API_TOKEN": "your_jira_api_token"
}
}
}
}
الطريقة الثانية: استخدام ملف البيئة
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--env-file",
"/path/to/your/mcp-atlassian.env",
"ghcr.io/sooperset/mcp-atlassian:latest"
]
}
}
}
{
"mcpServers": {
"mcp-atlassian": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "CONFLUENCE_URL",
"-e", "CONFLUENCE_PERSONAL_TOKEN",
"-e", "CONFLUENCE_SSL_VERIFY",
"-e", "JIRA_URL",
"-e", "JIRA_PERSONAL_TOKEN",
"-e", "JIRA_SSL_VERIFY",
"ghcr.io/sooperset/mcp-atlassian:latest"
],
"env": {
"CONFLUENCE_URL": "https://confluence.your-company.com",
"CONFLUENCE_PERSONAL_TOKEN": "your_confluence_pat",
"CONFLUENCE_SSL_VERIFY": "false",
"JIRA_URL": "https://jira.your-company.com",
"JIRA_PERSONAL_TOKEN": "your_jira_pat",
"JIRA_SSL_VERIFY": "false"
}
}
}
}
متغيرات البيئة الشائعة:
CONFLUENCE_SPACES_FILTER
: تصفية حسب مفتاح المساحة (على سبيل المثال: "DEV,TEAM,DOC")JIRA_PROJECTS_FILTER
: تصفية حسب مفتاح المشروع (على سبيل المثال: "PROJ,DEV,SUPPORT")READ_ONLY_MODE
: اضبط على "true" لتعطيل عمليات الكتابةMCP_VERBOSE
: اضبط على "true" لتمكين السجلات التفصيليةENABLED_TOOLS
: قائمة بأسماء الأدوات مفصولة بفواصلاسم الأداة | وصف الوظيفة |
---|---|
confluence_search |
البحث عن محتوى Confluence باستخدام CQL |
confluence_get_page |
الحصول على محتوى صفحة معينة |
confluence_get_page_children |
الحصول على الصفحات الفرعية للصفحة |
confluence_get_page_ancestors |
الحصول على الصفحات الأصلية للصفحة |
confluence_get_comments |
الحصول على تعليقات الصفحة |
confluence_create_page |
إنشاء صفحة جديدة |
confluence_update_page |
تحديث صفحة موجودة |
confluence_delete_page |
حذف صفحة |
confluence_get_labels |
الحصول على العلامات |
confluence_add_label |
إضافة علامة |
اسم الأداة | وصف الوظيفة |
---|---|
jira_get_issue |
الحصول على تفاصيل مشكلة معينة |
jira_search |
البحث عن المشكلات باستخدام JQL |
jira_get_project_issues |
الحصول على مشاكل المشروع |
jira_get_epic_issues |
الحصول على مشاكل الملحمة |
jira_create_issue |
إنشاء مشكلة جديدة |
jira_batch_create_issues |
إنشاء مشاكل دفعة واحدة |
jira_update_issue |
تحديث مشكلة موجودة |
jira_delete_issue |
حذف مشكلة |
jira_get_transitions |
الحصول على انتقالات حالة المشكلة |
jira_transition_issue |
نقل حالة المشكلة |
jira_add_comment |
إضافة تعليق |
jira_add_worklog |
إضافة سجل عمل |
jira_get_worklog |
الحصول على سجل العمل |
jira_download_attachments |
تنزيل المرفقات |
jira_link_to_epic |
الارتباط بملحمة |
jira_get_agile_boards |
الحصول على لوحات Kanban |
jira_get_board_issues |
الحصول على مشاكل لوحة Kanban |
jira_get_sprints_from_board |
الحصول على سباقات السرعة من لوحة Kanban |
jira_get_sprint_issues |
الحصول على مشاكل سباق السرعة |
jira_create_sprint |
إنشاء سباق سرعة |
jira_update_sprint |
تحديث سباق السرعة |
jira_get_issue_link_types |
الحصول على أنواع روابط المشكلات |
jira_create_issue_link |
إنشاء رابط مشكلة |
jira_remove_issue_link |
إزالة رابط مشكلة |
ملاحظة: الأدوات التي تم وضع علامة * عليها متاحة فقط على Jira Cloud
استخدم علامة --enabled-tools
أو متغير البيئة ENABLED_TOOLS
لتحديد الأدوات المتاحة:
# عبر متغير البيئة
ENABLED_TOOLS="confluence_search,jira_get_issue,jira_search"
# أو عبر علامة سطر الأوامر
docker run ... --enabled-tools "confluence_search,jira_get_issue,jira_search" ...
تنقسم الأدوات إلى عمليات قراءة وكتابة. عند تمكين READ_ONLY_MODE
، تتوفر عمليات القراءة فقط، بغض النظر عن إعداد ENABLED_TOOLS
.
فشل المصادقة:
CONFLUENCE_USERNAME
و CONFLUENCE_API_TOKEN
(الرمز هو كلمة المرور)مشاكل شهادة SSL:
في حالة حدوث أخطاء SSL في نشر Server/Data Center، قم بتعيين CONFLUENCE_SSL_VERIFY=false
أو JIRA_SSL_VERIFY=false
أخطاء الأذونات: تأكد من أن حساب Atlassian لديه أذونات كافية للوصول إلى المساحات/المشاريع ذات الصلة
اختبار باستخدام MCP Inspector:
npx @modelcontextprotocol/inspector uvx mcp-atlassian ...
عرض السجلات:
# macOS
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
# Windows
type %APPDATA%\Claude\logs\mcp*.log | more
بالإضافة إلى نقل stdio القياسي، يتم دعم Server-Sent Events (SSE):
docker run --rm -p 9000:9000 \
--env-file /path/to/your/.env \
ghcr.io/sooperset/mcp-atlassian:latest \
--transport sse --port 9000 -vv
{
"mcpServers": {
"mcp-atlassian-sse": {
"url": "http://localhost:9000/sse"
}
}
}
SECURITY.md
للحصول على أفضل الممارساتيعتمد هذا المشروع على نشر حاويات Docker، ويتواصل مع المساعدين الذين يعملون بالذكاء الاصطناعي من خلال بروتوكول سياق النموذج. يدعم طرق نقل متعددة (stdio و SSE)، ويمكنه التكيف بمرونة مع بيئات النشر وسيناريوهات الاستخدام المختلفة.
تم تصميم المشروع مع مراعاة احتياجات تطبيقات المؤسسات، ويدعم إصدارات Atlassian السحابية والخاصة، ويوفر مصادقة كاملة وتحكمًا في الأذونات وآليات أمان.
ملاحظة: هذا ليس منتجًا رسميًا من Atlassian، ولكنه مشروع مفتوح المصدر يتم صيانته بواسطة مطور المجتمع sooperset.