Skip to main content
Glama

ラジ株ナビ (Radikabunavi) - Japanese stock data from EDINET/TDnet

主要な販売先

get_main_customers
Read-only

有価証券報告書の「主要な顧客ごとの情報」(連結売上高の10%以上を占める販売先)を返します。1回の呼び出しで次のどちらか一方を指定します。

  1. code を指定: その会社の主要な販売先(顧客名・金額・売上高に占める割合・関連セグメント)。

  2. customer を指定: その販売先に売っている会社の一覧(逆引き)。 customer が証券コード(例: 7203)なら、販売先を上場会社に名寄せした結果を返します(例: 「トヨタ自動車に売っている上場会社」)。 customer が社名の一部(例: アマゾン)なら、上場していない販売先も含めて全社の販売先名を部分一致で探します。

【重要: 開示の範囲】開示対象は売上高の10%以上を占める販売先だけです(会社によっては10%未満も載せます)。 そのため「載っていない」は取引がないことを意味しません。status で区別してください: listed=販売先の記載あり / none=「10%以上の販売先はない」旨の記載 / noBlock=記載なし / text=文章のみ(原本で確認)/ unparsed=読み取り失敗。 全上場企業のうち販売先を表で開示しているのは約4割、「該当なし」が約6割です(2026-10 時点の最新有報)。 逆引きは「社名が完全一致で名寄せできた」ものが対象です。表記違い・子会社宛て・非上場の販売先は証券コード指定の結果に出ません。 customerMatch=group は「○○グループ」宛てで、その会社単体への販売とは限りません。

金額は円(amountYen)。外貨建ての表は円に直さず amountRaw に原文の単位つきで返します。 salesSharePct は金額÷その期の連結売上高で当社が計算した値、ratioPct は有報に記載されていた割合です。 個人の販売先の氏名は表示しません(name は「個人(氏名は表示しません)」)。

関連ツール: 会社の財務は get_edinet_financial_data、大株主は get_major_shareholders_history。

応答の metricLabels は英語キー→日本語指標名の対訳です。利用者向けには日本語名(例: salesSharePct→「売上高に占める割合」)のほうが伝わりやすくなります。 データ品質・値の異常・不具合に触れる場合も同様で、フィールド名を示すときは「発行済株式数(sharesOutstanding)」のように日本語を主・英語キーを括弧内にすると読みやすくなります。

※ 本データは情報提供を目的とし、投資助言・推奨ではありません。

Input Schema

NameRequiredDescriptionDefault
codeNo証券コード(例: 6902)。その会社の主要な販売先を返します。customer とは同時に指定できません。
limitNo逆引きで返す会社数の上限(デフォルト: 30、最大: 100)
customerNo販売先の証券コード(例: 7203)または社名の一部(例: アマゾン)。その販売先に売っている会社を返します。code とは同時に指定できません。

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, but the description adds substantial behavioral context on top: only customers ≥10% of consolidated sales are disclosed (~40% of listed companies have a table, ~60% say '該当なし'), so an empty result does not mean no transaction, and the status enum (listed/none/noBlock/text/unparsed) is spelled out. It also discloses the amountYen vs amountRaw distinction for foreign-currency rows, the computed salesSharePct vs reported ratioPct, name masking for individuals, and the customerMatch=group caveat that group-level sales are not necessarily to the entity itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two-mode structure is front-loaded in a numbered list, followed by the disclosure-scope caveat and status table, with related tools and field-name conventions at the end. The trailing presentation guidance (metricLabels, Japanese-first field naming) is slightly beyond selection/invocation needs, but it is short and clearly separated; nothing in the core is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of describing return content, and it does: status values, amountYen/amountRaw, salesSharePct vs ratioPct, customerMatch, masked individual names, and metricLabels are all covered. For a tool whose main failure mode is misreading absent data as absence of a transaction, the disclosure-scope explanation makes it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents all three parameters, but the description adds real meaning beyond it: it explains that `customer` accepts either a securities code (normalized to listed companies) or a partial company name (substring match that includes non-listed customers), which changes the result set fundamentally. It also clarifies that `limit` only governs the reverse-lookup direction, a constraint the schema does not state.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (returns '主要な顧客ごとの情報' from 有価証券報告書) and immediately splits into two precisely defined modes: code → that company's main customers, customer → reverse lookup of companies selling to that customer. The related-tools line (get_edinet_financial_data for financials, get_major_shareholders_history for shareholders) separates it cleanly from siblings without requiring the schemas to be opened.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says one of the two parameters must be chosen per call, explains what each mode returns, and gives concrete examples for the code-vs-name forms of `customer` (7203 vs アマゾン) along with the different matching behavior each triggers. It also states the exclusion conditions that would otherwise cause false conclusions — reverse lookup only covers exact-normalized names, so subsidiaries, non-listed customers, and spelling variants will not appear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources