mcpField
K
keen

keen

ローカル
github.com生産性01 週間前に更新

keen について

keenは、Jira、Confluence、Bitbucketなどを含むAtlassian Cloudの自動化向けGo製コマンドラインツール兼MCPサーバーです。型付きコマンド、幅広いAPI対応、SQLiteのローカル全文検索キャッシュにより、スクリプトとエージェントの照会を支援します。

主な機能

  1. 01Jira、Confluence、BitbucketなどのAtlassian APIに対応
  2. 02型付きコマンドと構造化出力
  3. 03データをSQLiteに同期して全文検索
  4. 04読み取りのキャッシュでAPI要求を抑制
  5. 05検索でツールを見つけて名前で実行
  6. 06トークン予算内で課題のコンテキストを集約

活用シーン

  1. 01同期済みAtlassianデータのローカル検索
  2. 02Jiraの課題・スプリントワークフローの自動化
  3. 03課題に関連する作業やページの集約
  4. 04エージェントによるAtlassian操作の発見と実行

MCP 対応

`keen-mcp`は、関連コマンドを探す`keen_search`と、名前を指定して実行する`keen_run`の2つのツールを公開します。`KEEN_MCP_TOOLS=all`を設定すると、エージェントから全ツールを利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbkeen-mcp.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Keen

Atlassian プラットフォーム全体に対応する CLI および MCP サーバー。

リリース Apache 2.0 ライセンス Go のバージョン CI Go レポートカード

Imogen Labs


Jira、Confluence、Agile、Marketplace、Service Desk、Assets、Compass、Bitbucket、Admin にわたる 1,843 の API エンドポイントを、単一の Go バイナリで利用できます。全文検索に対応した SQLite ベースのローカル同期機能を備えています。AI エージェント向けの MCP サーバーです。人間よりも自動化を優先して設計されています。

Keen とは?

自動化する Atlassian ワークフローはどれも、手作業で組み立てた JSON ペイロードを使った大量の curl 呼び出しと、壊れやすい jq 解析の連続です。Jira を操作する AI エージェントは、数十回操作しただけでレート制限に達します。

Keen は、これらすべてを型付きコマンド、構造化された出力、FTS5 全文検索に対応したローカル SQLite キャッシュ、そして Atlassian スタック全体への高速で上限のないアクセスを AI エージェントに提供する MCP サーバーに置き換えます。

無料のオープンソースです。 Apache-2.0 ライセンスです。アカウントは不要です。テレメトリーもありません。

API の対応範囲

APIエンドポイント数利用できる機能
Jira Platform v3630課題、トランジション、検索、一括操作、フィールド、ワークフロー、権限
Jira Agile105スプリント、ボード、バックログ、エピック、ランキング、ベロシティ
Confluence130CQL 検索、スペース、ラベル、テンプレート、添付ファイル、権限、コンテンツ状態
Confluence v2252ページ、ブログ記事、スペース、フォルダー、データベース、ホワイトボード、コメント、添付ファイル、スペースロール
Marketplace v2143アドオン、バージョン、ベンダー、配布、レビュー、レポート
Service Desk75リクエスト、キュー、顧客、SLA、承認
Assets64オブジェクト、オブジェクトスキーマとタイプ、AQL 検索、インポート(keen assets-...)。keen がサイトからクラウド ID とワークスペース ID を検出します
Compass11コンポーネントのイベント、メトリック値、添付ファイル、API 仕様
Teamwork Graph18 件のクエリGraphQL を使った組織図(マネージャー、直属の部下、レポートチェーン)、チーム、ある人が作成、コメント、メンション、閲覧した作業(Teamwork Graph)。さらに、任意の読み取りクエリに対応する keen graphql
Bitbucket300リポジトリ、プルリクエスト、パイプライン、ブランチ、コミット、スニペット、ワークスペース(keen bitbucket-...)。公開データはトークンなしで利用できます。非公開データには Bitbucket スコープのトークンが必要です(認証)
Admin133組織、ディレクトリ、グループ、ドメイン、ポリシー、ユーザー管理、ユーザープロビジョニング(SCIM)、API トークンとサービスアカウント、データ損失防止。管理者 API キーが必要です(認証)

最初の 5 分

# 1. Install (macOS or Linux with Homebrew; see Install for .deb, .rpm and Docker)
brew install imogenlabs/tap/keen

# 2. Save your credentials
mkdir -p ~/.config/keen
cat > ~/.config/keen/auth.json <<'JSON'
{ "base_url": "https://yoursite.atlassian.net", "username": "[email protected]", "password": "your-api-token" }
JSON
chmod 600 ~/.config/keen/auth.json

# 3. Check connectivity
keen doctor

# 4. Sync your Jira data locally
keen sync

# 5. Search instantly (no API calls)
keen search "authentication bug" --data-source local

id.atlassian.com/manage-profile/security/api-tokens で API トークンを生成します。

環境変数も使用できます。環境変数の値はファイルの設定より優先されます。

export JIRA_CLOUD_PLATFORM_USERNAME="[email protected]"
export JIRA_CLOUD_PLATFORM_PASSWORD="your-api-token"
export JIRA_CLOUD_PLATFORM_URL="https://yoursite.atlassian.net"

インストール

Homebrew(macOS および Linux)
brew install imogenlabs/tap/keen

これにより、keen と keen-mcp の両方がインストールされます。brew upgrade keen を実行すると新しいリリースが適用されます。Formula は各リリースから1日以内に更新されます。

Debian、Ubuntu、Fedora、RHEL

各リリースでは、x86_64(amd64)および arm64 向けの .deb と .rpm パッケージが提供されます。これらは keen と keen-mcp を /usr/bin にインストールします。

# Debian, Ubuntu
curl -LO https://github.com/imogenlabs/keen/releases/latest/download/keen_linux_amd64.deb
sudo apt install ./keen_linux_amd64.deb

# Fedora, RHEL
curl -LO https://github.com/imogenlabs/keen/releases/latest/download/keen_linux_amd64.rpm
sudo dnf install ./keen_linux_amd64.rpm

arm64 では、keen_linux_arm64.deb または keen_linux_arm64.rpm を使用してください。アップグレードするには、新しいリリースのパッケージを同じ方法でインストールします。

Docker

イメージは GitHub のレジストリと Docker Hub で、amd64 および arm64 向けに公開されています:ghcr.io/imogenlabs/keen または smashingtags/keen。デフォルトでは keen-mcp が実行されます。CLI を実行するには、イメージ名の後に keen とその引数を指定します。

docker run --rm \
  -e JIRA_CLOUD_PLATFORM_URL=https://yoursite.atlassian.net \
  -e [email protected] \
  -e JIRA_CLOUD_PLATFORM_PASSWORD=your-api-token \
  ghcr.io/imogenlabs/keen keen get PROJ-42 --agent

実行間で keen sync のローカルコピーを保持するには、-v keen-data:/home/nonroot を追加します。MCP サーバーとして使用する方法については、「MCP サーバー」のDockerを参照してください。

バイナリのダウンロード

GitHub Releasesからダウンロードしてください。

# macOS (Apple Silicon)
curl -L https://github.com/imogenlabs/keen/releases/latest/download/keen_darwin_arm64.tar.gz | tar xz
sudo mv keen_darwin_arm64/keen /usr/local/bin/
sudo mv keen_darwin_arm64/keen-mcp /usr/local/bin/

# macOS (Intel)
curl -L https://github.com/imogenlabs/keen/releases/latest/download/keen_darwin_amd64.tar.gz | tar xz
sudo mv keen_darwin_amd64/keen /usr/local/bin/
sudo mv keen_darwin_amd64/keen-mcp /usr/local/bin/

# Linux (x86_64)
curl -L https://github.com/imogenlabs/keen/releases/latest/download/keen_linux_amd64.tar.gz | tar xz
sudo mv keen_linux_amd64/keen /usr/local/bin/
sudo mv keen_linux_amd64/keen-mcp /usr/local/bin/

# Linux (arm64)
curl -L https://github.com/imogenlabs/keen/releases/latest/download/keen_linux_arm64.tar.gz | tar xz
sudo mv keen_linux_arm64/keen /usr/local/bin/
sudo mv keen_linux_arm64/keen-mcp /usr/local/bin/

各リリースでは checksums.txt も公開されます。

ソースからのビルド
git clone https://github.com/imogenlabs/keen.git
cd keen
make build-all   # builds bin/keen and bin/keen-mcp

Go 1.26.10 以降が必要です。

各リリースでの変更内容:CHANGELOG.md。

MCP サーバー

Keen には、AI エージェントに keen のすべてのコマンド(1,939 個のツール)を提供する MCP サーバー(keen-mcp)が含まれています。Claude Code、Cursor、Windsurf、および MCP 互換のあらゆるホストで動作します。

提供するツールは2つです。keen_search はタスクに必要なツール(「課題をトランジションする」「ボードのスプリントを一覧表示する」など)を検索し、パラメーターとともに返します。keen_run は名前を指定してツールを実行します。1,939 個のツールを1つずつすべて一覧表示すると約50万トークンになり、ほとんどのモデルが扱える量を超えるため、keen に接続するアプリは作業を始める前に容量を使い切ってしまいます。それでも全リストを取得するには、サーバーの環境で KEEN_MCP_TOOLS=all を設定してください。

ツール呼び出しは stdio 経由で JSON-RPC として届きます。ツールの検索は keen-mcp 内で行われ、Atlassian への呼び出しはありません。ツールの実行時は Atlassian にリクエストしますが、5分以内に繰り返された読み取りには keen のキャッシュから応答するため、負荷の高いエージェントでも Atlassian のレート制限内に収まります。成功した書き込みを行うとキャッシュが消去されるため、書き込み後の読み取りには最新のデータが返されます。すべての読み取りを常にライブにするには、KEEN_MCP_CACHE=off を設定してください。Atlassian によってツールの API が無効化されている場合は、代わりに使用するものが結果に示されます。

MCP リクエストの流れ:AI アプリが平易な言葉でタスクを指定して keen_search を呼び出すと、Atlassian への呼び出しなしで最適なツールが返されます。次に keen_run を呼び出し、最近繰り返された読み取りには keen のキャッシュから応答し、それ以外はすべて Atlassian に送信します。

ソース:docs/diagrams/mcp-flow.drawio。

Claude Desktop と MCP レジストリ

Mac では、最新リリースから keen-mcp.mcpb をダウンロードして開いてください。Claude Desktop が keen をインストールし、Atlassian のサイト、メールアドレス、API トークンを尋ねます。keen は公式のMCP レジストリにも io.github.imogenlabs/keen として登録されており、各リリースに合わせて更新されます。

keen-mcp は CLI と同じ方法で認証情報を取得します。まず環境変数を確認し、次に ~/.config/keen/auth.json または config.toml を確認します。すでに CLI の設定が済んでいる場合は、claude mcp add --transport stdio keen -- keen-mcp だけで十分です。認証情報を明示的に渡すには、次のようにします。

Claude Code
claude mcp add --transport stdio keen \
  --env [email protected] \
  --env JIRA_CLOUD_PLATFORM_PASSWORD=your-api-token \
  --env JIRA_CLOUD_PLATFORM_URL=https://yoursite.atlassian.net \
  -- keen-mcp
Cursor

.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "keen": {
      "command": "keen-mcp",
      "env": {
        "JIRA_CLOUD_PLATFORM_USERNAME": "[email protected]",
        "JIRA_CLOUD_PLATFORM_PASSWORD": "your-api-token",
        "JIRA_CLOUD_PLATFORM_URL": "https://yoursite.atlassian.net"
      }
    }
  }
}
Windsurf

同じ構造で ~/.codeium/windsurf/mcp_config.json に追加します。

Docker

どの MCP ホストでも、インストールする代わりにイメージから keen-mcp を実行できます。-e NAME フラグは、env の値をコンテナに渡します。

{
  "mcpServers": {
    "keen": {
      "command": "docker",
      "args": ["run", "-i", "--rm",
               "-e", "JIRA_CLOUD_PLATFORM_URL", "-e", "JIRA_CLOUD_PLATFORM_USERNAME", "-e", "JIRA_CLOUD_PLATFORM_PASSWORD",
               "ghcr.io/imogenlabs/keen"],
      "env": {
        "JIRA_CLOUD_PLATFORM_URL": "https://yoursite.atlassian.net",
        "JIRA_CLOUD_PLATFORM_USERNAME": "[email protected]",
        "JIRA_CLOUD_PLATFORM_PASSWORD": "your-api-token"
      }
    }
  }
}

ローカル同期とオフライン検索

Keen は Atlassian のデータを FTS5 全文検索に対応したローカルの SQLite データベースに同期します。Jira Cloud API にアクセスする代わりに、ローカルキャッシュに対して 100 ミリ秒未満でクエリを実行できます。

keen sync                                          # hydrate local cache
keen search "sprint bug" --data-source local        # FTS search (sub-100ms)
keen analytics                                      # analytics on synced data
keen stale --days 30                                # find stale items
keen orphans                                        # find orphaned items
keen load                                           # workload distribution

これは、Atlassian のレート制限に抵触せずに多くのクエリを実行する必要がある AI エージェントにとって、特に便利です。

エージェントモード

すべてのコマンドで --agent を使用できます。このフラグを指定すると、JSON 出力、対話型プロンプトなし、コンパクト形式、色なしが一度に設定されます。AI エージェントでの利用を想定して設計されています。

keen agile get-all-boards --agent
keen issue transitions get PROJ-42 --agent | jq '.results.transitions[] | {id, name}'

日常的に使う Jira の呼び出しには、短縮形があります。

keen find-issues --jql "project = PROJ AND status = 'In Progress'" --agent
keen get PROJ-42 --agent
keen transition PROJ-42 --transition-name "In Progress" --agent   # name resolved to its id
keen sprints 42 --state active --agent

課題への着手時には、トークン予算内に収めながら、関連情報をまとめて取得する 1 回の呼び出しで済みます。

keen context PROJ-42 --org my-org --agent              # default --budget 8000

課題、親課題、コメント、リンクされた課題、サブタスク、GitHub のプルリクエストとコミット(課題に関する GitHub の作業を参照)、リンクされた Confluence ページが返されます。課題を最初に返し、次に親課題、GitHub の作業、リンクされた課題とサブタスク、新しいコメント、Confluence ページ、古いコメントの順に返します。予算に収まらない項目は、黙って省略されることなく、サイズとともに budget.omitted に記載されます。

主なフラグ

フラグ機能
--agentJSON + プロンプトなし + コンパクト(スクリプトからのすべての呼び出しで使用してください)
--compact主要なフィールド(id、name、status、timestamps)のみを出力
--jsonJSON 出力を強制
--csvCSV 出力
--dry-run送信せずに、送信される内容を表示
--stdinリクエスト本文を JSON として標準入力から読み取り
--select "key,fields.summary"指定したフィールドのみを保持(ドット区切りパスでネストされたフィールドも指定できます)。フィールド名を間違えると、修正候補とともにエラーになります。ただし、書き込みが成功した後の場合は警告を表示し、レスポンス全体を出力します
--output-summary[=N]出力が N バイト(既定値は 4096)を超えた場合、非公開の一時ファイルに保存し、ファイルパス、サイズ、レコード数を含む 1 行の JSON 要約を出力
--quiet1 行につき 1 つの値を出力
--data-source localローカルの SQLite キャッシュのみをクエリ

コマンドの確認

keen which "transition an issue"   # the command for a task, in plain words
keen which "create page"           # one line per answer; "no match" when nothing fits
keen api                     # browse all API interfaces
keen api wiki                # browse Confluence endpoints
keen api agile               # browse Agile endpoints

よくあるワークフロー

スプリント管理
keen agile get-all-boards --agent
keen agile get-all-sprints BOARD_ID --state active,future --agent
keen agile create-sprint --stdin <<< '{"name":"Sprint 5","originBoardId":42}'
keen agile move-issues-to-sprint-and-rank SPRINT_ID \
  --stdin <<< '{"issues": ["PROJ-42", "PROJ-43"]}'
keen agile partially-update-sprint SPRINT_ID --stdin <<< '{"state": "active"}'
リリースの追跡

Git のリリースタグを Jira のバージョンとして記録し、リリースに含まれる課題にタグを付けます。

# every release tag so far, plus an unreleased "next" for work merged since
keen release sync --repo-path . --project PROJ --backfill --head origin/main --dry-run
# after publishing a release: "next" becomes the tag, a fresh "next" is created
keen release sync --repo-path . --project PROJ --tag v1.4.0 --head origin/main

バージョン名にはタグ名が使われ、タグのコミット日をリリース日とし、GitHub リリースにリンクされます。課題には、その課題キーをコミットに含む最初のリリースが Fix Version として設定されます。既存の Fix Version は置き換えずに追加されます。

課題に関する GitHub の作業

Atlassian がリンクする方法にならい、課題キーをブランチ名、コミットメッセージ、PR タイトルに含めてください(fix/PROJ-42-retry-uploads、fix: PROJ-42 retry failed uploads)。そのうえで、次を実行します。

keen github links PROJ-42 --org my-org     # or --repo my-org/api, or run it inside a checkout

課題に関連するすべてのプルリクエストとコミットを、見つかった場所とともに一度ずつ一覧表示します。検索対象は Jira の開発パネル(GitHub for Jira アプリが接続されている場合)、課題キーによる GitHub 検索、PR を指す課題上のウェブリンクです。GitHub 検索では KEEN_GITHUB_TOKEN、GH_TOKEN、GITHUB_TOKEN、または gh のログイン情報を使用します。設定されていないデータソースはエラーではなく、警告として扱われます。

課題のライフサイクル
keen jira-cloud-platform-search and-reconsile-issues-using-jql-post \
  --jql "project = PROJ AND status != Done" --agent
keen issue transitions get PROJ-42 --agent
keen issue transitions do PROJ-42 --transition-id 41 --agent
keen issue comment add PROJ-42 --body "Done."    # plain text is wrapped into ADF
Confluence
keen wiki search-content-by-cql --cql "type=page AND space=DOCS" --agent
keen wiki create-page --space DOCS --title "Release notes" --stdin < notes.xhtml
keen wiki update-page PAGE_ID --stdin < notes.xhtml   # version bumped for you
keen wiki get-page PAGE_ID --agent
keen wiki get-content-descendants PAGE_ID --agent
keen wiki add-labels-to-content PAGE_ID --stdin <<< '[{"prefix":"global","name":"adr"}]'

ページ本文は Confluence のストレージ形式(XHTML)であり、Markdown への変換は行われません。

Marketplace
keen addons get io.example.my-addon --agent
keen addons list-search --q "story points" --agent
keen addons versions get io.example.my-addon --agent

比較

機能Keenmcp-atlassianAtlassian Rovo MCPjira-cliACLI (Appfire)
エンドポイント1,84398 個のツール46 以上Jira のみ多数
ローカルキャッシュSQLite + FTS5なしなしなしなし
MCP サーバーありありあり(公式)なしなし
製品9(Jira、Confluence、Agile、Marketplace、Service Desk、Admin、Assets、Compass、Bitbucket)2(Jira、Confluence)514
Server / Data Centerなしありなしありあり
価格無料(Apache-2.0)無料(オープンソース)Cloud では無料無料(MIT)年額 $360~$6,195
バイナリ単一の Go バイナリPython(uvx、pip、Docker)リモートサーバー単一の Go バイナリJVM が必要
オフライン検索ありなしなしなしなし

詳しい比較と、別の選択肢を選ぶ場合については、比較をご覧ください。

アーキテクチャ

keen CLI と keen-mcp サーバーは、1,843 個の REST エンドポイントと 18 個の GraphQL クエリに対する一連のコマンドを共有しています。呼び出しは Atlassian に送信され、5 分以内に繰り返される読み取りには短時間のレスポンスキャッシュから応答します。このキャッシュは、書き込みのたびにクリアされます。keen sync はデータをローカルの SQLite + FTS5 ストアにコピーします。このストアは keen search とオフライン読み取り(--data-source local、または Atlassian に接続できない場合の自動使用)で利用されます。

Keen のアーキテクチャ:keen CLI と keen-mcp サーバーは、一連のコマンドを共有し、短時間のレスポンスキャッシュを備えた HTTP クライアント(REST および GraphQL)を介して Atlassian を呼び出します。同期によってデータが格納されるローカルの SQLite + FTS5 ストアは、検索とオフライン読み取りに使用されます。Atlassian Cloud API:Jira Platform、Jira Agile、Confluence v1 および v2、Marketplace、Service Desk、Admin、Assets、Compass、Bitbucket、Teamwork Graph。

ソース:docs/diagrams/architecture.drawio(draw.io で編集できます)。

再生成

keen は、CLI Printing Press によって15個の公式 Atlassian OpenAPI 仕様から(specs/ 内で)生成され、その上に独自の変更が加えられています。仕様の一覧は、scripts/regen/config.sh の SPECS にまとめられています。次のスクリプトを使うと、これらの変更を失わずに、Atlassian の最新の仕様から keen を更新できます。

git switch -c build/refresh-specs
scripts/regen/regen.sh        # download current specs, generate, merge onto keen
scripts/regen/check.sh        # build, tests, lint, vulnerabilities, old-name and help checks

仕組み:ジェネレーターの前回の出力(keen に名前を変更したもの)は、非表示の GitHub ref refs/regen/base(ブランチではありません。regen.sh がこれをフェッチします)として保存されています。regen.sh は今日の仕様から再生成し、同じように出力の名前を変更して、keen に対して3方向の git マージを行います。仕様の変更は反映され、keen 独自の編集はそのまま残ります。keen が手動で作成したファイル(README、ドキュメント、変更履歴、パッチ一覧)には、常に keen のバージョンが保持されます。scripts/regen/postfix.py は、ジェネレーターが初めて追加するコードに keen の恒常的なルールを適用します。scripts/regen/placeholders.py は、各引数に適したプレースホルダーをヘルプの例に設定します(ジェネレーターはすべての *Key 引数に your-token-here を設定します)。check.sh は、これが元に戻ると失敗します。

マージが競合で停止すると、スクリプトがファイルの一覧を表示します。表示された作業フォルダー内で競合を解決し(scripts/regen/resolve.py ours|theirs <file> を使うと、ファイル全体について片方を選択できます)、その後 scripts/regen/finish.sh を実行してください。どちらのスクリプトも、マージがチェックアウトに反映されると、作成した作業フォルダーを削除します(REGEN_WORK で指定したフォルダーは保持されます)。また、check.sh は終了方法にかかわらずビルドフォルダーを削除します。ブランチを main にマージしたら、regen.sh の指示に従ってベースを進めてください。

前回の更新以降に Atlassian が変更した内容を、何も変更せずに確認するには、scripts/regen/specdiff.py を実行してください。各仕様で追加、削除、変更された操作が一覧表示されます。週次の GitHub ワークフロー(.github/workflows/spec-check.yml)でも同じチェックを実行し、差異がある場合はイシューを1つ作成し、keen が再び最新になるとそれをクローズします。そのため、変更を見逃すことはありません。

scripts/mcp-check.py <dir with keen and keen-mcp> は、AI アプリでの使われ方に沿って、稼働中のサイトに対する MCP サーバーのテストを行います。日常的な10個のタスクを平易な言葉で keen_search に問い合わせ、keen_run 経由でツールを実行し、回答を CLI の回答と比較します。正しいツールが上位3件にない場合、またはそれより上位にランクされたツールが Atlassian によって無効化されている場合、失敗します。--claude を指定すると、Claude Code に唯一のツールとして keen-mcp を渡し、呼び出しに失敗することなく実際の質問に回答できるかも確認します。テストデータはサイトから選ばれ、check.sh は稼働中のスモークテストと合わせてこのテストを実行します。

Atlassian API を追加するには、SPECS の末尾に name=URL の行を1つ追加し、上記の2つのコマンドを実行します。それ以外の編集は不要です。

組織図と Teamwork Graph のコマンドは、OpenAPI 仕様ではなく、Atlassian の GraphQL スキーマから生成されます。scripts/regen/graphql.py はこのスキーマを読み込み(ログインは不要です)、specs/graphql.json にスナップショットを保存し、コマンドテーブルを書き出します。更新時にはこれが実行され、週次チェックではライブスキーマとスナップショットを比較します。

Atlassian が API を廃止すると、ジェネレーターはそのコマンドを生成しなくなります。internal/compat/compat.go に追加すると、旧コマンドと MCP ツールの名前が維持され、代替となるものが利用者に伝えられます。ローカルでの変更はすべて .printing-press-patches.json に記載されています。

Atlassian は非推奨 API も仕様に残しており、無効化後も残っていることがあります。scripts/regen/deprecated.py は、仕様で非推奨とマークされたすべての操作を一覧表示します(更新時にこれが実行され、一覧が最新でない場合は check.sh が失敗します)。keen は該当するコマンドとツールにラベルを付け、keen_search はそれらを代替手段より下位にランク付けします。ある API が 410 Gone を返すようになったら、代わりに使うものを添えて internal/compat/deprecated.go の RemovedEndpoints に追加してください。すると keen はその API を非表示にし、そのコマンド名とツール名には代替手段が示され、keen sync はそれをスキップします。

セキュリティ

脆弱性の報告については、SECURITY.md をご覧ください。Keen は API 認証情報を環境変数、または ~/.config/keen/auth.json から読み込みます。ファイルを使用する場合は、自分だけが読み取れるようにしてください(chmod 600)。ローカルの SQLite データベースには API レスポンスのキャッシュが含まれているため、機密情報として扱ってください。

コントリビューション

CONTRIBUTING.md をご覧ください。バグ修正を歓迎します。新機能の PR を提出する前に、イシューを作成してください。

ライセンス

Apache-2.0


Imogen Labs によって開発されました

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。