MCP.so
ログイン

Sugra API MCP Server

@Sugra API

基本情報

トランスポート

streamable-http

認証方式

OAuth

カテゴリ

金融とコマース

作者

Sugra API

Sugra API MCP Server について

Sugra API MCP サーバーは、195 の一次ソースから 36 の領域を集約したデータ API「Sugra API」のホスト型 MCP エンドポイントです。エージェントは同梱のエンドポイントカタログを検索し、ID で任意のオペレーションを呼び出し、名前を制裁リストと照合し、LEI や VAT でエンティティを調べ、合成スナップショットや時系列を取得できます。OAuth でサインインするか API キーを送信します。

接続情報

https://mcp.sugra.ai/mcp

セットアップ

claude mcp add sugra-api --transport http https://mcp.sugra.ai/mcp

Sugra API MCP Server のツール

11

Screen a person or organization name against the Sugra sanctions corpus. Returns a SCREENING SIGNAL, not a compliance determination. Sugra is a technology provider, not a sanctions authority or consumer reporting agency. PEP and adverse-media coverage is supplementary and non-comprehensive - a `clear` result is not proof of absence, and a `hit` is a candidate match to review, not a finding. Output is COMPACT to protect the agent context budget: `{status, matches:[{name, score, list, type}], disclaimer}`. The verdict `status` is one of `clear`, `review`, or `hit`. The heavy raw fields (match rationale, source ids, publish dates) are dropped; use the Sugra API directly when the full screening envelope is needed. Args: name: The person or organization name to screen (required). country: Optional ISO 3166-1 alpha-2 country to narrow the match. dob: Optional date of birth (YYYY-MM-DD) for a person. nationality: Optional nationality to narrow the match.

Resolve an entity by identifier and return its composed KYB envelope. `anchor` is `lei` (Legal Entity Identifier, resolved via the GLEIF registry) or `vat` (EU VAT number, validated via the EU VIES service). The result weaves identity, a sanctions screening signal, and - on request - ownership and adverse-media slices. The screening verdict is a SCREENING SIGNAL, not a compliance determination, and any PEP / adverse-media content is supplementary and non-comprehensive. The `disclaimer` field carries this and is always present. Output is COMPACT by default to protect the agent context budget: `{entity:{name, anchor, value, status, country}, screening:{status, top_matches:[...3], hit_count}, ids:{...}, disclaimer}`. Pass `include` to opt INTO fuller per-slice detail, e.g. `include=["ownership","adverse_media"]` adds those slices in full form. On a bad anchor or an API error this returns a clean `{error, detail}` dict rather than raising, so the agent can branch on `result.get("error")`. Args: anchor: Identifier type, one of `lei` or `vat`. value: The identifier value (the 20-char LEI code or the VAT number). include: Optional list of fuller slices to add, e.g. `["ownership", "adverse_media"]`. Omit for the compact default.

Search the bundled Sugra endpoint catalog by natural-language query. Use this to pick an operation_id. It does not fetch data. Typical loop: 1. search_endpoints(query) -> ranked hits with required_parameters 2. describe_endpoint(operation_id) -> params, request_body_schema, agent_hints 3. call_endpoint(operation_id, params=..., body=...) or fetch_data(query, params=...) Filter with toolset or source only after list_toolsets / list_sources; a misspelled filter is an error, not a silent empty result. Examples: - search_endpoints("US CPI inflation") - search_endpoints("AAPL price", toolset="markets") - search_endpoints("container ship AIS", toolset="network")

Describe one Sugra API endpoint by operation_id. Includes agent_hints (duration_class fast/slow/heavy, max_concurrency, bulk billing) so you can budget timeouts and parallelism before calling. POST endpoints with a JSON body also carry request_body_schema (the resolved JSON schema) - construct the `body` argument from it instead of guessing key names. Call this after search_endpoints and before call_endpoint when you need the exact parameter names and examples.

Call a Sugra API endpoint by operation_id from the bundled catalog. Plan calls with describe_endpoint's agent_hints: duration_class "fast" usually responds in under ~2s, "slow" usually 1-5s and occasionally 15s+ on a cold upstream, "heavy" can exceed the gateway timeout - keep parallel calls within max_concurrency and prefer small batches. Bulk endpoints bill 1 request credit per body item. Failures return structured errors {error, reason, status_code, elapsed_ms, retry_hint}; after "upstream_timeout" a single retry often succeeds because the aborted attempt warms upstream caches.

List catalog groups with endpoint counts and short descriptions. Use the group names as the toolset filter on search_endpoints. This does not call the Sugra API; it reads the bundled catalog.

One-step fetch: find the best Sugra endpoint for the query and call it. Combines search_endpoints + call_endpoint into a single round trip. Use this when you want data without manually picking an operation_id. The full search_endpoints + describe_endpoint + call_endpoint dance is still available when you need explicit control, but for most natural-language queries this tool is enough. Behavior: 1. Search the bundled catalog for the query. Top match wins. 2. If the matched endpoint has required parameters and they are all provided in `params`, call it and return the response. 3. If required parameters are missing, return the candidate endpoints and the missing-params list so the LLM can retry with the correct `params` dict on the next call. 4. If the query names a country and the match takes a `country` or `countries` param that `params` leaves unset, return needs_params for it with query_countries (ISO2) instead of running the match without that filter. Examples: - `fetch_data("US CPI inflation", params={"series_id": "CPIAUCSL"})` runs fred_series_series_id (/api/v1/fred/series/CPIAUCSL) and returns observations. - `fetch_data("Bitcoin price")` runs onchain_bitcoin_price, which takes no params. - `fetch_data("Latest financial news")` runs news_latest, which has no required params. Only the top match runs, and a param it does not declare returns error unknown_parameters. For one coin's price, name the operation: `call_endpoint("crypto_coin_id_price", params={"coin_id": "bitcoin"})`.

List source families in the bundled catalog with endpoint counts. Use the family names as the source filter on search_endpoints. This does not call the Sugra API.

Resolve free text to a canonical market or macro entity. Turns a ticker, company name, macro indicator, coin, or currency pair into the agent plane's ``{namespace, ids}`` entity for use with get_snapshot and get_timeseries. A cross-namespace collision (e.g. a ticker that is both an equity and a coin) returns status "ambiguous" with ranked candidates and NEVER silently picks one; pass type_hint (e.g. "equity", "etf", "coin") to narrow the universe. Crypto aliases resolve too (e.g. "bitcoin" -> the BTC coin entity). Status "low_confidence" means the best match cleared resolution but scored weakly - verify the returned entity before building on it, or re-query with a more specific name or type_hint. For compliance KYB lookups by LEI/VAT or sanctions screening use sugra_entity_lookup / sugra_entity_screen instead - this tool is for market-data entities. Args: query: Free-form text - ticker, company, indicator, coin, or pair. type_hint: Optional namespace hint narrowing resolution.

Composed current view of an entity via a named recipe. Executes a fixed server-side recipe (company_snapshot, etf_snapshot, quote_snapshot, macro_indicator_snapshot, macro_calendar, earnings_snapshot, debt_snapshot) and returns one envelope with freshness, provenance, per-component coverage, and billing. Composed calls charge the recipe's fixed cost (1-2 units) from the daily quota. status "partial" means an optional component was unavailable - the present components are still trustworthy; honor the freshness block (stale=true means the data aged past its budget); for macro_calendar, entity is accepted but does not filter the calendar. Args: recipe: Recipe name from the fixed manifest. entity: Entity dict from resolve_entity ({"namespace": ..., "ids": ...}).

Bounded timeseries for an entity: price, macro_series, etf_flows or etf_monthly_flows. Returns points oldest-first with an explicit downsampling flag when the raw series exceeded max_points. Times are UTC. Costs 1 unit per call. Read the step from ``served_granularity``, not ``granularity``. The latter echoes the request; the former is the step the source built the points at, and the two can differ (a long price range can come back as monthly bars under a "1d" request). It reads ``mixed`` when the points do not share one step, ``unknown`` when the source does not say, and null when no point came back. It describes how each point was built, not how far apart the returned points are: a thinned daily series still reads ``1d``, and ``downsampled`` is what says points were dropped. The two ETF flow metrics answer different questions and are not interchangeable. ``etf_flows`` is an ESTIMATE at filing cadence: one point per SEC filing refresh, so ``t`` is a filing date and even a wide window yields a handful of points. ``etf_monthly_flows`` is the fund's own creations and redemptions from its NPORT-P filing, so ``t`` is a calendar month (``YYYY-MM``) and each point carries the three filed components - sales, reinvestment, redemption - beside the net. Two things to read before quoting etf_monthly_flows. NPORT-P is filed per SERIES, so for a fund with more than one share class the figures cover every class and the payload says so in ``multi_class_series``; where the class count is unknown it says ``class_scope`` instead of staying silent. And a fund that files no NPORT-P at all, such as a commodity trust, is not an error: the call returns status ``partial`` with an empty point list and a ``reason``. Args: metric: One of price / macro_series / etf_flows / etf_monthly_flows. entity: Entity dict from resolve_entity ({"namespace": ..., "ids": ...}). granularity: Requested point granularity (default "1d"). max_points: Hard cap on returned points (default 500).

概要

Sugra API MCP Server とは?

Sugra API MCP Server は Sugra API 公式のホスト型 MCP エンドポイントで、AI エージェントが金融、マクロ、エンティティ(KYB と制裁)、ネットワーク、ニュース、地球、リサーチの各データにまたがる 1,600 以上のエンドポイントを発見して呼び出せます。

Sugra API は 195 の一次ソースから 36 の領域を集約し、統一されたレスポンス形式で提供します。対象は AI エージェント、フィンテックアプリ、リサーチデスク、社内ダッシュボードです。ホスト型の Sugra MCP サーバーは Anthropic の Connectors Directory と OpenAI Plugins Directory に掲載されており、ローカルの stdio パッケージ sugra-api-mcp も PyPI で公開されています。

Sugra API MCP Server の使い方

Sugra アカウントが必要です(Free プランはクレジットカード不要)。ディスカバリーは公開されていますが、ツールの呼び出しには認証が必要です。ブラウザで OAuth サインインするか、Sugra API キーを使って Authorization: Bearer を送ります。MCP の呼び出しは API の直接呼び出しと同じ 1 日のリクエスト枠を消費します。

MCP エンドポイントは https://mcp.sugra.ai/mcp です(サーバー名 sugra-api)。

Claude Code

OAuth の場合(/mcp を実行してサインイン):

claude mcp add --transport http sugra https://mcp.sugra.ai/mcp

API キーの場合(Sugra のドキュメントと同じ):

claude mcp add --transport http sugra https://mcp.sugra.ai/mcp --header "Authorization: Bearer $SUGRA_API_KEY"

Claude Code に claude.ai アカウントでサインインしていて、Connectors Directory から Sugra を接続済みなら、すでに /mcp に表示されます。

Claude Desktop と claude.ai

Connectors Directory から Sugra を追加するか、Customize → Connectors → Add custom connector を選んで URL を貼り付け、Sugra アカウントでサインインします。

Cursor

{
  "mcpServers": {
    "sugra": {
      "url": "https://mcp.sugra.ai/mcp"
    }
  }
}

VS Code

{
  "servers": {
    "sugra": {
      "type": "http",
      "url": "https://mcp.sugra.ai/mcp"
    }
  }
}

Codex CLI 向けには、ドキュメントで codex mcp add sugra --url https://mcp.sugra.ai/mcp --bearer-token-env-var SUGRA_API_KEY が案内されています。

Sugra API MCP Server の主な機能

  • 幅広いカバレッジ:株式、オプション、暗号資産、コモディティ、為替、ファンダメンタルズ。中央銀行、統計機関、貿易。KYB、制裁、PEP シグナル、LEI/VAT の解決。IP、ASN、BGP、RPKI、Tor。厳選ニュースと GDELT。気象、気候、エネルギー、衛星データ。arXiv、NBER、Crossref。
  • カタログ駆動のツール:エージェントは同梱カタログをローカルで検索し、operation_id でエンドポイントを呼び出すので、1 つのサーバーで API 全体にアクセスできます。
  • エージェント向けヒント:エンドポイントの説明に処理時間の区分、同時実行の上限、バルク課金が含まれ、タイムアウトや並列数を見積もれます。
  • ホスト版限定の合成ツール:エンティティ解決、スナップショット、時系列を 1 回の呼び出しで取得できます。
  • コンプライアンスに配慮したスクリーニング:制裁チェックの結果はコンプライアンス上の判断ではなく、免責事項付きのスクリーニングシグナル(clear、review、hit)として返されます。
  • 全プランで同じデータ:Free($0、1 日 50 リクエスト)、Personal(月 $9、1 日 1,000 件の照会)、Dev(月 $25、1 日 5,000 件)、Pro(月 $59、1 日 50,000 件)で、機能制限はありません。

Sugra API MCP Server のツール

プローブでは 11 個のツールが返されました。

  • ディスカバリー(同梱カタログを読むだけで API は呼ばない):search_endpoints、describe_endpoint、list_toolsets、list_sources。describe_endpoint はパラメーター、JSON ボディの POST 用 request_body_schema、agent_hints を返します。
  • データ呼び出し:call_endpoint は ID でオペレーションを呼び出し(バルクエンドポイントはボディの項目ごとに 1 リクエストを課金)、fetch_data は検索と呼び出しを 1 往復にまとめて自然言語のクエリに対応します。
  • エンティティとコンプライアンス:sugra_entity_screen は個人名や組織名を制裁データと照合し、sugra_entity_lookup は LEI(GLEIF 経由)や EU の VAT 番号(VIES 経由)から KYB 情報をまとめて返します。
  • 合成エージェントツール(ホスト版のみ):resolve_entity はティッカー、企業、指標、コイン、通貨ペアを正規のエンティティに変換し、get_snapshot は company_snapshot や macro_calendar などの名前付きレシピを実行し、get_timeseries は範囲を限った価格、マクロ、ETF フローの系列を返します。

Sugra API MCP Server のユースケース

  • 市場の質問:「Apple の現在の株価と企業スナップショットを表示して、過去 1 年の価格推移をグラフにして」
  • マクロ調査:「最新の米国 CPI はいくつ?マクロカレンダー上の次の発表はいつ?」
  • 取引先チェック:「このサプライヤー名を制裁リストと照合して、LEI レコードも調べて」
  • オプション分析:「VIX の期間構造を取得して、コンタンゴかバックワーデーションか教えて」
  • ネットワーク情報:「この IP アドレスの ASN と RPKI の状態を調べて」

Sugra API MCP Server のトラブルシューティング

  • ツール呼び出しで missing_bearer_token や 401 になる:ディスカバリーは認証不要ですが、呼び出しには OAuth サインインか API キー付きの Authorization: Bearer が必要です。
  • HTTP 429:プランの 1 日の上限を超えました。レスポンスに Retry-After ヘッダーが付きます。超過料金はかかりません。
  • upstream_timeout:「slow」や「heavy」のエンドポイントは上流がコールド状態だと遅くなることがあり、1 回の再試行で成功することが多いです。
  • Claude に Sugra の接続が 2 つある:カスタムコネクターを追加した後にディレクトリからも追加した場合は、カスタムの方を削除してください。

よくある質問

1

Sugra API MCP Server は公式ですか?

はい。Sugra Systems が運営し、docs.sugra.ai にドキュメントがあり、Anthropic の Connectors Directory と OpenAI Plugins Directory にも掲載されています。

2

Sugra MCP サーバーは無料ですか?

Free プランがあり、1 日 50 リクエスト、API キーは最大 2 つで、カードは不要です。有料プランで 1 日の上限が上がり、MCP の呼び出しは API と同じ枠を使います。

3

OAuth と API キーのどちらを使いますか?

どちらでも使えます。Claude や ChatGPT は OAuth でサインインし、その他のクライアントは `Authorization: Bearer YOUR_API_KEY` を送れます。

4

ホスト版とローカル版の違いは?

ホスト版はインストール不要で、`resolve_entity`、`get_snapshot`、`get_timeseries` が追加されます。ローカルの `sugra-api-mcp` パッケージ(Python 3.11 以上、MIT ライセンス)は `SUGRA_API_KEY` を使って stdio で動作し、ゲートウェイツールのみを提供します。

5

制裁スクリーニングの結果はコンプライアンス判断ですか?

いいえ。Sugra は結果をスクリーニングシグナルと位置づけており、`hit` は確認が必要な候補の一致、`clear` も該当がないことの証明ではありません。

6

Claude Code、Cursor、VS Code で使えますか?

はい。ホスト版の URL を使うか、stdio サーバーを実行できるクライアントならローカルパッケージも使えます。

7

Sugra API のリモート MCP サーバーとは何ですか?

Sugra API のリモート MCP サーバーは、https://mcp.sugra.ai/mcp にホストされた Model Context Protocol エンドポイントです。AI アシスタントはローカルに何もインストール・実行することなく接続できます。

8

Sugra API の MCP サーバーにはどう接続しますか?

エンドポイント https://mcp.sugra.ai/mcp を Claude Code、Cursor、VS Code など任意の MCP 対応クライアントに追加してください。このページのセットアップ手順で各クライアントを一度に設定できます。

9

Sugra API の MCP サーバーは認証が必要ですか?

はい。Sugra API は OAuth を使用します。初回接続時に MCP クライアントがブラウザを開いてサインイン・認可を行い、以降はその認証情報を再利用します。

10

Sugra API の MCP サーバーはどのトランスポートを使用しますか?

Sugra API は streamable-http エンドポイントを公開しており、これはリモート MCP サーバーで広く使われ、主要な MCP クライアントがサポートするトランスポートです。

コメント