chatdata について
chatdata は、匿名で ChatGPT の回答とウェブソースを取得したい人向けに、HasData のホスト型 ChatGPT MCP サーバーへ接続するローカルブリッジです。呼び出しごとに新しい会話を開始し、Markdown の回答やソース、検索状況などを返します。
主な機能
- 01プロンプトを送り ChatGPT の回答を取得
- 02回答を Markdown 形式で返却
- 03ウェブソースとページ情報を掲載
- 04回答内のリンクと会話タイトルを返却
- 05モデルとウェブ検索の利用状況を表示
活用シーン
- 01最近の出来事と参照されたウェブページを確認
- 02指定した言語で個別の回答を取得
- 03「今日」などの表現にタイムゾーンを設定
MCP 対応
MCP クライアント向けに読み取り専用の問い合わせツールを 1 つ提供し、リクエストを HasData のホスト型 ChatGPT MCP サーバーへ転送します。呼び出しごとに独立した会話となり、以前の内容は保持しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| prompt | string | はい | ChatGPT に送信する質問または指示。最大 8000 文字です。最近の出来事について尋ねるプロンプトでは、ChatGPT がウェブを検索して情報源を返します。一般知識に関するプロンプトにはモデルのみで回答します。また、プロンプトによって回答の言語が決まります。希望する言語で記述するか、言語を明示してください("Antworte auf Deutsch")。 |
| timezone | string | いいえ | IANA タイムゾーン名。例:`America/Chicago`、`Europe/Berlin`。ChatGPT が現在の日付と時刻として扱う値を設定します。「今日」「今週」「最新」などを含むプロンプトに影響します。 |
詳細
chatdata
chatdata は、ホスト型 HasData ChatGPT MCP サーバーへの小規模なローカルブリッジです。プロンプトを渡すと、ChatGPT が匿名で回答します。回答は Markdown テキストで返され、ChatGPT が参照したすべてのウェブソース(各ソースのドメイン、ページタイトル、抜粋、公開日、サムネイル)に加え、回答内に表示されたリンク、やり取りのために ChatGPT が生成した会話タイトル、回答したモデル、ウェブ検索が使われたかどうかを示すフラグも含まれます。
呼び出しごとに新しい会話が始まり、以前の会話の記憶はありません。回答の言語はプロンプトに従うため、希望する言語でプロンプトを書くか、言語を明示的に指定してください。オプションのタイムゾーンを指定すると、その呼び出しで「今日」や「今週」などが指す範囲を固定できます。これは最近の出来事に関するプロンプトで特に重要です。こうしたプロンプトでは ChatGPT がウェブを検索し、ソースを返します。
このブリッジは独自のデータを保存しません。ライブエンドポイントから取得したままの上流サーバーのツール一覧をローカルで提供し、各ツール呼び出しを上流に転送して、結果を変更せずに返します。取得された機能は、読み取り専用の単一クエリです。書き込み、メッセージ送信、決済のツールは含まれていません。
ツール
hasdata_chatgpt_chat_getChatgptAnswer— ChatGPT にプロンプトを 1 つ送信し、ソース付きの回答を返します。必須:prompt(質問または指示。最大 8000 文字)。任意:timezone(America/ChicagoやEurope/Berlinなどの IANA タイムゾーン名。現在の日付と時刻の基準を設定します)。 回答は Markdown 形式で返され、参照されたウェブソース、回答内のリンク、生成された会話タイトル、回答したモデル、ウェブ検索が使われたかどうかが含まれます。
設定
HASDATA_CHATGPT_MCP_URL(任意)— 上流エンドポイントを上書きします。デフォルトはhttps://mcp.hasdata.com/mcp?apis=chatgptです。(上書き用の仕組みは、この再構築で独自に追加したことを示すラベル付きのものです。)HASDATA_API_KEY(任意)— 設定すると、呼び出し元自身の HasData API キーとして、すべての上流リクエストにx-api-key: <key>ヘッダーが付加されます。設定されていない場合、キーのヘッダーは送信されません。(ヘッダー名と環境変数名は、元のレジストリレコードに基づいて固定されています。この環境変数からキーを転送する処理は、ラベル付きの再構築です。元の機能はキーなしの状態で取得されました。)
転送の仕組み
最初のツール呼び出しで、クライアントは上流とのストリーミング可能な HTTP セッションを開きます。JSON-RPC の initialize リクエスト(protocolVersion 2025-03-26、clientInfo name chatdata)、続いて notifications/initialized 通知を送り、その後、呼び出し元の引数を変更せずに含めた tools/call リクエストを送信します。上流が initialize に Mcp-Session-Id ヘッダーを付けて応答すると、その値はセッションの後続リクエストすべてに引き継がれ、プロセスが終了するまで同じセッションが再利用されます。応答は通常の JSON またはサーバー送信イベントで届く場合があり、どちらも読み取られます。
上流で成功した結果は、上流が設定した isError フラグも含め、変更せずにそのまま渡されます。失敗(JSON-RPC エラー、2xx 以外のステータス、読み取れない応答、または完了できないリクエスト)は、テキストが chatdata error: で始まる isError 結果として返されます(この表示形式は、この再構築で独自に追加したことを示すラベル付きのものです)。
CLI
このツールは、1 つの JSON 引数文字列を受け取るサブコマンドとしても利用できます。
npx @reneturcios/chatdata hasdata_chatgpt_chat_getChatgptAnswer '{"prompt":"What happened in tech today?","timezone":"America/Chicago"}'
npx @reneturcios/chatdata --version
終了コード:成功時は 0、isError 結果の場合は 1、使用方法に誤りがある場合は 2 です。
MCP サーバー
npx -y @reneturcios/chatdata mcp
MCP クライアントの設定:
{
"mcpServers": {
"chatdata": {
"command": "npx",
"args": ["-y", "@reneturcios/chatdata", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/chatdata
docker run --rm ghcr.io/cloudcorprecords/chatdata --version
コンテナーのデフォルトコマンドは mcp です。そのため、最初の形式は stdio MCP サーバーとして動作し、それ以外の引数は通常どおり CLI に渡されます。
開発
npm install
npm run build
npm test
npm run dev
テストスイートは、スタブ化された JSON-RPC 上流のみを相手に実行されます。ライブネットワークへの呼び出しはありません。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。