Osim Mcp Server について
OSIM MCP Server は、セキュリティアプリケーションや開発者向けに Open Security Information Model のスキーマデータを提供します。スキーマの検索、説明、定義、バージョン情報、辞書を扱うツールを備えています。
主な機能
- 01利用可能なスキーマ名の一覧表示
- 02スキーマの説明と定義の取得
- 03スキーマバージョン情報の確認
- 04OSIM 辞書へのアクセス
- 05リソースとしてスキーマファイルを読み取り
活用シーン
- 01セキュリティデータ型に対応するスキーマの検索
- 02連携実装前のフィールド定義の確認
- 03ローカルのスキーマバージョンの確認
- 04共通辞書項目の取得
MCP 対応
OSIM スキーマを検索するツールと、スキーマファイルを MCP リソースとして公開します。MCP クライアントは名前の一覧、説明や定義、辞書、バージョン情報を取得できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
OSIM MCP Server
FastMCP ベースの Model Context Protocol(MCP)サーバーです。OSIM(Open Security Information Model)データ標準の schema を照会、参照できます。
🚀 クイックスタート
uvx を使用する(推奨、インストール不要)
パッケージは PyPI に公開されているため、uvx で直接実行できます。
uvx osim-mcp-server
MCP クライアントでの設定
Claude Desktop
設定ファイル(~/Library/Application Support/Claude/claude_desktop_config.json)に追加します。
{
"mcpServers": {
"osim-mcp-server": {
"command": "uvx",
"args": ["osim-mcp-server"]
}
}
}
Cursor
MCP 設定に追加します。
{
"mcpServers": {
"osim-mcp-server": {
"command": "uvx",
"args": ["osim-mcp-server"]
}
}
}
ソースから実行する
# 克隆仓库
git clone https://github.com/osim-group/osim-mcp-server.git
cd osim-mcp-server
# 首先获取 osim-schema(必需)
# 确保已安装 git
python update_schemas.py
# 安装依赖并运行
uv sync
uv run python server.py
重要:リポジトリには osim-schema ディレクトリが含まれていません。正常に実行するには、まず
update_schemas.pyを実行して osim-schema リポジトリの内容を取得してください。
OSIM Schema を更新する
プロジェクト内の osim-schema の内容は、OSIM Schema リポジトリに由来します。最新の内容を取得または更新するには、プロジェクトが提供する更新スクリプトを使用できます。
# 确保已安装 git
python update_schemas.py
スクリプトは自動的に以下を実行します。
- GitHub リポジトリから osim-schema リポジトリ全体(schemas、faqs、examples などを含む)をクローンします
- 既存の osim-schema ディレクトリがある場合はバックアップします
- ローカルの osim-schema ディレクトリを更新します
- 更新結果を検証します
注意:更新スクリプトを実行するには、システムに git コマンドがインストールされている必要があります。
📚 機能
MCP ツール
-
list_schema_names- 利用可能なすべてのデータ標準 schema 名を一覧表示します- パラメーター:なし
- 戻り値:
List[str]- schema 名の一覧。形式は{group}.{category}.{title}です - 例:
["log.network_session_audit.http_audit", "alert.network_attack.apt_attack"] - 説明:コンテキストが長くなりすぎるのを防ぐため、このツールは名前のみを返し、説明情報は含みません
-
describe_schemas- 指定した schema の説明情報を取得します- パラメーター:
schema_names(List[str]) - schema 名の一覧 - 戻り値:
Dict[str, str]- キーが schema 名、値が説明情報の辞書 - 説明:どの schema を使用すべきかを把握するのに役立ちます
- パラメーター:
-
get_schema- 指定した schema の完全なフィールド定義を取得します- パラメーター:
schema_path(str) - schema のパス。形式は{group}.{category}.{title}です - 戻り値:
Dict[str, Any]- フィールド名、ラベル、型、必須要件、説明などの情報を含むフィールド定義の辞書 - 説明:利用可能なすべての schema 名は
list_schema_namesから取得できます
- パラメーター:
-
get_schema_version- 現在の schemas のバージョン情報を取得します- パラメーター:なし
- 戻り値:
Dict[str, Any]- 以下のフィールドを含みます。version(str) - ローカルのバージョン番号auto_update_enabled(bool) - 自動更新が有効かどうかupdate_timeout(float) - 更新チェックのタイムアウト時間(秒)
-
get_dictionaries- dictionaries.json ファイルの内容を取得します- パラメーター:なし
- 戻り値:
Dict[str, Any]- OSIM データ標準で定義された辞書項目 - 説明:フィールド名、ラベル、説明、型などの情報を含みます。これらの辞書項目は、データ標準で使用される共通フィールドの定義です
MCP リソース
リソース URI を使用して schema ファイルの内容にアクセスします。
- URI 形式:
data-standard://{group}/{category}/{title} - 例:
data-standard://log/network_session_audit/http_auditdata-standard://alert/network_attack/apt_attackdata-standard://asset/business_asset/web_application
📊 データ標準の分類
このプロジェクトは、以下を含む OSIM データ標準を完全にサポートしています。
- アラート(Alert):異常な動作、データセキュリティ、マルウェア、ネットワーク攻撃など
- アセット(Asset):ビジネスアセット、クラウドアセット、データアセット、ネットワークアセットなど
- ログ(Log):アカウント操作監査、データセキュリティ監査、ホスト動作監査、ネットワークセッション監査など
- インシデント(Incident):セキュリティインシデントの記録と分類
- デバイス検知(Device Detection):EDR、ファイアウォール、WAF、IDS/IPS など、各種セキュリティデバイス
データソース:すべての schema ファイルはOSIM Schema リポジトリに由来します。
🛠️ 開発
OSIM Schema の取得/更新
プロジェクトには、GitHub リポジトリから osim-schema リポジトリ全体を同期するスクリプトが用意されています。
python update_schemas.py
注意:配布パッケージをビルドする前に、osim-schema を取得する必要があります。配布パッケージには osim-schema ディレクトリを含める必要があるためです。
配布パッケージのビルド
# 确保已获取 osim-schema
python update_schemas.py
# 构建分发包
uv build
PyPI への公開
# 安装 twine
uv pip install twine
# 上传到 PyPI
uv run twine upload dist/*
公開後は uvx osim-mcp-server で使用できます。
📝 ライセンス
Apache License 2.0
🙏 謝辞
- FastMCP - MCP サーバーのフレームワーク
- Model Context Protocol - MCP プロトコルの仕様
- OSIM Schema リポジトリ - データ標準 schema ファイルのリソース
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。