Skip to main content
Glama
Dizko-Labs

Dizko Events MCP

Official
by Dizko-Labs

Dizko Events CLI and MCP

Quick Start

推奨:ホステッドコネクタを追加してください。これは当社のサーバー上で動作するため、あなたのコンピュータにアクセスすることはありません(ローカルインストールの警告は出ません)。インストールも認証も不要です:

https://mcp.dizko.app/mcp

そのURLをクライアントの設定 → コネクタ → カスタムコネクタを追加に貼り付けてください(claude.ai、Claude Desktop、ChatGPT 開発者モード、Cursor)。クライアントごとの手順:https://mcp.dizko.app/install

Claude Code の場合:

claude mcp add --transport http dizko-events https://mcp.dizko.app/mcp

上級者向け:サーバーをローカルで実行する(ホステッドコネクタを使用できない場合のみ。例:無料の Claude プラン、またはローカルサーバーのみをサポートするクライアント)。ローカルサーバーはあなたとして実行されるため、Claude Desktop は「コンピュータ上のすべてにアクセスできる」と警告します。これはあらゆるローカル MCP 拡張に固有のことであり、このパッケージが過剰に要求するものではありません。上記のホステッドコネクタはこれを回避します。

npx -y dizko-events install claude-desktop   # writes the local config
# or the raw stdio snippet for any client:
{ "command": "npx", "args": ["-y", "dizko-events", "mcp"] }

Claude Desktop ワンクリックバンドル:npm run build:mcpb は dist/dizko-events-<version>.mcpb を生成します。

Related MCP server: touch-grass-mcp

エージェントフレームワーク(Hermes、OpenClaw、LangGraph、OpenAI Agents SDK、カスタムループ)

フレームワークのエージェントには「コネクタ」UI がないため、プログラムで統合します。最も簡単な順に4つの方法があります:

  1. HTTP 経由のリモート MCP:フレームワークの MCP クライアントをホステッドエンドポイント https://mcp.dizko.app/mcp に向けます(streamable-http、認証なし)。公式 MCP SDK、OpenAI Agents SDK、LangGraph/LangChain MCP アダプター、Pydantic AI などで動作します。

  2. stdio MCP:npx -y dizko-events mcp をサブプロセスとして起動し、stdio 経由で MCP 通信を行います。

  3. 生の HTTP JSON-RPC:MCP ライブラリは不要です。/mcp に POST します:

    curl -s https://mcp.dizko.app/mcp \
      -H 'content-type: application/json' \
      -H 'accept: application/json, text/event-stream' \
      -H 'mcp-method: tools/call' \
      -H 'mcp-name: search_events' \
      -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_events","arguments":{"city":"los angeles","when":"this week"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}'

    _meta ブロックは、これを 2026-07-28 リクエストにするものです。このリビジョンはステートレスなので、initialize ハンドシェイクもセッションもありません。すべてのリクエストが独自のプロトコルバージョンとクライアント機能を運びます。server/discover を呼び出すと、エンドポイントが対応しているリビジョンがわかります。2025-11-25 以前のクライアントは変更なしで動作し続けます。_meta を省略すると、サーバーは代わりに 2025 系のパスで応答します。

  4. インプロセスライブラリ:ツールを直接埋め込みます(MCP 層なし)。このパッケージは安定した API を公開しています:

    import { tools, callTool, searchEvents } from "dizko-events";
    // Hand `tools` (JSON Schemas) to your model as function definitions, then:
    const result = await callTool("search_events", { city: "berlin", when: "weekend" });

自律的なチケット購入(Hermes / OpenClaw 統合ポイント)

デフォルトでは、チケットツールはチェックアウトハンドオフ(リンク)を返します。範囲を限定した自律購入を有効にするには、ticketPurchaseProvider アダプターを指定します。これはパッケージを埋め込むかサーバーをセルフホストする場合にのみ注入できます。ホステッドエンドポイントは当社のプロセスで実行されるため、あなたの支払いアダプターを受け入れることはできません。

import { createHttpMcpServer, callTool } from "dizko-events";

const hermesAdapter = {
  canPurchase: (event, summary) => true,
  purchase: async ({ quote, confirmation_text, delivery_email, add_to_calendar }) => {
    // ... perform the bounded purchase, return { status, order_id, receipt_url }
  }
};

// Self-host with the adapter wired in:
createHttpMcpServer({ ticketPurchaseProvider: hermesAdapter }).listen(8787);

// ...or call tools in-process with it:
await callTool("purchase_ticket_order", input, { ticketPurchaseProvider: hermesAdapter });

purchase_ticket_order は、アダプターが呼び出される前に、quote_ticket_order によるロック済み見積もりと明示的な書面による確認を引き続き必要とします。get_ticket_purchase_policy を参照してください。


このパッケージは、Dizko のライブイベント在庫をエージェントと人間に公開します:

  • dizko-events:クイック検索、ランキング付きレコメンデーション、夜のプラン、クライアントインストール、診断のための CLI。

  • dizko-events mcp(エイリアス:eventchat-events-mcp):ローカル開発者クライアント向けの stdio MCP サーバー。

  • dizko-events serve(エイリアス:eventchat-events-http):ホステッドコネクタ/アプリ向けの HTTP MCP サーバー。

  • チケットオファー、ロック済み見積もり、書面による確認、チェックアウトハンドオフ、および将来の Hermes/OpenClaw/Dizko 購入アダプターのためのエージェンティックチケットツール。

通常のチャットより優れている理由

一般的なチャットは起こりそうなイベントを説明できますが、現在の在庫を確実に把握しているわけではありません。このツールはエージェントに以下を提供します:

  • Dizko の /events API からのライブ構造化結果。

  • 都市、日付、ジャンル、雰囲気、会場、価格、参加者数、エリア、アーティストの決定的フィルター。

  • 説明可能なランキングにより、レコメンデーションには不透明な嗜好の推測ではなく理由が含まれます。

  • 検証用のチケットリンクと Dizko イベントリンク。

  • 主要なオプションとフォールバックをコンパクトな機械可読形式で返すプランニングツール。

  • 同意に基づく嗜好学習:オンボーディング質問、保存された嗜好プロファイル、イベント後のフィードバック、メモ由来のシグナル、学習されたランキングシグナル。

  • 否定的なフィードバックは学習された回避シグナルとなり、将来のレコメンデーションは好まれないジャンル、雰囲気、イベントタイプ、会場から遠ざかることができます。

  • チケット購入の安全レール:エージェントは見積もりとチケット注文の準備ができますが、自律購入にはロック済み見積もり、明示的な書面による確認、および統合された購入プロバイダーが必要です。

エージェントは引き続き会話形式の文章を書くことができますが、イベントの事実はツールから得られます。

CLI

インストールせずに実行:

npm exec --yes --package dizko-events -- dizko-events search --city "Los Angeles" --when week --limit 5
npm exec --yes --package dizko-events -- dizko-events recommend --city "New York" --when tonight --vibe underground,intimate --max-price 30

または、早期アクセス開発者パッケージをインストール:

npm install -g dizko-events
eventchat-events search --city berlin --when weekend --genres techno --limit 5

このリポジトリから:

node ./bin/eventchat-events.js search --city berlin --when weekend --genres techno --limit 5
node ./bin/eventchat-events.js recommend --city new-york --when tonight --vibe underground,intimate --max-price 30
node ./bin/eventchat-events.js plan --city london --when weekend --event-types party --avoid mainstream
node ./bin/eventchat-events.js cities
node ./bin/eventchat-events.js doctor

doctor は、DNS 解決、API ヘルスエンドポイント、ホステッド MCP エンドポイント(health、metadata、tools/list)、および1つの小さなライブ検索をチェックし、失敗の根本原因を報告します。検索が失敗したときは、まずこれを実行してください。

環境(CLI、stdio MCP、ホステッド MCP、スモークテスト、モニターのすべての面が、同じ src/config.js を通じてエンドポイントを解決します):

DIZKO_API_BASE_URL=https://api.dizko.app
DIZKO_WEB_BASE_URL=https://www.dizko.app
DIZKO_MCP_URL=https://mcp.dizko.app/mcp
DIZKO_API_TIMEOUT_MS=8000
DIZKO_API_RETRIES=2                  # transient network/5xx failures retry with backoff + jitter
DIZKO_API_RETRY_BASE_DELAY_MS=250
EVENTCHAT_MCP_ALLOWED_ORIGINS=https://chatgpt.com,https://chat.openai.com,https://claude.ai

一時的なネットワーク障害(EAI_AGAIN、ETIMEDOUT、ECONNRESET、ENOTFOUND、一時的な5xx)は自動的に再試行され、永続する場合は根本原因、コード、ホスト名、ターゲット URL とともに retryable: true として報告されます。

ローカル開発者クライアント向け MCP

npm から stdio MCP サーバーを実行:

npm exec --yes --package dizko-events -- eventchat-events-mcp

または、このリポジトリから:

node ./bin/eventchat-events-mcp.js

MCP クライアント設定の例:

{
  "mcpServers": {
    "eventchat-events": {
      "command": "node",
      "args": ["/absolute/path/to/dizko-mcp/bin/eventchat-events-mcp.js"],
      "env": {
        "DIZKO_API_BASE_URL": "https://api.dizko.app"
      }
    }
  }
}

npm を使用した MCP クライアント設定の例:

{
  "mcpServers": {
    "dizko-events": {
      "command": "npm",
      "args": ["exec", "--yes", "--package", "dizko-events", "--", "eventchat-events-mcp"],
      "env": {
        "DIZKO_API_BASE_URL": "https://api.dizko.app"
      }
    }
  }
}

ツール:

  • get_preference_onboarding:設定を保存する前にアシスタントが質問すべき質問を返します。

  • create_event_preference_profile:同意の後に不透明な保存済み設定プロファイルを作成し、アシスタントが記憶できるプロファイル ID と非公開のプロファイルシークレットを返します。

  • save_event_preferences:明示的な同意とプロファイルシークレットアクセスの後でのみユーザー設定を保存します。

  • get_event_preferences:プロファイルシークレットアクセスを使用して、保存済みおよび学習された設定を読み取ります。

  • delete_event_preferences:プロファイルシークレットアクセスと明示的なユーザー確認を使用して、プロファイルの保存済み設定とフィードバックを削除します。

  • record_event_feedback:イベント後の高評価/低評価シグナル、評価、またはメモを保存し、プロファイルシークレットアクセスで学習されたシグナルを更新します。音楽、人混み、価格、タイミング、会場に関するメモは、学習された嗜好または回避シグナルになる可能性があります。空のフィードバックは拒否されます。

  • get_event_feedback_prompt:フィードバックが保存される前に、特定のイベントに関する短いイベント後フォローアップ質問を返します。

  • get_event_search_followups:今夜/今週/週末の検索の前に、欠落している現在のコンテキスト質問のみを返します。

  • search_events:ライブ構造化イベント検索。

  • recommend_events:ライブ検索と説明可能な嗜好ランキング。

  • recommend_events_for_user:プロファイルシークレットアクセスを使用して、保存済み設定と学習されたフィードバックを使用したライブレコメンデーション。

  • plan_night:フォールバック付きのコンパクトなプラン。

  • get_daily_roundup:都市の1日分のダイジェスト:ランキングされたトップピックに加えて、パーティー、ライブ音楽、アート、コメディ、トーク、フードのセクション。毎朝のブリーフィング用に作られています。オプションのプロファイルシークレットアクセスにより、保存済み、学習済み、日次設定でランキングがパーソナライズされます。

  • get_artist_events:指定された DJ、パフォーマー、コメディアンについて、アーティスト別にグループ化された今後の公演。プロファイルシークレットアクセスがあり、アーティストが指定されていない場合は、プロファイルの保存済み featuring リストを追跡します。

  • get_city_pulse:今後数日間の都市の総合的な勢いの読み取り:最も忙しい夜、トップ会場、ジャンルの構成、ヘッドラインイベント。すべての統計には証拠のカウントが含まれます。公開在庫のみ。

  • get_event:イベント ID による詳細検索。

  • get_ticket_purchase_policy:現在の購入モード、厳格な安全ルール、プロバイダー要件を説明します。

  • get_ticket_offers:イベントのチケットオプションを返します。チェックアウト URL と自律購入がサポートされているかどうかが含まれます。

  • quote_ticket_order:数量、最大合計、チケットタイプ、有効期限、停止条件を含むロック済み見積もりを作成します。

  • purchase_ticket_order:明示的な書面による確認を受け入れ、統合プロバイダーの購入を実行するか、必要な外部チェックアウトハンドオフを返します。

注釈:検索およびレコメンデーションツールはライブイベントデータを読み取り、設定ツールは profile_id と profile_secret によって保護されたプライベートコネクタメモリにのみ書き込みます。purchase_ticket_order だけが破壊的/オープンワールドとしてマークされています。これはチケット購入またはチェックアウトハンドオフの境界のあるアクションポイントであるためです。

チケットに関する注記:purchase_ticket_order は、将来の自律チケット購入のアクション境界であるため、意図的に破壊的かつオープンワールドとしてマークされています。デフォルトの npm/ホステッドビルドでは、サードパーティのチケットリンクは requires_external_checkout を返します。このツールはチェックアウトページをスクレイピングせず、CAPTCHA をバイパスせず、カードに請求しません。真の自律購入には、Hermes、OpenClaw、Dizko Checkout、パートナーチケッティング API、または承認された委任支払いフローなどのプロバイダーアダプターが必要です。

認証に関する注記:公開ホステッドコネクタは、基本的なイベント発見のために noauth として送信します。保存済み設定、フィードバック、パーソナライズされたレコメンデーション、読み取り、更新、削除のツールには、引き続きユーザーの不透明な profile_id と非公開の profile_secret が必要です。ツール記述子には securitySchemes: [{ "type": "noauth" }] が含まれ、ChatGPT 互換性のために _meta.securitySchemes にも反映されます。

削除の安全に関する注記:delete_event_preferences は confirm_delete: true も必要とします。これは、ユーザーが Dizko コネクタの設定とフィードバック履歴の削除を希望することを確認した後にのみ送信する必要があります。

保持に関する注記:保存済み設定プロファイルは、設定された非アクティブ期間後に自動的に削除されます。デフォルトは730日で、公開されている24か月の保持ポリシーと一致します。

ChatGPT および Claude 向けホステッド MCP

通常のユーザーには、ローカルコマンドを実行してもらう代わりに、ホステッド MCP エンドポイントを公開してください。

PORT=8787 node ./bin/eventchat-events-http.js

エンドポイント:

  • POST /mcp:JSON-RPC MCP エンドポイント。

  • GET /health:デプロイメントのヘルスチェック。

  • GET /:基本的なサービスメタデータ。

  • GET /privacy-policy.html:保存済み設定、フィードバック、保持、削除に関する公開プライバシーポリシー。

  • GET /support.html:サポート、削除、セキュリティ連絡先の公開ページ。

  • GET /terms.html:コネクタの利用規約と適正使用に関する公開ページ。

  • GET /user-guide.html:プロンプト、設定メモリ、フィードバック、削除動作を含む一般ユーザー向け公開ガイド。

  • GET /.well-known/security.txt:脆弱性報告の連絡先メタデータ。

  • GET /logo-512.png:提出メタデータ用の512pxコネクタロゴ。

現在デプロイされているエンドポイント:

https://mcp.dizko.app/mcp

ChatGPT アプリ/プラグインになるには:

  1. この HTTP サーバーを公開 HTTPS ドメインにデプロイします。

  2. その URL でコネクタを作成し、ChatGPT 開発者モードでテストします。

  3. ウェブとモバイルでツール呼び出しを検証します。

  4. 公開 MCP URL、プライバシー/サポート URL、ロゴ、スクリーンショット、テストプロンプト、ツールの説明とともに、OpenAI ダッシュボードからアプリを提出します。

Claude ユーザーは、プラン/ワークスペースがリモート MCP をサポートしている場合、同じ公開 MCP URL をカスタムコネクタとして追加できます。

実際の提出文面については、plugin-submission.md と submission-fields.json を参照してください。 最終的なダッシュボード引き継ぎパケットについては、OPENAI_SUBMISSION_PACKET.md を参照してください。 正確な ChatGPT 開発者モードのスクリーンショットプロンプトとファイル名については、SCREENSHOT_CHECKLIST.md を参照してください。 要件から証拠へのマッピングと残りの外部レビューのゲートについては、SUBMISSION_AUDIT.md を参照してください。 一般ユーザーのプロンプト、設定メモリの動作、サポート/プライバシーリンクについては、USER_GUIDE.md を参照してください。 Railway、Docker、カスタムドメイン、レビューの手順については、DEPLOYMENT.md を参照してください。 ヘルスチェック、ログ、ロールバック、設定データの取り扱い、再提出トリガーについては、OPERATIONS.md を参照してください。 コネクタの発見とツールルーティングのための直接的、間接的、否定的プロンプトテストについては、golden-prompts.md を参照してください。 脆弱性の報告と運用上の保護策については、SECURITY.md を参照してください。

ライブスモークテスト:

npm run monitor:live
npm run smoke:live

monitor:live は読み取り専用で、稼働時間チェックに適しています。smoke:live は一時的な設定プロファイルの作成と削除も実行します。

提出エビデンス:

npm run verify:submission
npm run verify:submission:write
npm run verify:submission:bundle
npm run verify:submission:fields
npm run submission:status
npm run review:demo
npm run preflight:submission

bundle コマンドは、submission-evidence/latest.json と submission-evidence/latest-summary.md を保存してダッシュボードのレビュー準備に役立てつつ、生成されたエビデンスを git の管理外に保ちます。エビデンスには、検証済みエンドポイント、現在の Railway デプロイメント ID、イメージダイジェスト、公開ページのチェック、ツールメタデータ、ライブ検索、プリファレンスメモリフローが含まれます。 fields コマンドは、安定したダッシュボードコピー成果物である submission-fields.json を、デプロイメントメタデータを含む最新のライブエビデンスに対して検証します。 preflight コマンドは、ローカルテスト、ライブスモーク、ライブ提出エビデンスの生成、ダッシュボードフィールドの検証を一度に実行します。 status コマンドは、OpenAI ダッシュボード提出の最終的な Go/No-Go 判定を提供し、提出するエンドポイントを指定し、未解決のカスタムドメイン状況をホスト型エンドポイントの準備状況から分離して保持します。 review-demo コマンドは、ダッシュボードのプロンプト/レスポンス準備のために、ライブ MCP 呼び出しからサニタイズされた submission-evidence/review-demo.md トランスクリプトを書き出します。

削除サポートユーティリティ:

npm run preferences:delete -- --profile-id upg_... --profile-secret ups_... --preferences-path /data/preferences.json

これは、ユーザーが MCP クライアント経由で delete_event_preferences を呼び出せない場合のサポート削除リクエスト用です。

パーソナライゼーションフロー:

  1. ユーザーがパーソナライズされたイベントのヘルプを求めます。

  2. アシスタントは get_preference_onboarding を呼び出し、ユーザーが普段好むイベント、ジャンル、雰囲気、予算、場所、避けたいことを尋ねます。

  3. アシスタントは、Dizko がそれらのプリファレンスを保存してよいかどうかを尋ねます。

  4. はいの場合かつ既存のプロファイルがない場合、アシスタントは create_event_preference_profile を呼び出し、返された profile_id と profile_secret を非公開で記憶します。

  5. 作成レスポンスには、セッション間でコネクタ状態を保持できないクライアント向けの、ユーザー向けアクセスカードである access_instructions も含まれます。

  6. プロファイルが既に存在する場合、アシスタントは profile_id と profile_secret の両方を使って save_event_preferences を呼び出します。

  7. 今夜/今週/週末の検索では、アシスタントは get_event_search_followups を呼び出し、軽量な現在のコンテキストに関する質問を尋ねてから、recommend_events_for_user を呼び出します。

  8. プリファレンスには day_filters を含めることができます。これは、テクノなら金曜日、まったりなら日曜日といった曜日ごとのルールです。配列フィールドは一般的な好みに追加され、max_price/free/nightlife はそれを上書きしますが、その曜日に限ります。単日検索(今夜、明日、明示的な日付)とデイリーラウンドアップは、一致する曜日を自動的に適用します。

  9. デイリーダイジェスト(「今日は何がある?」という定例の朝のブリーフィング)の場合、アシスタントは都市とプロファイル資格情報を指定して get_daily_roundup を呼び出し、トップピックを表示してからカテゴリ別セクションを表示します。

  10. イベント後、アシスタントは get_event_feedback_prompt を呼び出し、ユーザーが参加して気に入ったかどうかを尋ね、ユーザーが好き/嫌い、評価、またはメモを提供した後にのみ record_event_feedback を呼び出します。

チケット購入フロー:

  1. ユーザーがイベントのチケットの購入または予約を求めます。

  2. アシスタントはイベント ID を指定して get_ticket_offers を呼び出します。

  3. アシスタントは、オファーが自動購入に対応しているか、外部チェックアウトのみかを説明します。

  4. アシスタントは数量、チケットタイプ、最大合計額、通貨、返金条件を指定して quote_ticket_order を呼び出します。

  5. アシスタントは明示的な書面での確認を求めます。例:Yes, buy 2 ticket(s) for Ostbahnhof XL, max total USD240. Stop if price, date, venue, ticket type, quantity, or refund terms change.

  6. アシスタントはその確認の後でのみ purchase_ticket_order を呼び出します。

  7. その見積もりが external_checkout を使用する場合、ツールは requires_external_checkout とチェックアウト URL を返します。アシスタントはチケットを購入したと主張してはなりません。

  8. Hermes、OpenClaw、Dizko Checkout、または別の統合プロバイダーが設定されている場合、そのプロバイダーは制限付き購入を実行し、注文/領収書/チケット配送状況を返すことができます。

プロバイダーアダプター契約:

{
  canPurchase(event, summary) {
    return true;
  },
  async purchase({ quote, confirmation_text, user_payment_profile_id, idempotency_key }) {
    return {
      purchased: true,
      status: "purchased",
      order_id: "...",
      receipt_url: "...",
      ticket_delivery_status: "pending_delivery",
      provider_response: {}
    };
  }
}

配布に関する注意事項

公開 ChatGPT ユーザー向けサーフェスは、ホスト型 MCP エンドポイントと OpenAI アプリ提出です。npm パッケージは、ローカルエージェント、Claude Desktop スタイルの MCP クライアント、Cursor および Windsurf セットアップ、コマンドを実行できる技術テスター向けの開発者向け配布経路です。ソースは検査と問題報告のために公開されています。UNLICENSED とマークされたままなので、公開しても再利用ライセンスは付与されません。

新しい npm バージョンを公開する前に:

npm test
npm pack --dry-run --json
npm publish --access public

Related MCP Connectors

Related MCP Servers