Optix について
Optixは、OPTIXの脅威インテリジェンス利用者やセキュリティ分析担当者向けの、独立したPython/FastAPI製MCPサーバーです。28のツールで、OPTIXのREST APIを直接扱わずにフィードや文書の検索、IOCのトリアージ、ウォッチリスト、検知コンテンツ、調査、レポート作成を行えます。
主な機能
- 01フィードと脅威エンティティの照会
- 02文書とインジケーターの検索
- 03ウォッチリスト管理とIOCトリアージ
- 04検知ルールとレポートの生成
- 05アカウント残高とアクセス権の確認
活用シーン
- 01最新の脅威インテリジェンスの確認
- 02IP・ドメイン・ハッシュの調査
- 03インジケーターのトリアージと監視リスト管理
- 04検知ルールやインテリジェンスレポートの作成
MCP 対応
AIアシスタントやプログラムから利用できるOPTIX操作を、28のMCPツールとして公開します。リクエストにはOPTIX APIキーが必要で、一部の操作はクレジットやプラン階層に応じて制限されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OPTIX MCP サーバー
OPTIX 脅威インテリジェンスプラットフォーム向けに Model Context Protocol (MCP) を実装した、単独で動作する Python/FastAPI サーバーです。AI アシスタントやプログラムから利用できる、アナリスト向けの28種類のツールを提供します。OPTIX の内部 REST API を理解しなくても、脅威フィードへの問い合わせ、ドキュメントやインジケーターの検索、ウォッチリストの管理、IOC のトリアージ、検知ルールの生成、AI 調査の実行、インテリジェンスレポートの作成ができます。
要件
- Python 3.11+
- 有効な OPTIX インストール
- OPTIX API キー(OPTIX Settings → API Keys で作成)
環境変数
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
OPTIX_API_URL | いいえ | https://optixthreatintelligence.co.uk | OPTIX バックエンドのベース URL です。セルフホストの場合のみ変更してください。 |
MCP_HOST | いいえ | 0.0.0.0 | MCP サーバーがバインドするホストアドレス |
MCP_PORT | いいえ | 8090 | MCP サーバーがリッスンするポート |
OPTIX_REQUEST_TIMEOUT | いいえ | 30 | 上流の OPTIX 呼び出しがタイムアウトするまでの秒数 |
OPTIX_SKIP_AUTH | いいえ | false | true の場合、API キーの検証をスキップし、認証なしでツール一覧を取得できます(Glama レジストリの検査で使用)。本番環境では絶対に true に設定しないでください。 |
OPTIX MCP/ ディレクトリに .env ファイルを作成して設定するか、シェル変数としてエクスポートしてください。
# Only needed if self-hosting OPTIX at a custom URL:
OPTIX_API_URL=https://your-optix-instance.example.com
MCP_PORT=8090
ローカルでの実行
cd "OPTIX MCP"
cp .env.example .env # then edit .env with your OPTIX_API_URL
pip install -r requirements.txt
python main.py
デフォルトでは、サーバーは http://0.0.0.0:8090 で起動します。
- ヘルスチェック:
GET http://localhost:8090/health - MCP SSE エンドポイント:
GET http://localhost:8090/mcp(X-API-Keyヘッダーが必要)
認証
MCP エンドポイントへのすべてのリクエストには、X-API-Key ヘッダーに OPTIX API キーを含める必要があります。
X-API-Key: optix_your_api_key_here
認証されていないリクエストには、構造化された 401 レスポンスが返されます。
{
"error": "Missing API key",
"detail": "Provide your OPTIX API key in the X-API-Key request header.",
"docs": "See README.md for instructions on obtaining an API key."
}
Claude Desktop への接続
推奨 — Smithery 経由(ローカルへのインストールは不要):
以下を Claude Desktop の設定ファイルに追加してください。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"optix": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@optixcybersecurity/optix-mcp",
"--",
"--api-key",
"optix_your_api_key_here"
]
}
}
}
別の方法 — セルフホストのローカルサーバー:
{
"mcpServers": {
"optix": {
"command": "python",
"args": ["/path/to/OPTIX MCP/stdio.py"],
"env": {
"OPTIX_API_KEY": "optix_your_api_key_here"
}
}
}
}
Cursor への接続
推奨 — ホスト型エンドポイント(ローカルへのインストールは不要):
~/.cursor/mcp.json に追加してください。
{
"mcpServers": {
"optix": {
"url": "https://optixthreatintelligence.co.uk/mcp",
"headers": {
"X-API-Key": "optix_your_api_key_here"
}
}
}
}
別の方法 — ローカルサーバー:
{
"mcpServers": {
"optix": {
"url": "http://localhost:8090/mcp",
"headers": {
"X-API-Key": "optix_your_api_key_here"
}
}
}
}
クレジットシステム
いくつかのツールは OPTIX クレジットを消費します。サーバーは上流への呼び出しを行う前に、事前クレジットチェックを実施します。キャッシュされた残高でクレジット不足が明らかな場合、操作を試みたりクレジットを差し引いたりせず、ただちにエラーを返します。
クレジットを消費する呼び出しが成功するたびに、サーバーはクレジット残高を再取得します。そのため、account.status には常に最新の状態が反映されます。
| 操作 | コスト |
|---|---|
incident.report | 40 クレジット |
report.generate | 40 クレジット |
entity.research | 15 クレジット |
entity.ask | 4 クレジット |
detection.rule | 4 クレジット |
detection.tradecraft | 4 クレジット |
| その他すべてのツール | 無料 |
プランティア要件
OPTIX は REST API にプランティアに基づくアクセス制御を適用します。MCP サーバーが公開するのはアナリストレベルのエンドポイントのみです。使用する API キーにかかわらず、管理者専用エンドポイントは MCP を通じて公開されません。
各ツールに必要な OPTIX の最低プランは、呼び出す REST エンドポイントによって異なります。
| Tier | 説明 | 利用可能な MCP ツール |
|---|---|---|
| Free | 脅威インテリジェンスへの基本的な読み取りアクセス | feed.get、search.indicator、entity.get、account.status、document.get、search.documents、detection.attack_matrix、feed.headlines、feed.cards、detection.coverage_gaps、search.ai、watchlist.list、watchlist.add、watchlist.remove、ioc.triage、feedback.vote、feed.save_view、actor.profile、actor.list |
| Individual | アナリスト向けの完全なアクセス — エンリッチメント、検出ルール、エンティティ調査 | Free の全ツール + ioc.context、entity.research、entity.ask、detection.rule、detection.tradecraft、incident.report、report.generate |
| Team | インテリジェンスの共有と TAXII — 複数アナリスト向けの組織機能 | Individual の全ツール + TAXII 関連のワークフロー(直接 API 経由) |
| Enterprise | 組織の管理とコンプライアンスレポート | Team の全ツール + 組織管理ワークフロー(直接 API 経由。MCP では公開されません) |
注: 管理者専用エンドポイント(監査ログ、組織メンバーの管理、プロバイダーキーの設定、コンプライアンスレポート、組織の概要)は、MCP サーバーを通じて公開されることはありません。これらの操作には
org_adminまたはplatform_adminロールが必要です。管理者スコープの API キーを使用して、REST API を直接呼び出してください。
プランの確認
API キーで利用できるティアとツールを確認するには:
# Using the MCP server
result = await client.call_tool("account.status", {})
print(result) # Shows current plan tier and available features
利用可能なツール
認証: すべてのツールは、MCP クライアントの設定で指定された
X-API-Keyヘッダーを通じて認証されます。api_keyツールパラメーターはありません。リクエストごとに OPTIX バックエンドでキーが検証されます。
ツールの概要
| # | ツール | カテゴリ | 最低ティア | コスト |
|---|---|---|---|---|
| 1 | feed.get | 読み取り | Free | 無料 |
| 2 | search.indicator | 読み取り | Free | 無料 |
| 3 | incident.report | 書き込み | Individual | 40 クレジット |
| 4 | entity.get | 読み取り | Free | 無料 |
| 5 | account.status | 読み取り | Free | 無料 |
| 6 | document.get | 読み取り | Free | 無料 |
| 7 | search.documents | 読み取り | Free | 無料 |
| 8 | report.list | 読み取り | Free | 無料 |
| 9 | report.get | 読み取り | Free | 無料 |
| 10 | detection.attack_matrix | 読み取り | Free | 無料 |
| 11 | watchlist.list | 読み取り | Free | 無料 |
| 12 | watchlist.add | 書き込み | Free | 無料 |
| 13 | watchlist.remove | 書き込み | Free | 無料 |
| 14 | feed.headlines | 読み取り | Free | 無料 |
| 15 | feed.cards | 読み取り | Free | 無料 |
| 16 | ioc.context | 読み取り | Individual | 無料 |
| 17 | detection.coverage_gaps | 読み取り | Free | 無料 |
| 18 | search.ai | 読み取り | Free | 無料 |
| 19 | entity.research | AI / 書き込み | Individual | 15 クレジット |
| 20 | entity.ask | AI / 書き込み | Individual | 4 クレジット |
| 21 | detection.rule | AI / 書き込み | Individual | 4 クレジット |
| 22 | detection.tradecraft | AI / 書き込み | Individual | 4 クレジット |
| 23 | report.generate | AI / 書き込み | Individual | 40 クレジット |
| 24 | feedback.vote | 書き込み | Free | 無料 |
| 25 | feed.save_view | 書き込み | Free | 無料 |
| 26 | ioc.triage | 書き込み | Free | 無料 |
| 27 | actor.profile | 読み取り | Free | 無料 |
| 28 | actor.list | 読み取り | Free | 無料 |
feed.get
すべての OPTIX ソースから、厳選され、スコアが付与されたインテリジェンス文書をページ分割されたストリームとして返します。
使用する場合:「最新の重大な脅威は何ですか?」/「最近の TLP:AMBER インテリジェンスを表示してください。」
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
limit | integer | いいえ | エントリーの最大数(1–100、デフォルトは 20) |
offset | integer | いいえ | ページネーションのためにスキップするエントリー数 |
severity_filter | string | いいえ | critical、high、medium、または low |
tlp_filter | string | いいえ | TLP:WHITE、TLP:GREEN、TLP:AMBER、TLP:RED |
since | string | いいえ | ISO 8601 日時 — この時刻より後に公開された文書のみを返します |
search.indicator
値を指定して、OPTIX から特定の侵害指標(IOC)を検索します。
使用する場合:「OPTIX は 185.220.101.45 を確認していますか?」/「このハッシュについて何がわかっていますか?」
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
value | string | はい | 検索する IP、ドメイン、ハッシュ、URL、またはメールアドレス |
type_hint | string | いいえ | IOC、Infrastructure、ThreatActor、MalwareFamily |
incident.report ⚡ 40 クレジット
構造化されたインシデントレポートを OPTIX に送信し、戦術的なインテリジェンスレポートを生成します。
**使用する場合:**アナリストが調査を完了し、正式なインテリジェンスレポートを作成したい場合。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
title | string | はい | インシデントの短いタイトル(3~300 文字) |
description | string | はい | インシデントの詳細な経緯 |
severity | string | はい | critical、high、medium、または low |
tlp | string | いいえ | TLP 分類(デフォルトは TLP:GREEN) |
indicators | string[] | いいえ | 観測された IOC の値 |
analyst_notes | string | いいえ | 追加の背景情報または推奨される対応 |
entity.get
名前または ID を指定して、名前付きの脅威インテリジェンスエンティティ(脅威アクター、マルウェア、キャンペーン、CVE、手法)を取得します。
使用する場合:「APT28 について教えてください」/「LockBit について何がわかっていますか?」
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
query | string | はい | エンティティ名または数値の OPTIX ID |
entity_type | string | いいえ | ThreatActor、MalwareFamily、Tool、Campaign、Vulnerability、Technique |
account.status
現在の OPTIX クレジット残高、月間割り当て、使用状況、リセット日、アカウント情報を返します。
**使用する場合:**クレジットを消費する操作の前、またはアナリストから「クレジットはいくつ残っていますか?」と聞かれた場合。
パラメーターは不要です。
document.get
数値の OPTIX ID を指定して、特定のインテリジェンス文書を取得します。
**使用する場合:**別のツールから文書 ID を取得し、詳細なメタデータと概要が必要な場合。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
document_id | integer | はい | 数値の文書 ID(例:1042) |
search.documents
すべての OPTIX インテリジェンス文書を対象に全文検索します。
使用する場合:「サプライチェーン攻撃に関する文書を探してください」/「今週の Mandiant のレポートを表示してください。」
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
query | string | はい | 検索文字列(2 文字以上) |
limit | integer | いいえ | 結果の最大数(1–100、デフォルトは 20) |
offset | integer | いいえ | ページネーションのためにスキップする結果数 |
publisher | string | いいえ | 発行元名で絞り込み |
content_type | string | いいえ | コンテンツタイプで絞り込み:ThreatResearch、MalwareAnalysis、Vulnerability など |
since | string | いいえ | ISO 8601 日時 — この時刻より後に公開された文書のみを返します |
report.list
OPTIX に保存されている生成済みのインテリジェンスレポート(戦術、戦略、運用、技術、RFI)を一覧表示します。
使用する場合:「これまでに作成したインテリジェンスレポートは何ですか?」/「すべての RFI レポートを表示してください。」
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | No | レポートの最大数(1–200、デフォルトは 20) |
report_type | string | No | tactical、strategic、technical、operational、rfi |
tlp_level | string | No | TLP レベルで絞り込みます |
entity_id | integer | No | このエンティティに言及しているレポートに絞り込みます |
report.get
指定したインテリジェンスレポートの全内容を取得します。
使用する場合: report.list の後、レポートの全文を取得するとき。
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id | integer | Yes | 数値のレポート識別子 |
detection.attack_matrix
OPTIX の MITRE ATT&CK カバレッジマトリクスを取得します。インテリジェンスデータで観測されたテクニックと、検知ルールがあるテクニックを確認できます。
使用する場合:「どの ATT&CK テクニックが確認されていますか?」/「T1566 の検知カバレッジはありますか?」
| Parameter | Type | Required | Description |
|---|---|---|---|
technique_id | string | No | 特定の ATT&CK ID(例:T1566)。マトリクス全体を取得する場合は省略します。 |
watchlist.list
アナリストの OPTIX ウォッチリストに登録されているすべてのエンティティを一覧表示します。
使用する場合:「どのエンティティを監視していますか?」/「ウォッチリストを表示してください。」
パラメーターは不要です。
watchlist.add
新しいインテリジェンスで言及されたときに通知を受け取れるよう、エンティティをアナリストのウォッチリストに追加します。
使用する場合:「APT29 の監視を開始して」(最初に entity.get でエンティティ ID を取得してください)。
| Parameter | Type | Required | Description |
|---|---|---|---|
entity_id | integer | Yes | 数値の OPTIX エンティティ ID |
watchlist.remove
アナリストのウォッチリストからエンティティを削除します。
使用する場合:「LockBit の監視を停止して。」
| Parameter | Type | Required | Description |
|---|---|---|---|
entity_id | integer | Yes | 数値の OPTIX エンティティ ID |
feed.headlines
現在最も活発な脅威を要約した、AI が合成した脅威インテリジェンスの見出しを返します。
使用する場合:「現在、脅威の状況に何が起きていますか?」/「ブリーフィングをお願いします。」
パラメーターは不要です。
feed.cards
プロファイルに合致する状況認識用の脅威カードを返します。観測された TTP と標的となったセクターを含む、活動中の脅威が表示されます。
使用する場合:「当社に最も関連する脅威は何ですか?」/「過去 30 日間の脅威カードを表示してください。」
| Parameter | Type | Required | Description |
|---|---|---|---|
time_range | string | No | 24h、7d(デフォルト)、または 30d |
sector | string | No | セクターで絞り込みます。例:Finance、Healthcare |
ioc.context
IOC に関する充実したコミュニティコンテキストを返します。アナリストの投票集計、同時に出現する脅威アクターとマルウェア、ATT&CK テクニック、ソース文書が含まれます。
使用する場合:「この IP についてアナリストはどう考えていますか?」/「このドメインは悪意があると確認されていますか?」
| Parameter | Type | Required | Description |
|---|---|---|---|
ioc_id | integer | Yes | IOC の数値 OPTIX エンティティ ID(search.indicator で検索してください) |
detection.coverage_gaps
インテリジェンス文書を分析し、文書内で言及されている MITRE ATT&CK テクニックを特定したうえで、検知カバレッジが不足しているテクニックを判定します。
使用する場合:「このレポートに記載されたテクニックを、当社の検知スタックでカバーできていますか?」/「この文書からわかるカバレッジの不足箇所は何ですか?」
| Parameter | Type | Required | Description |
|---|---|---|---|
document_id | integer | Yes | 数値の OPTIX 文書 ID |
search.ai
AI によるクエリ拡張を任意で利用し、OPTIX のドキュメントやエンティティを自然言語またはキーワードで検索します。
使用する場面:「LockBit の最近の TTP をすべて見つけて」/「Volt Typhoon を検索して」。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
query | string | はい | 自然言語の質問またはキーワード(2 文字以上) |
mode | string | いいえ | natural(AI で拡張、デフォルト)または keyword(完全一致) |
entity.research ⚡ 15 クレジット
エンティティに対する詳細な AI 調査を開始します。OPTIX が信頼できる情報源をクロールし、構造化されたインテリジェンスを用いてエンティティのプロフィールを充実させます。
使用する場面:「APT29 を詳しく調査して」/「LockBit の最新情報を調査して」。
対応するエンティティタイプ:ThreatActor、MalwareFamily、Vulnerability、Tool、Campaign、Technique。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
entity_id | integer | はい | OPTIX の数値エンティティ ID |
force_refresh | boolean | いいえ | 最近の調査結果がある場合でも、新しい調査を強制します(デフォルトは false) |
entity.ask ⚡ 4 クレジット
エンティティの既知の TTP、IOC、インテリジェンス履歴を用いて、特定のエンティティ向けの SIEM 脅威ハンティングクエリを生成します。
使用する場面:「APT28 向けの KQL ハントを生成して」/「LockBit を検出する Sigma ルールを書いて」。
対応するエンティティタイプ:ThreatActor、MalwareFamily、Tool、Vulnerability。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
entity_id | integer | はい | OPTIX の数値エンティティ ID |
language | string | はい | SIEM 言語:kql、splunk_spl、s1ql_v1、s1ql_v2、crowdstrike、elastic_eql、exabeam、chronicle_yara_l、sigma、carbon_black、palo_alto_xql |
detection.rule ⚡ 4 クレジット
特定の MITRE ATT&CK 手法向けの SIEM 検出ルールを生成します。
使用する場面:「T1059.001 向けの Splunk 検出ルールを書いて」/「PowerShell の悪用を検出する KQL ルールを作成して」。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
technique_id | string | はい | MITRE ATT&CK の手法 ID(例:T1059.001) |
language | string | はい | 対象となる SIEM 言語(上記の一覧を参照) |
technique_name | string | いいえ | 人間が読みやすい名称(例:PowerShell) |
document_id | integer | いいえ | 特定のドキュメントのコンテキストをルールに追加します |
entity_id | integer | いいえ | 特定のエンティティのコンテキストをルールに追加します |
custom_context | string | いいえ | アナリストが追加するコンテキスト(ログソース、環境) |
detection.tradecraft ⚡ 4 クレジット
脅威アクターまたはマルウェアファミリーの既知のトレードクラフト全体を対象とする、幅広い SIEM ハンティングクエリを生成します。
使用する場面:「Sentinel で APT29 の複数手法を対象とするハントを生成して」/「Volt Typhoon 向けの包括的な Sigma ルールセットを書いて」。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
language | string | はい | 対象となる SIEM 言語(上記の一覧を参照) |
entity_name | string | はい | 脅威アクターまたはマルウェアの名称(例:APT29) |
entity_type | string | はい | ThreatActor または MalwareFamily |
entity_id | integer | いいえ | クエリに情報を追加する OPTIX エンティティ ID |
technique_entries | array | いいえ | ハント対象を絞り込む任意の {techniqueId, techniqueName, description} のリスト |
report.generate ⚡ 40 クレジット
OPTIX のドキュメントおよびエンティティのコーパスを用いて、戦略、運用、技術、または RFI に関するインテリジェンスレポートを生成します。
使用する場面:「ランサムウェアの脅威状況に関する戦略レポートを書いて」/「APT40 に関する RFI を生成して」。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
title | string | はい | レポートのタイトル(3~300 文字) |
query | string | はい | レポートのトピックを自然言語で説明したもの |
report_type | string | いいえ | tactical(デフォルト)、strategic、technical、operational、rfi |
tlp | string | いいえ | TLP 分類(デフォルトは TLP:GREEN) |
feedback.vote
OPTIX のインテリジェンスドキュメントに関連性の投票(賛成票または反対票)を送信します。コミュニティの投票によって OPTIX のスコアリングが改善され、フィードのパーソナライズに反映されます。
使用する場面:「このドキュメントに賛成票を入れてください。非常に関連性があります」/「これは反対票を入れてください。当組織には該当しません」
| Parameter | Type | Required | Description |
|---|---|---|---|
document_id | integer | Yes | 数値形式の OPTIX ドキュメント ID |
vote | string | Yes | up または down |
scope | string | No | platform(すべてのアナリスト。デフォルト)または org(自組織のみ) |
feed.save_view
名前付きのフィードフィルター設定を保存し、アナリストが後で呼び出せるようにします。
使用する場面:「このフィルターを『今週の重大なマルウェア』という名前で保存してください」/「現在のビューをブックマークしてください」
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | ビュー名(1~200 文字) |
filters | object | No | フィルター設定。一般的なキー:severity、tlp、contentType、publisher、publishedAfter |
ioc.triage
1 つ以上の IOC にトリアージ判定を適用し、その処置に関するアナリストの判断を記録します。
使用する場面:「これらの IP を悪意ありと確認済みにしてください」/「このドメインを誤検知としてフラグ付けしてください」
| Parameter | Type | Required | Description |
|---|---|---|---|
entity_ids | integer[] | Yes | OPTIX IOC エンティティ ID のリスト(search.indicator で検索) |
status | string | Yes | confirmed、false_positive、benign、expired、monitoring、または unresolved |
scope | string | No | platform(グローバルな判定。デフォルト)または org(組織に限定した判定) |
actor.profile
脅威アクターの詳細で読みやすいプロフィールを、1 回の呼び出しで返します。基本情報を得るための追加呼び出しは不要です。アクター名と既知の別名を受け付け、正規エンティティ名に自動的に解決します。
使用する場面:「APT28 について教えてください」/「Fancy Bear について何がわかっていますか?」/「Lazarus Group のプロフィールを教えてください」
応答には、アクターのプロフィールと説明、既知のすべての別名、戦術名付きの ATT&CK テクニック、種類別(IP、ドメイン、ハッシュ、URL)に分類された IOC、関連するマルウェアファミリー、関連するインテリジェンスレポートの件数、さらに該当する場合は最新レポートの概要が含まれます。その後に詳細な AI 調査を実行するには、entity.research(15 クレジット)を使用してください。SIEM ハンティングクエリを生成するには、entity.ask(4 クレジット)を使用してください。
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name | string | Yes | 脅威アクターの名前または既知の別名(例:APT29、Fancy Bear、LockBit)。大文字と小文字は区別されません。 |
actor.list
OPTIX で現在ワークスペースが追跡しているすべての脅威アクターを、正規名、既知の別名、種類、信頼度、初回および最終確認日とともに一覧表示します。特定のプロフィールを actor.profile で詳しく調べる前に、アクターの全リストを確認するために使用してください。
使用する場面:「どのアクターを追跡していますか?」/「どの脅威グループのインテリジェンスがありますか?」
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | No | 結果数の上限(任意)。追跡中のアクターをすべて取得する場合は省略します。 |
Glama レジストリの検査
OPTIX MCP サーバーが Glama に登録されている場合、レジストリは Docker イメージをビルドし、サーバーに接続して利用可能なツールを検出します。Glama には実際の OPTIX API キーがないため、認証を一時的にバイパスする必要があります。
Glama サーバーの設定で、Placeholder parameters フィールドに次を設定します。
{"OPTIX_SKIP_AUTH": "true"}
OPTIX_SKIP_AUTH=true の場合、サーバーは通常どおり起動し、認証されていない MCP セッションでのツール一覧表示を受け付けます。実際の API キーがないため、ツールの実行では引き続き適切なエラーが返されます。成功するのは list_tools() のみですが、ツールの品質を評価する Glama にとってはそれで十分です。
OPTIX_SKIP_AUTH のデフォルト値が false となる通常のデプロイでは、このフラグの影響はありません。
ヘルスエンドポイント
認証なしでサービスの状態を返します。
{
"status": "ok",
"version": "1.0.0",
"optix_connected": true,
"optix_url": "https://your-optix-instance.example.com",
"timestamp": "2024-04-19T12:00:00Z"
}
optix_connected が false の場合、ステータスは degraded となり、OPTIX バックエンドに接続できるまでツール呼び出しは失敗します。
エラー処理
すべてのツールは、AI クライアントに例外を送出するのではなく、構造化されたエラーメッセージを返します。
| エラーの種類 | 原因 | 対応 |
|---|---|---|
Authentication error | API キーが無効または指定されていない | OPTIX API キーを確認するようユーザーに促します |
Insufficient credits | 残高が操作のコストを下回っている | account.status を呼び出し、リセット日まで待ちます |
Not found | エンティティ、ドキュメント、またはレポートが存在しない | ID または名前を確認して、もう一度お試しください |
OPTIX API error | バックエンドエラーまたは検証エラー | 診断用に元の OPTIX エラーメッセージが含まれます |
Validation error | ツールのパラメーターが無効 | 呼び出しを修正するためのフィールド単位の詳細が含まれます |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。