jira-mcp について
jira-mcpは、Jira CloudとConfluenceを扱うオープンソースのMCPサーバーです。対応クライアントからプロジェクト、課題、スプリント、Wikiを操作でき、コメントや状態遷移、MarkdownのADF変換にも対応します。
主な機能
- 01課題の作成・取得・更新・削除
- 02コメント、ユーザー、担当の管理
- 03課題のワークフロー状態遷移
- 04アジャイルスプリントの作成と管理
- 05Confluenceページの読み取り
- 06MarkdownからADFへのリッチテキスト変換
活用シーン
- 01AIクライアントからJira課題を作成・更新
- 02スプリント計画や状態の確認と変更
- 03課題へのコメント追加や担当者の変更
- 04URL識別子を使ったConfluenceページの読み取り
MCP 対応
対応するAIクライアントにJiraとConfluenceの操作ツールを提供するMCPサーバーです。npxで起動し、Jira Cloudの認証情報を設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y raalarcon-jira-mcp-serverJIRA_HOSTYour Atlassian domain URL (e.g. https://your-domain.atlassian.net)JIRA_EMAILYour Jira account email addressJIRA_API_TOKENシークレットJira API token from https://id.atlassian.com/manage-profile/security/api-tokensローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
24掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| expand | string | いいえ | 含める追加データのカンマ区切りリスト:description、lead、issueTypes、url、projectKeys、permissions、insight |
| recent | number | いいえ | 最近表示したプロジェクトのみを返します(0~20 件)。よく使うプロジェクトにすばやくアクセスする場合に便利です。 |
詳細
Jira MCP サーバー
Jira と Atlassian 向けの最も包括的なオープンソースの Model Context Protocol(MCP) サーバーです。MCP 対応の AI クライアントを Jira インスタンスに数秒で接続できます。AI アシスタントを離れることなく、課題、スプリント、コメント、トランジション、ユーザー、Confluence ページを管理できます。
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "raalarcon-jira-mcp-server"],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
対応 AI クライアント
| クライアント | 対応 |
|---|---|
| Claude Desktop | ✅ |
| Claude Code | ✅ |
| Cursor | ✅ |
| Windsurf | ✅ |
| Cline | ✅ |
| Continue | ✅ |
| MCP 対応クライアント全般 | ✅ |
このサーバーの掲載先
- MCP Market — MCP サーバーのマーケットプレイス
- MCP Servers — MCP サーバーの優良ディレクトリ
- Claude Marketplaces — Claude プラグインと MCP のディレクトリ
- npm —
npx raalarcon-jira-mcp-server
機能
- ✅ プロジェクト管理:プロジェクトと課題タイプの一覧表示
- ✅ 課題の CRUD:課題の作成、読み取り、更新、削除
- ✅ コメント:ページネーションを強化したコメントの作成、読み取り、更新、削除
- ✅ トランジション:課題のステータスを変更
- ✅ 担当者の割り当て:課題をユーザーに割り当て
- ✅ ユーザー管理:ユーザーの検索と管理
- ✅ スプリント管理:アジャイルスプリントのライフサイクルを包括的に管理
- ✅ Wiki 連携:HTML からテキストへの変換により、URL 識別子を使って Confluence ページにアクセス
- ✅ リッチテキスト対応:書式付きの説明とコメント向けに、Markdown を ADF に変換
- ✅ 検証:Yup スキーマ検証
- ✅ 認証:Jira Cloud を全面的にサポート
- ✅ 最適化された応答:トークン効率のよいフィールドフィルタリング
- ✅ 型安全性:TypeScript を全面的にサポート
インストール
オプション 1:npx を使用する(推奨)
この MCP サーバーを使う最も簡単な方法は、npx を使用することです。
- MCP クライアント(例:Claude Desktop)に次の設定を追加します。
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "raalarcon-jira-mcp-server"],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
- Jira API トークンを取得します(手順は以下を参照)
以上です!必要に応じてサーバーが自動的にダウンロードされ、実行されます。
オプション 2:ローカル開発
- リポジトリをクローンします。
git clone https://github.com/raalarcon9705/jira-mcp.git
cd jira-mcp
- 依存関係をインストールします。
npm install
- プロジェクトをビルドします。
npm run build
- ビルドしたサーバーのフルパスを指定して、MCP クライアントを設定します。
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/full/path/to/jira-mcp/dist/index.js"],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
注:/full/path/to/jira-mcp/ を、プロジェクトディレクトリの実際の絶対パスに置き換えてください。
API トークンの取得
- Atlassian アカウント設定にアクセスします
- 「API token を作成」をクリックします
- わかりやすい名前を付けます
- 生成されたトークンをコピーします
使用方法
npx を使用する(推奨)
MCP クライアントで設定すると、必要に応じてサーバーが自動的に起動します。追加のセットアップは不要です!
Markdown によるリッチテキストのサポート
サーバーは、課題の説明とコメントを対象に、Markdown から ADF への自動変換をサポートするようになりました。Markdown 構文を使うだけで、自動的に Atlassian Document Format(ADF)に変換されます。
サポートされる Markdown 要素
- 見出し:
# H1、## H2、### H3 - テキストの書式設定:
**bold**、*italic* - コード:
`inline code`とcode blocks - リスト:
- bullet listsと1. numbered lists - リンク:
[text](url) - 引用:
> quoted text - チェックボックス:
- [x] completed task
使用例
// Create issue with Markdown description
create_issue({
projectKey: 'PROJ',
summary: 'Bug Report',
description: `# Bug Report
## Description
This is a **critical** bug affecting the login system.
## Steps to Reproduce
1. Go to login page
2. Enter invalid credentials
3. Click login button
## Code Example
\`\`\`javascript
function login(username, password) {
return authenticate(username, password);
}
\`\`\`
> **Note**: This bug was reported by multiple users.`,
});
// Create comment with Markdown
create_comment({
issueKey: 'PROJ-123',
body: `## Update
**Status**: Fixed ✅
- [x] Identified root cause
- [x] Implemented fix
- [x] Tested solution
The issue has been resolved.`,
});
開発
npm run dev
本番環境
npm run build
npm start
npx でのテスト
npx を使用してサーバーを直接テストすることもできます。
# Test the server
npx raalarcon-jira-mcp-server
# Or use with MCP Inspector
npx @modelcontextprotocol/inspector
# Then configure: command: "npx", args: ["-y", "raalarcon-jira-mcp-server"]
利用可能なツール
プロジェクト
get_projects
認証済みユーザーがアクセスできるすべてのプロジェクトを取得します。
パラメーター:
expand(任意):追加で含めるデータrecent(任意):最近のプロジェクト数(0-20)
レスポンス:主要なフィールドを含むプロジェクトの配列:
[
{
"key": "PROJ",
"name": "Project Name",
"id": "10001",
"projectTypeKey": "software"
}
]
get_issue_types
指定したプロジェクトで利用可能なすべての課題タイプを取得します。
パラメーター:
projectKey(必須):プロジェクトキー
レスポンス:主要なフィールドを含む課題タイプの配列:
[
{
"id": "10002",
"name": "Task",
"desc": "A small, independent piece of work",
"subtask": false,
"level": 0
}
]
課題
create_issue
Jira に新しい課題を作成します。
パラメーター:
projectKey(必須):プロジェクトキーsummary(必須):課題の要約issueType(必須):課題タイプ(Bug、Story、Task など)description(任意):課題の説明priority(任意):優先度(Highest、High、Medium、Low、Lowest)assignee(任意):担当者のアカウント IDlabels(任意):ラベルの配列components(任意):コンポーネントの配列fixVersions(任意):修正バージョンの配列customFields(任意):カスタムフィールドの値
レスポンス:Issue PROJ-123 created successfully
get_issue
特定の課題の詳細を取得します(トークン効率のため、カスタムフィールドは除外されます)。
パラメーター:
issueKey(必須):課題キー(例:PROJ-123)expand(任意):追加情報fields(任意):返すフィールド
レスポンス:カスタムフィールドを除外した課題オブジェクト全体
update_issue
既存の課題を更新します。
パラメーター:
issueKey(必須):更新する課題キーsummary(任意):新しい要約description(任意):新しい説明priority(任意):新しい優先度assignee(任意):新しい担当者labels(任意):新しいラベルcomponents(任意):新しいコンポーネントfixVersions(任意):新しい修正バージョンcustomFields(任意):カスタムフィールド
レスポンス:Issue PROJ-123 updated successfully
delete_issue
課題を削除します。
パラメーター:
issueKey(必須):削除する課題キーdeleteSubtasks(任意):サブタスクも削除する(デフォルト:false)
レスポンス:Issue PROJ-123 deleted successfully
コメント
create_comment
課題にコメントを追加します。
パラメーター:
issueKey(必須):課題キーbody(必須):コメント本文(ADF 形式をサポート)visibility(任意):表示設定
レスポンス:Comment 12345 created successfully
get_comments
課題のすべてのコメントを取得します。
パラメーター:
issueKey(必須):課題キーstartAt(任意):開始インデックス(デフォルト:0)maxResults(任意):コメントの最大数(1-100、デフォルト:50)
レスポンス:最適化されたコメント構造:
{
"total": 5,
"start": 0,
"max": 50,
"items": [
{
"id": "12345",
"author": "John Doe",
"authorId": "account-id",
"created": "2025-01-01T10:00:00.000Z",
"text": "Comment text content"
}
]
}
update_comment
既存のコメントを更新します。
パラメーター:
issueKey(必須):課題キーcommentId(必須):コメント IDbody(必須):新しいコメント本文visibility(任意):新しい表示設定
レスポンス:Comment 12345 updated successfully
delete_comment
コメントを削除します。
パラメーター:
issueKey(必須):課題キーcommentId(必須):コメント ID
レスポンス:Comment 12345 deleted successfully
トランジション
get_transitions
課題で利用可能なトランジションを取得します。
パラメーター:
issueKey(必須):課題キー
レスポンス:必須フィールドを含むトランジションの配列:
[
{
"id": "21",
"name": "In Progress",
"desc": "The assignee is currently working on this activity",
"toName": "In Progress",
"toId": "3",
"available": true,
"category": "In Progress"
}
]
transition_issue
課題を別の状態に移します。
パラメーター:
issueKey(必須):課題キーtransitionId(必須):トランジション IDcomment(任意):トランジション時に追加するコメントfields(任意):更新する追加フィールド
レスポンス:Issue PROJ-123 transitioned successfully
割り当て
assign_issue
課題をユーザーに割り当てます。
パラメーター:
issueKey(必須):課題キーassignee(必須):ユーザーアカウント ID
レスポンス:Issue PROJ-123 assigned successfully
get_users
Jira のユーザーを検索します。
パラメーター:
query(任意):名前またはメールアドレスによる検索クエリprojectKey(任意):プロジェクトへのアクセス権で絞り込みmaxResults(任意):ユーザーの最大数(1~100、デフォルト:50)
レスポンス:必須フィールドを含むユーザーの配列:
[
{
"id": "account-id",
"name": "John Doe",
"email": "[email protected]",
"active": true,
"type": "atlassian"
}
]
get_current_user
現在認証されているユーザーの情報を取得します。
レスポンス:必須フィールドを含む現在のユーザー:
{
"id": "account-id",
"name": "Current User",
"email": "[email protected]",
"active": true,
"timezone": "America/New_York",
"type": "atlassian"
}
スプリント管理
get_agile_boards
Jira インスタンスで利用可能なすべてのアジャイルボードを取得します。スプリント操作に必要なボード ID を見つけるために使用します。
パラメーター:
projectKey(任意):プロジェクトでボードを絞り込みboardType(任意):種類で絞り込み(scrum、kanban)
レスポンス:必須フィールドを含むボードの配列:
[
{
"id": 191,
"name": "DreamStar Board",
"type": "scrum",
"projectKey": "DRMSTR",
"projectName": "DreamStar"
}
]
get_sprints
特定のボードのすべてのスプリントを取得します。ID、名前、状態、日付などのスプリント情報を返します。
パラメーター:
boardId(必須):スプリントを取得するボードの IDstate(任意):状態でスプリントを絞り込み(active、closed、future)
レスポンス:必須フィールドを含むスプリントの配列:
[
{
"id": 387,
"name": "DRMSTR Sprint 1",
"state": "active",
"startDate": "2025-09-15T14:05:37.511Z",
"endDate": "2025-09-26T05:00:00.000Z",
"goal": ""
}
]
create_sprint
新しいスプリントを作成します。スプリント名と作成元のボード ID は必須です。開始日、終了日、目標は任意です。
パラメーター:
name(必須):作成するスプリントの名前originBoardId(必須):スプリントを作成するボードの IDstartDate(任意):スプリントの開始日(ISO 8601 形式)endDate(任意):スプリントの終了日(ISO 8601 形式)goal(任意):スプリントの目標または目的
レスポンス:必須フィールドを含む作成済みスプリント:
{
"id": 421,
"name": "DRMSTR Sprint 3",
"state": "future",
"goal": ""
}
update_sprint
スプリント情報(名前、日付、目標、状態)を更新します。指定されたフィールドのみが更新されます。終了済みのスプリントでは、更新できるのは名前と目標のみです。
パラメーター:
sprintId(必須):更新するスプリントの IDname(任意):スプリントの新しい名前startDate(任意):新しい開始日(ISO 8601 形式)endDate(任意):新しい終了日(ISO 8601 形式)goal(任意):スプリントの新しい目標または目的state(任意):新しい状態(future、active、closed)
レスポンス:Sprint 421 updated successfully
close_sprint
スプリントを終了して完了します。この操作を行うには、スプリントが「active」状態である必要があります。終了すると、スプリントを再開できません。
パラメーター:
sprintId(必須):終了するスプリントの ID
レスポンス:Sprint 421 closed successfully
delete_sprint
スプリントを削除します。削除すると、スプリント内のすべてのオープン課題がバックログに移動されます。この操作は取り消せません。
パラメーター:
sprintId(必須):削除するスプリントの ID
レスポンス:Sprint 421 deleted successfully. All open issues moved to backlog.
move_issue_to_sprint
課題を特定のスプリントに移動します。確認メッセージを返します。課題を移動できるのは、オープンまたは進行中のスプリントのみです。
パラメーター:
issueKey(必須):移動する課題のキー(例:「PROJ-123」)sprintId(必須):課題の移動先となるスプリントの ID
レスポンス:Issue PROJ-123 moved to sprint 421 successfully
get_sprint_issues
指定したスプリントのすべての課題を取得します。課題の基本情報(キー、要約、ステータス、担当者、優先度)の一覧を返します。
パラメーター:
sprintId(必須):スプリントの IDmaxResults(任意):返す課題の最大数(1~100、デフォルト:50)
レスポンス:基本フィールドを含む課題の配列:
[
{
"key": "DRMSTR-1",
"summary": "Implement user authentication",
"status": "In Progress",
"assignee": "John Doe",
"priority": "High"
}
]
レスポンスの最適化
サーバーはトークン効率を高めるよう最適化されています。
- 基本フィールドのみ:各操作に必要なフィールドのみを返します
- カスタムフィールドの除外:課題のレスポンスからカスタムフィールドを自動的に除外します
- 短いフィールド名:
descriptionの代わりにdescを使うなど、短縮したフィールド名を使用します - 成功メッセージ:明確で簡潔な成功確認メッセージを返します
- 構造化データ:すべてのツールで一貫したレスポンス形式を使用します
エラー処理
サーバーには、内容が明確なメッセージを伴う堅牢なエラー処理が組み込まれています。よくあるエラーは次のとおりです。
- 認証:認証情報が無効、または期限切れです
- 権限:操作に必要な権限がありません
- 検証:入力データが無効です
- リソース:課題またはプロジェクトが見つかりません
- API:レート制限に達したか、Jira サーバーでエラーが発生しました
開発
プロジェクト構成
src/
├── index.ts # Main MCP server
├── jira-client.ts # Jira API client
├── schemas/
│ └── index.ts # Yup validation schemas
└── tools/
├── projects.ts # Project tools
├── issues.ts # Issue tools
├── comments.ts # Comment tools
├── transitions.ts # Transition tools
├── assignments.ts # Assignment tools
└── sprints.ts # Sprint management tools
新機能の追加
src/schemas/index.tsに検証スキーマを作成しますsrc/jira-client.tsにメソッドを実装しますsrc/tools/内の適切なファイルにMCP ツールを作成しますsrc/index.tsでツールを登録します
テスト
MCP Inspector の使用(推奨)
-
MCP Inspector をインストールします:
npm install -g @modelcontextprotocol/inspector -
プロジェクトをビルドします:
npm run build -
MCP Inspector を起動します:
npx @modelcontextprotocol/inspector -
Inspector のインターフェースでサーバーを設定します:
- トランスポート:STDIO(デフォルト)
- コマンド:
node - 引数:
build/index.js - 環境:Jira の認証情報を追加します
その他のテスト方法
CLI モード(自動化とスクリプト作成向け):
# List available tools
npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/list
# Call a specific tool
npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/call --tool-name get_projects
設定ファイル(複雑なセットアップ向け):
{
"mcpServers": {
"jira-server": {
"command": "node",
"args": ["build/index.js"],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}
Claude Desktop:実環境でテストするには、Claude Desktop で MCP サーバーを直接設定します
高度な設定
環境変数(上級ユーザー向け):
# Jira configuration
export JIRA_HOST="https://your-domain.atlassian.net"
export JIRA_EMAIL="[email protected]"
export JIRA_API_TOKEN="your-api-token"
# Timeout settings
export MCP_SERVER_REQUEST_TIMEOUT=60000
export MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS=false
# Proxy settings (if using MCP Proxy)
export MCP_PROXY_FULL_ADDRESS=http://localhost:5577
# Auto-open browser
export MCP_AUTO_OPEN_ENABLED=true
クエリパラメーター(直接テスト向け):
http://localhost:6274/?transport=stdio&serverCommand=node&serverArgs=build/index.js
手動テスト
# Build and run the server
npm run build
npm start
Wiki
query_wiki
URL 識別子を使って Confluence ページにアクセスし、整形されたコンテンツを返します。
パラメーター:
query(必須):検索するページコード(F4CjNw など)
レスポンス:メタデータを含む Markdown 形式のページコンテンツ:
# Page Title
**ID:** 933462039
**Space:** Orderbahn Team (OT)
**URL:** /spaces/OT/pages/933462039/...
**Author:** User Name
**Last Modified:** 2025-09-26T16:35:30.695Z
**Code:** F4CjNw
## Content
[Page content in plain text with preserved line breaks]
## Page Hierarchy
- Parent Page (page)
- Child Page (folder)
- Current Page (page)
機能:
- 短縮 URL のリダイレクトを自動的にたどります
- 構造を維持しながら HTML をプレーンテキストに変換します
- ページ階層を表示します
- 包括的なエラー処理を備えています
貢献
Jira MCP Server への貢献を歓迎します。スムーズに貢献いただくため、以下のガイドラインに従ってください。
はじめに
- GitHub でリポジトリをフォークします
- フォークをローカルにクローンします:
git clone https://github.com/raalarcon9705/jira-mcp.git cd jira-mcp - 依存関係をインストールします:
npm install - 機能開発用の新しいブランチを作成します:
git checkout -b feature/your-feature-name
開発ワークフロー
環境のセットアップ
-
MCP Inspector をインストールします(公式テストツール):
npm install -g @modelcontextprotocol/inspector -
プロジェクトをビルドします:
npm run build -
MCP Inspector でテストします:
npx @modelcontextprotocol/inspector続いて、サーバーを設定します:
- トランスポート:STDIO
- コマンド:
node - 引数:
build/index.js - 環境:Jira の認証情報を追加します
コード規約
- TypeScript:すべてのコードを TypeScript で記述してください
- 型安全性:
any型は避け、適切な Jira.js の型を使用してください - エラー処理:包括的なエラー処理を実装してください
- バリデーション:入力のバリデーションには Yup スキーマを使用してください
- コメント:複雑なロジックには明確なコメントを追加してください
- フォーマット:既存のコードスタイルとフォーマットに従ってください
新機能の追加
-
src/schemas/index.tsにバリデーションスキーマを作成します:export const yourFeatureSchema = yup.object({ // Define your schema }); -
src/jira-client.tsにAPI メソッドを実装します:async yourFeature(input: YourFeatureInput) { try { // Implementation } catch (error) { throw new Error(`Failed to your feature: ${error.message}`); } } -
src/tools/の適切なファイルにMCP ツールを作成します:{ name: 'your_tool', description: 'Clear description of what the tool does', inputSchema: { // Define input schema } } -
src/index.tsでツールを登録します:// Add to appropriate handler -
トークン効率を高めるためにレスポンスを最適化します:
- 必須フィールドのみを返します
- 短いフィールド名を使用します
- 不要なデータを除外します
変更のテスト
-
プロジェクトをビルドします:
npm run build -
MCP Inspector でテストします:
npx @modelcontextprotocol/inspector- サーバーを設定します:STDIO、
node build/index.js - 影響を受けるすべてのツールをテストします
- レスポンスが最適化されていることを確認します
- サーバーを設定します:STDIO、
-
CLI モードでテストします(自動化用):
# List tools npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/list # Test specific tool npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/call --tool-name get_projects -
レスポンスの最適化を確認します:
- 必須フィールドのみが返されることを確認します
- フィールド名が短縮されていることを確認します
- カスタムフィールドが除外されていることを確認します
プルリクエストのプロセス
提出前
- コードがコンパイルされること(TypeScript エラーがないこと)
- すべてのツールが期待どおりに動作すること
- レスポンスの最適化が実装されていること
- エラー処理が包括的であること
- 必要に応じてドキュメントが更新されていること
- 例に個人データが含まれていないこと
プルリクエストの作成
-
明確なメッセージで変更をコミットします:
git add . git commit -m "Add new feature: brief description" -
フォークにプッシュします:
git push origin feature/your-feature-name -
GitHub でプルリクエストを作成し、以下を記載します:
- 変更内容を説明する明確なタイトル
- 追加・変更した内容の詳細な説明
- レビュアー向けのテスト手順
- UI に変更がある場合はスクリーンショット
プルリクエストのテンプレート
## Description
Brief description of the changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
- [ ] All existing tests pass
- [ ] New functionality tested
- [ ] Response optimization verified
## Checklist
- [ ] Code follows project standards
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] No personal data included
コードレビューのプロセス
- PR で自動チェックが実行されます
- メンテナーがコードをレビューします
- フィードバックに速やかに対応します
- 要求された変更を加えて PR を更新します
- 承認後にPR がマージされます
問題の報告
バグの報告や機能のリクエストを行う場合:
- まず既存の問題を確認します
- 提供されている issue テンプレートを使用します
- バグの場合は再現手順を記載します
- 機能のリクエストの場合は明確に説明します
- 関連するログとエラーメッセージを添付します
開発ガイドライン
レスポンスの最適化
- 必須フィールドのみ:必要なデータのみを返します
- 短いフィールド名:省略した名前を使用します(例:
descriptionの代わりにdesc) - カスタムフィールドを除外:課題のレスポンスから
customfield_*を削除します - 一貫したフォーマット:レスポンス構造を統一します
エラー処理
- 説明的なメッセージ:エラーメッセージに状況を含めます
- 適切なエラー型:適切なエラー型を使用します
- ログ記録:デバッグ用に console.error を追加します
- ユーザーフレンドリー:エラーがエンドユーザーにわかりやすい内容になるようにします
ドキュメント
- README を更新:新しいツールをドキュメントに追加します
- 例を含める:使用例を記載します
- レスポンス形式:レスポンス構造を文書化します
- 個人データを含めない:汎用的な例のみを使用します
コミュニティガイドライン
- 議論では敬意を払い、建設的に振る舞ってください
- 他の人の学習や貢献を支援してください
- 行動規範に従ってください
- 助けが必要な場合は質問してください
ヘルプを得る
- GitHub Issues:バグや機能のリクエスト向け
- Discussions:質問や一般的なヘルプ向け
- ドキュメント:まず既存のドキュメントを確認してください
- コード例:既存の実装を参照してください
Jira MCP Server に貢献していただき、ありがとうございます! 🚀
🤝 貢献
コミュニティからの貢献を歓迎します!このプロジェクトはオープンソースであり、あらゆる貢献を大切にしています。
貢献者向けクイックスタート
- GitHub でリポジトリをフォークします
- フォークをクローンします:
git clone https://github.com/your-username/jira-mcp.git cd jira-mcp - 依存関係をインストールします:
npm install - 機能追加用のブランチを作成します:
git checkout -b feature/your-feature-name - 変更を加えてテストします
- プルリクエストを送信します
貢献方法
- 🐛 バグ報告テンプレートを使用してバグを報告します
- ✨ 機能リクエストテンプレートを使用して機能をリクエストします
- 💻 改善や新機能のコードを提出します
- 📚 ドキュメントやサンプルを改善します
- 🧪 カバレッジ向上のためにテストを追加します
- 🌍 ドキュメントを他の言語に翻訳します
開発ガイドライン
- 貢献ガイドに従ってください
- 行動規範をお読みください
- 新しいコードにはすべて TypeScript を使用してください
- 新しい機能にはテストを追加してください
- 必要に応じてドキュメントを更新してください
サポートを受ける
- 💬 ディスカッション:質問には GitHub Discussions を使用してください
- 🐛 イシュー:バグや機能リクエストには GitHub Issues を使用してください
- 📖 ドキュメント:README と CONTRIBUTING.md をご確認ください
npm への公開
この MCP サーバーを npm に公開して配布するには:
-
npm にログインします:
npm login -
公開スクリプトを実行します:
./publish.sh -
または手動で公開します:
npm run build npm publish
パッケージは raalarcon-jira-mcp-server として公開され、ユーザーは次のコマンドでインストールできます:
npx raalarcon-jira-mcp-server
ライセンス
MIT
サポート
バグの報告や機能のリクエストは、リポジトリでイシューを作成してください。
注:この MCP サーバーは Jira Cloud で動作するように設計されています。Jira Server/Data Center で使用するには、認証と一部のエンドポイントに追加の変更が必要です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。