honeycomb-mcp-server

by kajirita2002
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides tools for interacting with the Honeycomb API, enabling operations such as retrieving, creating, and updating Honeycomb datasets, queries, events, boards, markers, SLOs, and triggers to streamline observability and monitoring workflows.

ハニカムMCPサーバー

日本語で読む

概要

このサーバーは、モデル コンテキスト プロトコル (MCP)を使用して、Claude AI がHoneycomb APIと対話できるようにするインターフェイスです。

この MCP サーバーを使用すると、Claude AI は Honeycomb データセット、クエリ、イベント、ボード、マーカー、SLO、トリガーの取得、作成、更新などの操作を実行できます。

リポジトリについて

このリポジトリは、Honeycomb MCPサーバーのスタンドアロン実装を提供します。Claude AIとHoneycombを統合することで、可観測性と監視ワークフローを効率化します。

設定

前提条件

  • Node.js 18以上
  • ハニカムAPIキー

インストール

# Install globally npm install -g @kajirita2002/honeycomb-mcp-server # Or use directly with npx npx @kajirita2002/honeycomb-mcp-server

環境変数の設定

# Set environment variables export HONEYCOMB_API_KEY="your_honeycomb_api_key"

MCP構成例

この MCP サーバーを使用している場合は、 mcp_config.jsonファイルに次の構成を追加します。

"honeycomb": { "command": "npx", "args": ["-y", "@kajirita2002/honeycomb-mcp-server"], "env": { "HONEYCOMB_API_KEY": "your_honeycomb_api_key" } }

サーバーの起動

# Start the server npm start

利用可能なツール

この MCP サーバーは次のツールを提供します。

認証

  1. honeycomb_auth
    • Honeycomb APIで認証する
    • 入力:
      • apiKey (文字列、オプション): Honeycomb API キー (指定されていない場合は環境変数を使用)

データセット管理

  1. honeycomb_datasets_list
    • 利用可能なすべてのデータセットを一覧表示します
    • 入力パラメータは不要
  2. honeycomb_dataset_get
    • 特定のデータセットに関する情報を取得します
    • 入力:
      • datasetSlug (文字列、必須): データセットのスラッグ
  3. honeycomb_datasets_create
    • 新しいデータセットを作成する
    • 入力:
      • name (文字列、必須): データセットの名前
      • description (文字列、オプション): データセットの説明

列管理

  1. honeycomb_columns_list
    • データセット内のすべての列を一覧表示します
    • 入力:
      • datasetSlug (文字列、必須): データセットのスラッグ

クエリ管理

  1. honeycomb_query_create
    • データセットの新しいクエリを作成する
    • 入力:
      • datasetSlug (文字列、必須): データセットのスラッグ
      • query (オブジェクト、必須): クエリ構成
  2. honeycomb_query_result_create
    • クエリを実行し、結果を返します
    • 入力:
      • datasetSlug (文字列、必須): データセットのスラッグ
      • query (オブジェクト、必須): クエリ構成

イベント管理

  1. honeycomb_event_create
    • データセットに新しいイベントを作成します
    • 入力:
      • datasetSlug (文字列、必須): データセットのスラッグ
      • data (オブジェクト、必須): イベントデータ

取締役会運営

  1. honeycomb_boards_list
    • すべてのボードを一覧表示します
    • 入力パラメータは不要
  2. honeycomb_board_get
    • 特定のボードに関する情報を取得します
    • 入力:
      • boardId (文字列、必須): ボードのID
  3. honeycomb_board_create
    • 新しいボードを作成します
    • 入力:
      • name (文字列、必須): ボードの名前
      • description (文字列、オプション): ボードの説明
      • query_ids (文字列の配列、オプション): ボードに含めるクエリID
  4. honeycomb_board_update
    • 既存のボードを更新する
    • 入力:
      • boardId (文字列、必須): 更新するボードのID
      • name (文字列、オプション): ボードの新しい名前
      • description (文字列、オプション):ボードの新しい説明
      • query_ids (文字列の配列、オプション): ボードに含める新しいクエリID

マーカー管理

  1. honeycomb_markers_list
    • データセットのすべてのマーカーを一覧表示します
    • 入力:
      • datasetSlug (文字列、必須): データセットのスラッグ
  2. honeycomb_marker_create
    • 新しいマーカーを作成します
    • 入力:
      • datasetSlug (文字列、必須): データセットのスラッグ
      • message (文字列、必須): マーカーのメッセージ
      • type (文字列、必須): マーカーの種類
      • start_time (文字列、必須): マーカーの開始時刻
      • end_time (文字列、オプション): マーカーの終了時刻
      • url (文字列、オプション): マーカーに関連付けられたURL
    • 入力:
      • datasetSlug (文字列、必須): データセットのスラッグ
      • markerId (文字列、必須): 削除するマーカーのID

使用例

以下は、Claude がこの MCP サーバーを使用して新しい Honeycomb データセットを作成し、イベントを追加する例です。

[Claude] Please create a new dataset in Honeycomb called "Application Monitoring" with a description "Monitoring for our production application". [User] I'll help you create a new dataset in Honeycomb. [Claude] I'll create a new dataset for you in Honeycomb. I'll use the honeycomb_datasets_create tool: Input: { "name": "Application Monitoring", "description": "Monitoring for our production application" } The dataset has been created successfully! [Claude] Now, let me add an event to this dataset. I'll create an event with some sample metrics. I'll use the honeycomb_event_create tool: Input: { "datasetSlug": "application-monitoring", "data": { "service": "api-gateway", "duration_ms": 45.2, "status_code": 200, "endpoint": "/users", "method": "GET" } } Event created successfully! You can now see this event in the Honeycomb UI under the Application Monitoring dataset. [Claude] I can also create a query to analyze this data. Let me create a query that shows the average duration by endpoint. I'll use the honeycomb_query_create tool: Input: { "datasetSlug": "application-monitoring", "query": { "calculations": [ { "op": "AVG", "column": "duration_ms" } ], "breakdowns": ["endpoint"], "time_range": 3600 } }

一般的な統合パターン

  1. 可観測性自動化
    [User] Claude, please help me set up a new SLO for API response times. [Claude] I can help with that. Let me create an SLO to track API response times. I'll use honeycomb_slo_create with these parameters: { "datasetSlug": "production-api", "name": "API Response Time SLO", "description": "Tracks response time for critical API endpoints", "sli": { "alias": "Response Time < 300ms", "conditions": { "column": "duration_ms", "operator": "<", "value": 300 } }, "time_period_days": 30, "target_per_million": 995000 }
  2. 事件調査
    [User] We're seeing elevated error rates in production. Can you help investigate? [Claude] I'll help investigate the elevated error rates. Let me query the recent error data. First, I'll use honeycomb_query_result_create: { "datasetSlug": "production", "query": { "calculations": [ { "op": "COUNT" } ], "filters": [ { "column": "status_code", "operator": ">=", "value": 500 } ], "breakdowns": ["service", "endpoint"], "time_range": 3600, "granularity": 60 } }

「本番アプリケーションの監視」という説明でデータセット「アプリケーション監視」を作成しています...

[Claudeはhoneycomb_datasets_createを使用しています]

データセットが正常に作成されました。これでイベントを追加できます。

テストのためにデータセットにサンプル イベントを作成しますか?

[ユーザー] はい、サンプルイベントを追加してください。

[クロード] 「アプリケーション監視」データセットにサンプル イベントを追加します。

[Claudeはhoneycomb_event_createを使用しています]

成功しました!以下のデータを含むサンプルイベントを「アプリケーション監視」データセットに追加しました: { "service": "api-server", "message": "User login successful", "duration_ms": 45, "status_code": 200, "endpoint": "/api/login", "timestamp": "2025-03-25T14:30:00Z" }

このイベントは、完了までに 45 ミリ秒かかった成功したユーザー ログイン操作を表します。

これで、Honeycomb ダッシュボードでこのイベントを表示し、データを分析するためのクエリの構築を開始できます。

## Error Handling This MCP server returns error information in a consistent format. When an error occurs, the following structure is returned: ```json { "error": { "message": "Detailed error description", "code": "ERROR_CODE" } }

一般的なエラーコード

  • AUTH_ERROR : 認証に失敗しました。APIキーを確認してください。
  • NOT_FOUND : 要求されたリソースが見つかりません。
  • INVALID_PARAMETER : 1 つ以上のパラメータが無効です。
  • RATE_LIMIT : Honeycomb API のレート制限に達しました。
  • SERVER_ERROR : 内部サーバーエラーが発生しました。

トラブルシューティングのヒント

  1. 認証の問題
    • HONEYCOMB_API_KEYが正しく設定されていることを確認してください
    • APIキーに適切な権限があることを確認する
  2. データセットが見つかりません
    • データセットのスラッグが正しいことを確認します(タイプミスがないか確認します)
    • Honeycombアカウントにデータセットが存在することを確認してください
  3. クエリ実行の問題
    • クエリパラメータが正しくフォーマットされていることを検証する
    • クエリ内の列名がデータセット内の列名と一致していることを確認します

貢献

Honeycomb MCPサーバーへの貢献を歓迎します!貢献方法は以下の通りです。

開発セットアップ

  1. リポジトリをフォークする
  2. フォークをクローンする
    git clone https://github.com/your-username/honeycomb-mcp-server.git
  3. 依存関係をインストールする
    npm install
  4. 変更を加える
  5. ビルドを実行する
    npm run build
  6. 変更をローカルでテストする

プルリクエストプロセス

  1. 機能ブランチを作成する
    git checkout -b feat-your-feature-name
  2. Conventional Commits形式に従って変更をコミットします。
    git commit -m "feat: add new feature"
  3. フォークにプッシュする
    git push origin feat-your-feature-name
  4. プルリクエストを開く

コーディング標準

  • すべての新しいコードにTypeScriptを使用する
  • 既存のコードスタイルに従う
  • 公開APIにコメントを追加する
  • 新しい機能のテストを書く

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

ID: 29kwahuexd