mcpField
C
chatdata

chatdata

ローカル
github.com/CloudCorpRecordsAI・エージェント02 日前に更新

chatdata について

chatdata は、匿名で ChatGPT の回答とウェブソースを取得したい人向けに、HasData のホスト型 ChatGPT MCP サーバーへ接続するローカルブリッジです。呼び出しごとに新しい会話を開始し、Markdown の回答やソース、検索状況などを返します。

主な機能

  1. 01プロンプトを送り ChatGPT の回答を取得
  2. 02回答を Markdown 形式で返却
  3. 03ウェブソースとページ情報を掲載
  4. 04回答内のリンクと会話タイトルを返却
  5. 05モデルとウェブ検索の利用状況を表示

活用シーン

  1. 01最近の出来事と参照されたウェブページを確認
  2. 02指定した言語で個別の回答を取得
  3. 03「今日」などの表現にタイムゾーンを設定

MCP 対応

MCP クライアント向けに読み取り専用の問い合わせツールを 1 つ提供し、リクエストを HasData のホスト型 ChatGPT MCP サーバーへ転送します。呼び出しごとに独立した会話となり、以前の内容は保持しません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-chatdata": {
"command": "npx",
"args": [
"-y",
"@reneturcios/chatdata"
]
}
}
}
起動コマンドnpx -y @reneturcios/chatdata

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

パッケージ
npm@reneturcios/chatdata0.1.0
ocighcr.io/cloudcorprecords/chatdata:0.1.0

ツール

1

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

パラメーター型必須説明
promptstringはいChatGPT に送信する質問または指示。最大 8000 文字です。最近の出来事について尋ねるプロンプトでは、ChatGPT がウェブを検索して情報源を返します。一般知識に関するプロンプトにはモデルのみで回答します。また、プロンプトによって回答の言語が決まります。希望する言語で記述するか、言語を明示してください("Antworte auf Deutsch")。
timezonestringいいえ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 を参照してください。

コメント

MCP は初めてですか?

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

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