mcpField
B
Blacksmith

Blacksmith

ローカル
github.com/grahamnotgrant開発ツール626 週間前に更新

Blacksmith について

Blacksmith は Blacksmith CI を利用するチーム向けの MCP サーバーです。Claude からワークフローの実行状況やテスト失敗を調べ、ブランチを比較し、利用状況を確認できます。専用の CI・テスト分析ツールを備え、Chrome の Cookie によるセッション認証にも対応します。

主な機能

  1. 01ワークフロー実行の絞り込みとジョブ確認
  2. 02ジョブログとテスト結果の取得
  3. 03失敗の分類とテスト実行の比較
  4. 04不安定・低速・回帰テストの検出
  5. 05利用状況・請求・キャッシュの確認
  6. 06全ジョブのログ検索

活用シーン

  1. 01ワークフロー失敗の原因調査
  2. 02一定期間の不安定なテストの特定
  3. 03PR によるテスト失敗の確認
  4. 04キャッシュ利用量と CI 請求の確認

MCP 対応

MCP クライアントに Blacksmith のワークフロー、テスト分析、利用状況、組織、ログ検索のツールを公開します。Blacksmith のセッション Cookie で認証し、組織の設定が必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"grahamnotgrant-blacksmith": {
"command": "npx",
"args": [
"-y",
"blacksmith-mcp"
],
"env": {
"BLACKSMITH_ORG": "<BLACKSMITH_ORG>",
"BLACKSMITH_SESSION_COOKIE": "<BLACKSMITH_SESSION_COOKIE>"
}
}
}
}
起動コマンドnpx -y blacksmith-mcp
設定が必要な環境変数
BLACKSMITH_ORGYour Blacksmith organization name
BLACKSMITH_SESSION_COOKIEシークレットSession cookie (auto-extracted from Chrome if not set)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmblacksmith-mcp0.1.1

ツール

21

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

Blacksmith MCP

npm version License: MIT MCP

Claude を Blacksmith CI のデータに接続する MCP サーバーです。ワークフローの実行を照会し、テスト失敗を分析し、不安定なテストを検出し、使用状況を監視できます。すべて自然な会話を通じて行えます。

なぜ使うのか?

CI の失敗をデバッグするには、通常、ダッシュボードをクリックし、実行 ID をコピーして、複数のページにまたがる情報をつなぎ合わせる必要があります。この MCP を使えば、次のように尋ねるだけです。

  • 「直近の CI 実行が失敗した原因は何ですか?」
  • 「今週、不安定なテストはどれですか?」
  • 「main と自分の PR のテスト失敗を比較してください」
  • 「キャッシュストレージを最も多く使っているのは何ですか?」

Claude が API 呼び出しを処理し、実行可能な分析結果を提示します。

クイックスタート

Chrome で Blacksmith にログインしていれば、設定は不要です。

# Add to Claude Code
claude mcp add blacksmith -- npx blacksmith-mcp

# Set your org (run once)
export BLACKSMITH_ORG="your-org-name"

MCP は Chrome の Cookie からセッションを自動的に取得します。トークンを手動でコピーする必要はありません。

インストール

オプション 1:Claude Code CLI
claude mcp add blacksmith -- npx blacksmith-mcp
オプション 2:プロジェクト設定

.mcp.json に追加します。

{
  "mcpServers": {
    "blacksmith": {
      "type": "stdio",
      "command": "npx",
      "args": ["blacksmith-mcp"],
      "env": {
        "BLACKSMITH_ORG": "your-org-name"
      }
    }
  }
}
オプション 3:グローバルインストール
npm install -g blacksmith-mcp

設定

認証

自動(推奨): Chrome で app.blacksmith.sh にログインします。MCP がセッション Cookie を自動的に取得します。

手動: BLACKSMITH_SESSION_COOKIE 環境変数にセッション Cookie の値を設定します。

環境変数
変数必須説明
BLACKSMITH_ORGはいBlacksmith の組織名
BLACKSMITH_SESSION_COOKIEいいえセッション Cookie(設定されていない場合は Chrome から自動取得)

利用可能なツール

ワークフローの実行
ツール説明
list_runsフィルター(ステータス、ブランチ、ワークフロー、実行者、PR)を指定してワークフローの実行を一覧表示します
get_runすべてのジョブを含む実行の詳細を取得します
list_jobsワークフロー実行のジョブを一覧表示します
get_jobジョブの詳細(ステップ、所要時間、ランナー情報)を取得します
get_job_logsジョブの生ログ出力を取得します
テスト分析
ツール説明
get_job_testsジョブのすべてのテスト結果を取得します
get_failed_testsエラーメッセージ全文とともに失敗したテストを取得します
get_failures_by_patternエラーパターン(例:「Cannot read properties」)ごとに失敗をグループ化します
compare_test_runs2 つの実行間の失敗を比較します(リグレッションを検出)
get_flaky_tests間欠的に失敗するテストを検出します
get_slow_tests所要時間のしきい値を超えるテストを見つけます
get_test_history特定のテストの成功/失敗履歴を追跡します
get_trends所要時間、失敗率、テスト数の傾向を分析します
使用状況と請求
ツール説明
get_current_usage現在のコア使用状況(稼働中と最大)
get_invoice_amount現在の請求期間の金額
get_usage_summary課金対象の分数と無料枠
get_cache_statsリポジトリごとのキャッシュサイズとエントリー数
get_cache_entriesリポジトリのキャッシュエントリーの詳細
組織
ツール説明
list_orgsアクセス可能な組織を一覧表示します
get_org_status組織のステータス(個人、オンボーディング済み、リージョン)
search_logsすべてのジョブのログを検索します

会話の例

失敗した実行をデバッグする

あなた: 直近の CI 実行が失敗した原因は何ですか?

Claude: list_runs(status="failure", limit=1) を使用し、次に get_failed_tests を使用します

直近の実行では、34 件のテストが失敗しました。主な問題は次のとおりです。

  • 接続タイムアウト(12 件のテスト) - api/ のテストで、テストデータベースへの接続がタイムアウトしています
  • 未定義のプロパティ(8 件のテスト) - 新しいダークモードのコードで user.settings.theme が未定義です
  • アサーションの失敗(14 件のテスト) - UI コンポーネントのスナップショットが一致しません
不安定なテストを検索する

あなた: 不安定なテストはどれですか?

Claude: get_flaky_tests(days=7, min_runs=5)を使用します

不安定なテストが3件見つかりました:

テスト不安定率パターン
should handle concurrent requests40%(10回中4回)CIでは失敗し、ローカルでは成功
renders loading state20%(10回中2回)setTimeoutとの競合状態
validates auth token30%(10回中3回)ネットワークタイムアウトが断続的に発生
ブランチを比較する

あなた: 私のPRで新しいテスト失敗が発生しましたか?

Claude: PRの実行結果とベースブランチをcompare_test_runsで比較します

PRによって新たに2件の失敗が発生しました:

  • UserProfile.test.tsx:「Cannot read property 'avatar' of undefined」
  • api/users.test.ts:200を期待していましたが、404が返されました

以前失敗していたテストが5件成功するようになりました(いいですね!)。

開発

# Install dependencies
pnpm install

# Build
pnpm build

# Development mode (watch)
pnpm dev

# Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js

トラブルシューティング

セッションの有効期限切れ

SESSION_EXPIREDと表示された場合、Blacksmithのセッションの有効期限が切れています。Chromeでapp.blacksmith.shに再度ログインして、もう一度お試しください。

Cookieの抽出に失敗した

Cookieの自動抽出には、以下が必要です:

  • ChromeがインストールされたmacOS
  • ChromeでBlacksmithにログインしていること
  • ロックされたプロファイルでChromeを実行していないこと

抽出に失敗する場合は、BLACKSMITH_SESSION_COOKIEを手動で設定してください。

組織が設定されていない

list_orgsを実行して利用可能な組織を確認し、BLACKSMITH_ORGに組織名を設定してください。

APIに関する注意事項

このMCPは、ドキュメント化されていないBlacksmithの内部Web APIを使用します。このAPIはBlacksmithのWebアプリからリバースエンジニアリングされたものであり、予告なく変更される場合があります。

ライセンス

MIT

コントリビューション

コントリビューションを歓迎します!変更案について話し合うため、まずissueを作成してください。

コメント

MCP は初めてですか?

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

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