atlassian-onprem-mcp
1.0.1
dotnet tool install --global atlassian-onprem-mcp --version 1.0.1
dotnet new tool-manifest
dotnet tool install --local atlassian-onprem-mcp --version 1.0.1
#tool dotnet:?package=atlassian-onprem-mcp&version=1.0.1
nuke :add-package atlassian-onprem-mcp --version 1.0.1
atlassian-onprem-mcp
خادم MCP لأتلاسيان (Confluence + Jira + Bitbucket)
A comprehensive Model Context Protocol (MCP) server for Atlassian on-premise installations. Provides AI assistants with 60+ tools for full CRUD operations across Confluence, Jira, and Bitbucket Server.
خادم بروتوكول سياق النموذج (MCP) شامل لتثبيتات أتلاسيان المحلية. يوفر لمساعدي الذكاء الاصطناعي أكثر من 60 أداة لعمليات كاملة عبر Confluence و Jira و Bitbucket Server.
✨ Features | المميزات
- Confluence - 21 tools: Search, CRUD pages, comments, labels, spaces, attachments, history
- Jira - 22 tools: Search (JQL), CRUD issues, transitions, comments, worklogs, watchers, links
- Bitbucket - 20 tools: Projects, repos, branches, commits, PRs (create/merge/approve/decline), file browsing
- Authentication - PAT (Bearer) and Basic (username:password) support
- On-Premise - Designed for Atlassian Server/Data Center installations
- Bilingual - English + Arabic descriptions for all tools
📦 Installation | التثبيت
As a .NET Global Tool (Recommended)
dotnet tool install -g atlassian-onprem-mcp
From Source
git clone https://github.com/atlassian-onprem-mcp/atlassian-onprem-mcp.git
cd atlassian-onprem-mcp/ConfluenceMcpServer
dotnet build
⚙️ Configuration | الإعدادات
Environment Variables | متغيرات البيئة
| Variable | Required | Description | الوصف |
|---|---|---|---|
CONFLUENCE_BASE_URL |
✅ | Confluence server URL | رابط خادم Confluence |
CONFLUENCE_TOKEN |
✅* | Confluence PAT token | رمز المصادقة لـ Confluence |
JIRA_BASE_URL |
❌ | Jira server URL | رابط خادم Jira |
JIRA_TOKEN |
⚠️ | Jira PAT token (required if JIRA_BASE_URL set) | رمز Jira |
BITBUCKET_BASE_URL |
❌ | Bitbucket Server URL | رابط خادم Bitbucket |
BITBUCKET_TOKEN |
⚠️ | Bitbucket PAT token (required if BITBUCKET_BASE_URL set) | رمز Bitbucket |
DEFAULT_SPACE_KEY |
❌ | Default Confluence space key | مفتاح المساحة الافتراضي |
AUTH_TYPE |
❌ | pat (default) or basic |
نوع المصادقة |
ATLASSIAN_USERNAME |
⚠️ | Username (required if AUTH_TYPE=basic) | اسم المستخدم |
ATLASSIAN_PASSWORD |
⚠️ | Password (required if AUTH_TYPE=basic) | كلمة المرور |
* When using AUTH_TYPE=basic, tokens are not required — username/password is used instead.
Command Line Arguments | وسائط سطر الأوامر
atlassian-onprem-mcp \
--confluence-base-url=https://wiki.example.com \
--confluence-token=your-token \
--jira-base-url=https://jira.example.com \
--jira-token=your-token \
--bitbucket-base-url=https://bitbucket.example.com \
--bitbucket-token=your-token \
--auth-type=pat \
--default-space-key=MYSPACE
🔧 MCP Configuration | إعدادات MCP
VS Code / GitHub Copilot
Create .vscode/mcp.json in your workspace:
{
"mcpServers": {
"atlassian": {
"command": "atlassian-onprem-mcp",
"args": [],
"env": {
"CONFLUENCE_BASE_URL": "https://wiki.example.com",
"CONFLUENCE_TOKEN": "your-confluence-pat",
"JIRA_BASE_URL": "https://jira.example.com",
"JIRA_TOKEN": "your-jira-pat",
"BITBUCKET_BASE_URL": "https://bitbucket.example.com",
"BITBUCKET_TOKEN": "your-bitbucket-pat",
"DEFAULT_SPACE_KEY": "MYSPACE"
}
}
}
}
Basic Authentication
{
"mcpServers": {
"atlassian": {
"command": "atlassian-onprem-mcp",
"args": [],
"env": {
"CONFLUENCE_BASE_URL": "https://wiki.example.com",
"JIRA_BASE_URL": "https://jira.example.com",
"BITBUCKET_BASE_URL": "https://bitbucket.example.com",
"AUTH_TYPE": "basic",
"ATLASSIAN_USERNAME": "your-username",
"ATLASSIAN_PASSWORD": "your-password"
}
}
}
}
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"atlassian": {
"command": "atlassian-onprem-mcp",
"env": {
"CONFLUENCE_BASE_URL": "https://wiki.example.com",
"CONFLUENCE_TOKEN": "your-pat",
"JIRA_BASE_URL": "https://jira.example.com",
"JIRA_TOKEN": "your-pat",
"BITBUCKET_BASE_URL": "https://bitbucket.example.com",
"BITBUCKET_TOKEN": "your-pat"
}
}
}
}
🛠️ Available Tools (63 Total) | الأدوات المتاحة
Confluence (21 tools) | أدوات Confluence
Read Operations | عمليات القراءة
| Tool | Description | الوصف |
|---|---|---|
confluence_search |
Full-text search for pages | بحث نصي عن صفحات |
confluence_search_cql |
Advanced search using CQL | بحث متقدم باستخدام CQL |
confluence_get_page |
Get page content by ID | جلب محتوى صفحة بالمعرف |
confluence_get_page_by_title |
Get page by title and space | جلب صفحة بالعنوان والمساحة |
confluence_get_space_pages |
List pages in a space | عرض صفحات المساحة |
confluence_get_child_pages |
List child pages | عرض الصفحات الفرعية |
confluence_get_comments |
Get page comments | جلب تعليقات الصفحة |
confluence_get_labels |
Get page labels | جلب تصنيفات الصفحة |
confluence_get_attachments |
Get page attachments | جلب مرفقات الصفحة |
confluence_get_page_history |
Get page version history | جلب تاريخ الصفحة |
confluence_get_spaces |
List all spaces | عرض جميع المساحات |
confluence_get_space |
Get space details | جلب تفاصيل مساحة |
confluence_get_user |
Get current user info | جلب معلومات المستخدم |
confluence_enrich_page |
Enrich page with requirement definitions | إثراء صفحة بتعريفات المتطلبات |
Write Operations | عمليات الكتابة
| Tool | Description | الوصف |
|---|---|---|
confluence_create_page |
Create a new page | إنشاء صفحة جديدة |
confluence_update_page |
Update page content | تحديث محتوى صفحة |
confluence_delete_page |
Delete a page | حذف صفحة |
confluence_add_comment |
Add a comment to a page | إضافة تعليق على صفحة |
confluence_add_label |
Add a label to a page | إضافة تصنيف لصفحة |
confluence_remove_label |
Remove a label from a page | إزالة تصنيف من صفحة |
confluence_create_space |
Create a new space | إنشاء مساحة جديدة |
Jira (22 tools) | أدوات Jira
Read Operations | عمليات القراءة
| Tool | Description | الوصف |
|---|---|---|
jira_search |
Search issues using JQL | البحث باستخدام JQL |
jira_get_issue |
Get full issue details | جلب تفاصيل تذكرة كاملة |
jira_get_my_issues |
Get my open issues | جلب تذاكري المفتوحة |
jira_get_comments |
Get issue comments | جلب تعليقات التذكرة |
jira_get_transitions |
Get available transitions | جلب الانتقالات المتاحة |
jira_get_projects |
List all projects | عرض جميع المشاريع |
jira_get_project |
Get project details | جلب تفاصيل مشروع |
jira_get_issue_types |
Get issue types | جلب أنواع التذاكر |
jira_get_priorities |
Get priorities | جلب الأولويات |
jira_get_statuses |
Get statuses | جلب الحالات |
jira_get_worklog |
Get work logs | جلب سجل العمل |
jira_get_watchers |
Get issue watchers | جلب المتابعين |
jira_get_user |
Get current user | جلب المستخدم الحالي |
Write Operations | عمليات الكتابة
| Tool | Description | الوصف |
|---|---|---|
jira_create_issue |
Create a new issue | إنشاء تذكرة جديدة |
jira_update_issue |
Update issue fields | تحديث حقول تذكرة |
jira_transition_issue |
Change issue status | تغيير حالة تذكرة |
jira_add_comment |
Add a comment | إضافة تعليق |
jira_assign_issue |
Assign an issue | إسناد تذكرة |
jira_add_worklog |
Log work time | تسجيل وقت عمل |
jira_link_issues |
Link two issues | ربط تذكرتين |
jira_add_watcher |
Add a watcher | إضافة متابع |
jira_delete_issue |
Delete an issue | حذف تذكرة |
Bitbucket Server (20 tools) | أدوات Bitbucket
Read Operations | عمليات القراءة
| Tool | Description | الوصف |
|---|---|---|
bitbucket_get_projects |
List all projects | عرض جميع المشاريع |
bitbucket_get_repos |
List repositories | عرض المستودعات |
bitbucket_get_repo |
Get repository details | جلب تفاصيل مستودع |
bitbucket_get_branches |
List branches | عرض الفروع |
bitbucket_get_commits |
List recent commits | عرض أحدث الـ commits |
bitbucket_get_commit |
Get commit details | جلب تفاصيل commit |
bitbucket_get_tags |
List tags | عرض التاغات |
bitbucket_get_pull_requests |
List pull requests | عرض طلبات السحب |
bitbucket_get_pull_request |
Get PR details | جلب تفاصيل PR |
bitbucket_get_pr_comments |
Get PR comments/activities | جلب تعليقات PR |
bitbucket_get_pr_diff |
Get PR diff/changes | جلب تغييرات PR |
bitbucket_get_file_content |
Get file content | جلب محتوى ملف |
bitbucket_get_directory |
Browse repository files | تصفح ملفات المستودع |
Write Operations | عمليات الكتابة
| Tool | Description | الوصف |
|---|---|---|
bitbucket_create_pull_request |
Create a pull request | إنشاء طلب سحب |
bitbucket_merge_pull_request |
Merge a PR | دمج طلب سحب |
bitbucket_decline_pull_request |
Decline/reject a PR | رفض طلب سحب |
bitbucket_approve_pull_request |
Approve a PR | الموافقة على طلب سحب |
bitbucket_add_pr_comment |
Comment on a PR | تعليق على طلب سحب |
bitbucket_create_branch |
Create a branch | إنشاء فرع |
bitbucket_delete_branch |
Delete a branch | حذف فرع |
🔐 Authentication | المصادقة
PAT (Personal Access Token) - Default | الافتراضي
Generate a PAT from your Atlassian product settings:
- Confluence: Profile → Personal Access Tokens
- Jira: Profile → Personal Access Tokens
- Bitbucket: HTTP Access Tokens in repository/project settings
Basic Authentication | المصادقة الأساسية
Set AUTH_TYPE=basic and provide ATLASSIAN_USERNAME and ATLASSIAN_PASSWORD. The same credentials are used for all three products.
🏗️ Architecture | البنية
ConfluenceMcpServer/
├── Configuration/
│ └── McpServerConfiguration.cs # Configuration management
├── Http/
│ └── HttpClientFactory.cs # HTTP client creation with auth
├── Models/
│ ├── JsonRpcModels.cs # JSON-RPC protocol models
│ └── McpToolDefinition.cs # Tool definition models
├── Server/
│ └── McpServer.cs # MCP protocol handler (stdio)
├── Services/
│ └── ConfluenceEnrichmentService.cs # Page enrichment logic
├── Tools/
│ ├── IToolHandler.cs # Base interface & BaseToolHandler
│ ├── ConfluenceToolHandler.cs # 21 Confluence tools
│ ├── JiraToolHandler.cs # 22 Jira tools
│ └── BitbucketToolHandler.cs # 20 Bitbucket tools
└── Program.cs # Entry point
🔌 Extensibility | قابلية التوسع
Add custom tools by implementing BaseToolHandler:
public class MyToolHandler : BaseToolHandler
{
public MyToolHandler(HttpClient httpClient) : base(httpClient) { }
public override bool CanHandle(string toolName) => toolName == "my_tool";
public override IEnumerable<McpToolDefinition> GetTools()
{
yield return McpToolDefinition.Create(
name: "my_tool",
englishDescription: "My custom tool",
arabicDescription: "أداتي المخصصة",
inputSchema: new McpInputSchema { ... });
}
public override async Task<ToolResult> ExecuteAsync(string toolName, JsonNode? arguments)
{
var result = await GetJsonAsync("/my/endpoint");
return ToolResult.Success(result);
}
}
📋 Requirements | المتطلبات
- .NET 8.0 SDK or later
- Atlassian Server/Data Center (on-premise) installation
- Valid authentication credentials (PAT or Basic)
📄 License | الرخصة
MIT
�💻 Author | المؤلف
Mohammed Khalil
| dev.mohammedKhalil@gmail.com | |
| 🐙 GitHub | DevMKhalil |
| mohammedkhalilmahmoud |
Built for the Atlassian on-premise community.
تم بناءه لمجتمع أتلاسيان المحلي.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.