無料でAPIキー取得
ドキュメントのメニューexpand_more
travel_exploreAPI ビューワーで試す

ガイド

エンドポイント

search
appsすべての API
function指標の計算方法
← 使い方に戻る

MCP

MCP の使い方

MCP(Model Context Protocol)に対応した AI クライアントを ZENITH Code につなぐと、AI が 72 種類のツールで日本株の財務・配当・大株主・開示・経済指標を直接調べられるようになります。設定するのはサーバーの URL と API キーのヘッダーだけです。
サーバー URL
https://mcp.zenithcode.net/mcp

lanStreamable HTTP(ステートレス)

POST で JSON-RPC を受けるだけのサーバーです。セッションを持たないので、SSE や常時接続は使いません(GET は 405)。対応プロトコルは 2025-06-18・2025-03-26・2024-11-05 です。

key認証は API キー

通常の API と同じキーを、Authorization: Bearer か x-api-key ヘッダーで送ります。ツールの一覧(tools/list)はキーが無くても見られ、ツールの実行(tools/call)にキーが要ります。

visibilityすべて読み取り専用

どのツールもデータを読むだけで、書き込みや設定の変更はしません。各ツールは対応する /stable エンドポイントを同じ認証・クォータで呼ぶので、応答の形も API と同じです。

認証ヘッダー

どちらか一方を送ります。YOUR_API_KEY はダッシュボードで発行したキーに置き換えてください。

Authorization: Bearer YOUR_API_KEY
# または
x-api-key: YOUR_API_KEY
info

ヘッダーを設定できない Claude や ChatGPT のコネクタは、OAuth(ブラウザでのログイン連携)でつなげます。手順は下の「OAuth でつなぐ」にあります。

OAuth でつなぐ(Claude・ChatGPT)

サーバー URL を入れて ZENITH Code にログインし、連携を承認するだけでつながります。API キーを貼り付ける必要はありません。

Claude のカスタムコネクタ(claude.ai・Claude Desktop・モバイル)

OAuth

手順

  1. Claude の設定で「コネクタ」を開き、カスタムコネクタを追加します。
  2. 名前(例: ZENITH Code)と上のサーバー URL を入力します。詳細設定の OAuth Client ID と Secret は空のままにします。
  3. 追加したコネクタで「連携」を押すと、ZENITH Code のログイン画面が開きます。ログインして、アクセスを承認します。
  4. 会話でツールを使えます。ツールの一覧はログイン前でも見え、ツールを初めて呼ぶときに連携を求められることもあります。

カスタムコネクタを使えるプランや、組織での管理者の設定は Claude 側の案内を確認してください。メニューの名前はアプリの版で変わることがあります。

ChatGPT のコネクタ(開発者モード)

OAuth

手順

  1. ChatGPT の設定で「アプリとコネクタ」→「詳細設定」を開き、開発者モードをオンにします。
  2. コネクタの「作成」を押し、名前と上のサーバー URL を入力します。認証は「OAuth」を選びます。
  3. 作成すると ZENITH Code のログイン画面が開きます。ログインして、アクセスを承認します。
  4. 会話でこのコネクタを有効にすると、ツールを使えます。

開発者モードを使えるプランやメニューの名前は、2026 年 10 月時点のものです。変わっていたら OpenAI の案内に従ってください。

data_usage利用量の数え方

  • check_circleOAuth での利用は、あなたのアカウントでいちばん上のプランの API キーとして数えます。月間のトークンは、ヘッダーでの利用と合算です。
  • check_circle有効な API キーが 1 本も無いと、ツールを使えません。先にダッシュボードでキーを 1 本作ってください(Free プランで構いません)。
  • check_circle連携をやめるときは、Claude や ChatGPT の側でコネクタを外します。すべてのキーを失効させると、OAuth でもツールを使えなくなります。

クライアント別の設定

どれも「URL」と「ヘッダー」を設定するだけです。設定したらクライアントを再起動すると、ツールが表示されます。

Claude Code

ターミナルで 1 行実行します。2 つ目の形(--scope user)は、すべてのプロジェクトで使えるように登録します。claude mcp list で接続を確かめられます。

ターミナル

claude mcp add --transport http zenith-code https://mcp.zenithcode.net/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

claude mcp add --transport http --scope user zenith-code https://mcp.zenithcode.net/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

claude mcp list

チームで共有するときは、プロジェクトの .mcp.json に下の「汎用の JSON 設定」を置き、キーは環境変数 ZENITH_API_KEY で渡すと、キーをリポジトリに書かずに済みます。

Claude Desktop

アプリの「コネクタ」画面からは、上の「OAuth でつなぐ」の手順でつなげます。設定ファイルで API キーを使う場合は、ヘッダーを付けて中継するオープンソースの mcp-remote(Node.js が必要)を使います。

claude_desktop_config.json(macOS: ~/Library/Application Support/Claude/、Windows: %APPDATA%\Claude\)

{
  "mcpServers": {
    "zenith-code": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.zenithcode.net/mcp",
        "--header",
        "x-api-key:${ZENITH_API_KEY}"
      ],
      "env": {
        "ZENITH_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

x-api-key: のあとに空白を入れない書き方にしているのは、Windows で引数の空白が崩れるのを避けるためです。保存したら Claude Desktop を再起動します。

Cursor

Cursor の MCP 設定ファイルに追加します。

~/.cursor/mcp.json(全プロジェクト)または .cursor/mcp.json(プロジェクトごと)

{
  "mcpServers": {
    "zenith-code": {
      "url": "https://mcp.zenithcode.net/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

設定後、Cursor の設定画面の MCP の項目で、サーバーが有効になっているかを確かめてください。

VS Code(GitHub Copilot)

ワークスペースの .vscode/mcp.json に追加すると、Copilot Chat のエージェントモードでツールを使えます。inputs を使うと、キーは初回に入力を求められ、ファイルには残りません。

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "zenith-api-key",
      "description": "ZENITH Code API key",
      "password": true
    }
  ],
  "servers": {
    "zenith-code": {
      "type": "http",
      "url": "https://mcp.zenithcode.net/mcp",
      "headers": {
        "Authorization": "Bearer ${input:zenith-api-key}"
      }
    }
  }
}

Copilot Chat をエージェントモードに切り替え、ツールの一覧に zenith-code が出ていれば接続できています。

ChatGPT / OpenAI API

ChatGPT アプリからは、上の「OAuth でつなぐ」の手順でつなげます。OpenAI API の Responses API では、MCP ツールに headers を指定して API キーで使えます。

Python(openai パッケージ)

from openai import OpenAI

client = OpenAI()
resp = client.responses.create(
    model="gpt-4.1",
    tools=[{
        "type": "mcp",
        "server_label": "zenith_code",
        "server_url": "https://mcp.zenithcode.net/mcp",
        "headers": {"Authorization": "Bearer YOUR_API_KEY"},
        "require_approval": "never",
    }],
    input="トヨタ自動車(7203)の連続増配年数を教えて",
)
print(resp.output_text)

require_approval を never にすると、ツールの呼び出しごとの確認を省きます。モデル名はお使いのものに置き換えてください。

汎用の JSON 設定

Streamable HTTP とヘッダーに対応したクライアントの多くは、この形で設定できます(Claude Code の .mcp.json もこの形です)。

.mcp.json など(ファイル名・キー名はクライアントによって異なります)

{
  "mcpServers": {
    "zenith-code": {
      "type": "http",
      "url": "https://mcp.zenithcode.net/mcp",
      "headers": {
        "Authorization": "Bearer ${ZENITH_API_KEY}"
      }
    }
  }
}

Bearer の後ろは、環境変数 ZENITH_API_KEY から読み込む書き方です。環境変数の展開に対応していないクライアントでは、キーを直接書いてください。type を streamable-http と書くクライアントもあります。

curl で動作を確かめる

クライアントを設定する前に、サーバーとキーを curl で確かめられます。1 つ目はキー無しでツールの一覧を、2 つ目はキーを付けてツールを 1 回実行します。

curl -s https://mcp.zenithcode.net/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

curl -s https://mcp.zenithcode.net/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_dividend_streaks","arguments":{"symbol":"7203"}}}'

2 つ目は通常の API と同じく、呼んだエンドポイント(この例では /stable/dividend-streaks で 1 トークン)の分だけ消費します。キーもログインも無いと、HTTP 401 と WWW-Authenticate ヘッダー(OAuth の案内)が返ります。

例のプロンプトと使われるツール

AI は質問に合わせてツールを選んで呼びます。社名だけで聞いた場合は、まず search_company で証券コードを調べます。

「トヨタ自動車の過去 5 年の年間配当と、何年連続で減配していないかを教えて」

使われるツール

  • search_company1 トークン
  • get_dividend_streaks1 トークン

社名から証券コード 7203 を引き、連続増配・非減配の年数と決算期ごとの年間配当を 1 回で取ります。

「三菱商事(8058)の大株主上位 10 名と、政策保有株の銘柄数・計上額の合計をまとめて」

使われるツール

  • get_major_shareholders1 トークン
  • get_cross_shareholdings1 トークン

どちらも最新の有報から取ります。応答に書類 ID と EDINET の URL が付くので、AI に出典を添えさせられます。

「ROE 10% 以上・配当利回り 3% 以上の銘柄を、配当利回りの高い順に 20 社」

使われるツール

  • screen_stocks10 トークン

roeMoreThan=0.1・dividendYieldMoreThan=0.03・sortBy=dividendYield・limit=20 のように、比率を小数にして呼びます。

「ソニーグループの最新の有価証券報告書から『事業等のリスク』を要約して」

使われるツール

  • search_company1 トークン
  • get_annual_report_text10 トークン

tag 無しで目次を取り、tag=risks で本文を読みます(目次と本文で 2 回呼びます)。本文は長いので、AI 側のコンテキストも多く使います。

「キーエンスを同業他社と PER・ROE で比べて」

使われるツール

  • get_peers10 トークン
  • get_industry_benchmarks10 トークン

同じ東証 33 業種で時価総額が近い会社と、業種の中央値を返します。

「今後 2 週間に決算を発表する会社を一覧にして」

使われるツール

  • get_earnings_calendar1 トークン

from / to を指定して、決算発表の予定を取ります。

トークン消費の目安

MCP のツールを 1 回呼ぶと、中で呼ぶ /stable エンドポイント 1 回分のトークンを消費します(料金・クォータは通常の API と共通です)。

ツール呼ぶエンドポイントトークン
get_company_profile/stable/profile1
get_dividends/stable/dividends1
get_income_statement/stable/income-statement1
get_full_financial_statement/stable/financial-statement-full10
screen_stocks/stable/screener10
get_annual_report_text/stable/text-blocks10
list_stocks/stable/stock-list100
  • check_circle1 つの質問で AI が複数のツールを呼ぶことがあります。上の例のプロンプトでは、1 問あたり 2〜21 トークン程度です。
  • check_circleサーバーへの接続(initialize)とツールの一覧の取得(tools/list)は、トークンを消費しません。
  • check_circleFree プランは月 5,000 トークンです。list_stocks(100 トークン)のような全件の取得は、AI に何度も呼ばせないようにしてください。
  • check_circleAI クライアント側の利用料(モデルの入出力トークン)は別にかかります。有報の本文や長い履歴は応答が大きいので、limit や期間を絞って聞くと節約できます。

ツールの一覧(72 種類)

クライアントの画面には、この名前でツールが表示されます。説明は日英併記なので、日本語の社名や用語で聞いても AI がツールを選べます。

search_companyget_company_profileget_income_statementget_balance_sheetget_cash_flowget_key_metricsget_full_financial_statementget_quoteget_key_metrics_latestget_historical_pricesget_dividendsget_earnings_calendarget_major_shareholderssearch_by_shareholderget_extraordinary_report_eventsscreen_stocksget_rankingsget_segmentsget_workforceget_large_holdersget_large_holding_reportsget_dividend_changesget_splitsget_technicalsget_returnsget_disclosuresget_delisting_scheduleget_economic_indicatorsget_economic_seriesget_economic_calendarget_fear_greed_indexget_annual_report_textget_xbrl_factsget_diversity_metricsget_events_feedget_cross_shareholdingsget_audit_feesget_directorsget_director_compensationget_subsidiariesget_main_customersget_facilitiesget_industry_benchmarksget_peersrun_screener_presetget_sector_performanceget_market_moversget_new_highs_lowsget_market_breadthget_market_cap_historyget_valuation_historyget_dividend_streaksget_extraordinary_report_reasonsget_shareholder_categoriesget_treasury_sharesget_sga_breakdownget_earnings_forecastsearch_edinet_codeget_batch_quotesget_batch_key_metrics_latestget_employee_countget_market_capitalizationget_etf_metricslist_stockslist_etfslist_sectorsget_dividends_calendarget_shareholder_benefitslist_shareholder_benefitsget_dividend_policylist_dividend_policiesget_usage

うまくいかないとき

症状対処
ツールは見えるが、呼ぶと unauthorized になるヘッダーが届いていません。Authorization: Bearer の後ろに空白 1 つでキーが続いているか、x-api-key の綴りを確かめてください。キーを失効させていないかも、ダッシュボードで確かめます。
405 Method Not Allowed が出るこのサーバーは POST だけを受けます。SSE(GET)で接続しようとするクライアントでは、transport を http(Streamable HTTP)にしてください。
429 や quota_exceeded が返る分間のレート制限か、月間のトークンを超えています。プランの上限は料金ページとドキュメントの「レート制限」で確かめてください。
銘柄が見つからない(404 や空の結果)証券コードは 4 桁(英字を含むコードは 130A のような形)で渡します。社名しか分からないときは、先に search_company を呼ぶよう AI に頼んでください。
shield

API キーを設定ファイルに書くと、そのファイルを共有した相手にも見えます。リポジトリにコミットするファイルでは環境変数や入力欄(VS Code の inputs)を使い、キーが漏れたらダッシュボードからすぐに失効・再発行してください。

API キーを用意する

MCP でも、通常の API と同じキーを使います。