mcpField
O
outcometick

outcometick

リモート
outcometick.com金融データ12 週間前に更新
リポジトリ公式サイト

outcometick について

outcometick は、Polymarket と Predict.fun の暗号資産上昇・下落市場の過去ティックデータを使う戦略向けに、MCP ツールと TypeScript/JavaScript SDK を提供します。MCP サーバーではデータ範囲の確認、戦略検証、バックテスト見積もり、レポート取得ができ、バックテスト自体は送信しません。

主な機能

  1. 01市場データの範囲とプランの確認
  2. 02バックテスト容量とクレジット費用の見積もり
  3. 03キューと同じ検証器による戦略ファイルの検査
  4. 04データファイルの一覧表示とチェックサム検証
  5. 05バックテストの状態とレポートの確認
  6. 06公開済みスマートマネー取引リストの取得

活用シーン

  1. 01戦略開発前に利用可能な市場データを確認
  2. 02別途送信する前に戦略を検証
  3. 03バックテスト範囲とクレジット費用を見積もる
  4. 04過去データや取引リストを取得して検証

MCP 対応

`ot mcp` による stdio MCP サーバーと、ホスト型 Streamable HTTP エンドポイントを提供します。ツールはデータの参照、見積もり、検証、ダウンロードを行い、バックテストは送信しません。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://outcometick.com/v1/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://outcometick.com/v1/mcp認証が必要
Streamable HTTPhttps://outcometick.com/v1/mcp/public
パッケージ
npmoutcometick3.0.0

ツール

詳細

outcometick

outcometick.com 向けの TypeScript / JavaScript 戦略 SDK と ot コマンドラインです。Polymarket および Predict.fun の暗号資産 Up/Down マーケットのティックレベルデータを扱います。

npm i -g outcometick

ot check .                                           # validate, free, no data
ot run . --data ./polymarket-data-samples            # replay locally
ot submit . --assets btc,eth --days 30               # send it to the queue
ot status <run_id>                                   # where it got to
ot fetch  <run_id>                                   # download the report

2.0 での破壊的変更: バックテストの対象は、アーカイブ済みの直近 35 日間のみです。日数がアーカイブされると、対象期間も前に進みます。対象期間より前の --from、または対象期間を超える --days は、アップロード前に E_SCOPE で拒否され、エラーメッセージには現在の対象期間が示されます。直近 n 日間を対象にするには --days <n> を使用してください。現在の日付は https://outcometick.com/v1/backtest/capacity?venue=polymarket で確認できます。

戦略の作成

型が完全に定義されています。ot には .d.ts 宣言が含まれているため、型チェックを通る戦略はキューにも受け入れられます。

import { Strategy, Order, type Ctx, type Tick } from "outcometick";

export default class MeanReversion extends Strategy<{ entry_z: number; size: number }> {
  private entered = false;

  onMarketOpen() { this.entered = false; }

  onTick(ctx: Ctx<{ entry_z: number; size: number }>, tick: Tick): Order | null {
    const z = ctx.zscore(tick.value, { window: 180 });
    if (this.entered || Math.abs(z) < ctx.p.entry_z) return null;
    const side = z > 0 ? "DOWN" : "UP";
    const limit = ctx.book().best(side);
    if (limit === null) return null;
    this.entered = true;
    return new Order({ side, size: ctx.p.size, limit });
  }
}

通常の JavaScript も使用できます。ランタイムはビルド手順不要の ESM です。

ot check の目的

キューで実行されるものと同じバリデーターを実行します。コピーではなく、同じモジュールです。ローカルでチェックに通れば、送信時に拒否されることはありません。これが成り立つのは実装が 1 つだからです。そのため、バリデーターと静的解析ツールはクライアント側で再実装せず、このパッケージに含まれています。

ot run の機能と非機能

キューで使用されるものと同じエンジン、同じレポート、同じアーカイブ形式を、アーカイブのローカルコピーに対して実行します。

curl -L https://github.com/outcometick/polymarket-tick-data-samples/releases/latest/download/polymarket-data-samples.tar.gz | tar xz

これはサンドボックスではありません。ローカルでは、戦略はお使いのマシン上で、お客様自身として、お客様の権限で実行されます。お客様のコードなので、それで問題ありません。当社のマシンでは、ネットワークアクセスも書き込み可能なファイルシステムもなく、CPU 時間と実行時間に厳しい上限を設けたコンテナ内で実行されます。

テスト

npm install && npm test

PATH 上に python3 が必要です。2 つの静的解析ツールのうち 1 つは Python で記述されており、CLI は API と同じ方法でこれを実行します。

データのダウンロード

パッケージのもう半分はデータサブスクリプション用のクライアントです。戦略の作成とは関係がないため、別のインポートとして提供されています。

import { DataClient, NO_VALUE } from "outcometick/data";

const ot = new DataClient();                    // key from OT_KEY

const meta = await ot.meta();                   // what can this key see?

const { files } = await ot.files({
  from: "2026-08-01", to: "2026-08-12",         // or date: "2026-08-12"
  asset: ["BTC", "ETH"],                        // the BASE symbol, not BTCUSD
  dataset: "prices",
  interval: ["5m", NO_VALUE],                   // "5m" alone EXCLUDES the
});                                             // period-less settlement streams

await ot.download(files[0], { saveTo: files[0].name });   // checksum verified

meta() は、このキーで実際にアクセスできるデータの範囲を返します。intervals には実際の期間のみが含まれ、none センチネルは filterTokens の下に別途報告されます。そのため、これから列挙型を作成したり、値を期間として解析したりする呼び出し側が、トークンに遭遇することはありません。

ダウンロードはチェックサムで検証されます。/v1/dl はヘッダーに sha256 を含めてストレージへリダイレクトし、クライアントはチェックサムが失われないよう、そのリダイレクトを自らたどります。

Polymarket のオーダーブックを再構築する

book と price_change は一定の間隔で保存されるため、削除が保存フレームの間に発生すると、古いレベルが残ることがあります。OrderBook は文書化された再構築ルールを適用します。スナップショットはトークンの価格階段を置き換え、変更は絶対数量を設定し(0 の場合は削除)、最新の最良買値/売値(best_bid_ask および各変更から取得)を超えたレベルは破棄されます。3 つのファイルの行を recv_ms でマージして渡してください。

import { OrderBook } from "outcometick/data";

const book = new OrderBook();
for (const row of rows) book.apply(row);       // parsed objects or JSONL lines
book.ladder(tokenId);                           // { bids: [{ price, size }], asks: [...] }, best first
book.best(tokenId);                             // { bid, ask }

これにより、最良価格が通過したすべてのレベルは削除されますが、破棄されたフレームで追加または数量変更された内容を復元することはできません。次のスナップショットまでは、最上位を含むレベルが欠落したり、古い数量を保持したりする場合があります(best_bid_ask に含まれるのは価格のみです)。best() が返すのは再構築された価格階段の最良レベルであり、市場の最新の最良買値/売値ではありません。最新の値は best_bid_ask の行を参照してください。

スマートマネーの取引履歴

独自のキーを使用する別のサブスクリプションです。Polymarket の上位ランクトレーダーが行った取引の日次ファイルを提供します。

const smart = new DataClient({ key: process.env.OT_SMART_KEY });
const { days } = await smart.smartDays();                  // newest first
const day = days.find((d) => d.lists.top100?.status === "published")?.day;
if (day) await smart.smartDownload(day, "top100", { saveTo: "top100.csv.zst" });  // verified

各リストの内容と各列の意味については、以下をご覧ください。 https://outcometick.com/polymarket-smart-money-data

MCP サーバー

ot mcp は、コーディングアシスタントやエージェント向けの、stdio 経由で動作する Model Context Protocol サーバーです。読み込み、価格の確認、検証、ダウンロードを行います。バックテストはクレジットを消費するため、送信することはありません。Node 24 以降が必要です。

{
  "mcpServers": {
    "outcometick": {
      "command": "npx",
      "args": ["-y", "outcometick", "mcp"],
      "env": {
        "OT_KEY": "<data subscription key, optional>",
        "OT_SMART_KEY": "<smart-money key, optional>",
        "OT_BACKTEST_KEY": "<backtest key, optional>"
      }
    }
  }
}

Claude Code:claude mcp add outcometick -e OT_KEY=<data key> -- npx -y outcometick mcp

同じツールは、インストール不要の Streamable HTTP 経由でもホストされています。

  • https://outcometick.com/v1/mcp:Authorization: Bearer <key>(data、smart-money、または backtest キー)を送信します。2 つ目または 3 つ目のキーは X-Backtest-Key/X-Smart-Key として追加できます。またはヘッダーなしで接続し、OAuth でサインインして、同意ページにキーを貼り付けることもできます(claude.ai および ChatGPT コネクター)。
  • https://outcometick.com/v1/mcp/public:キー不要で、公開ツールのみを利用できます。

claude mcp add --transport http outcometick https://outcometick.com/v1/mcp --header "Authorization: Bearer <data key>"

ホスト版では、download_file と smart_download はファイルをディスクに書き込む代わりに、署名付き URL とその sha256 を返します。また、check_strategy はディレクトリではなくファイルの内容を受け取ります。

ツールキー機能
coverageなしアーカイブに含まれる取引所ごとの資産、データセット、日付範囲
plansなしデータサブスクリプションプランと現在の価格
backtest_capacityなし現在バックテスト可能な日数とキューの混雑状況
backtest_quoteなし送信せずにバックテスト範囲のクレジット価格を確認
check_strategyなしキュー独自のバリデーターを使って、戦略ディレクトリをローカルで検証
metaOT_KEYデータキーで利用できる日付範囲とフィルター値
list_filesOT_KEYデータキーでダウンロードできるアーカイブファイルを検索
download_fileOT_KEYファイルを 1 つダウンロードし、その sha256 を検証
backtest_runsOT_BACKTEST_KEYバックテストキーでの最近の実行履歴とクレジット残高
backtest_statusOT_BACKTEST_KEY1 回分の実行状況、クレジット、レポートの概要
smart_plansなしsmart-money プラン(Polymarket ウォレットの日次リスト)と現在の価格
smart_coverageなし公開されている smart-money の日付
smart_daysOT_SMART_KEYsmart-money キーでダウンロードできる日付と、各リストのステータス
smart_downloadOT_SMART_KEY1 日分のリストをダウンロードし、その sha256 を検証

Python で戦略を記述する場合は、SDK をご利用ください。 pip install outcometick。ot は Python の戦略も実行できるため、どちらの言語にも対応する CLI はこれ 1 つです。

リファレンス全文:https://outcometick.com/docs/sdk

リンク

コメント

MCP は初めてですか?

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

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