[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"markdown-content-mcp-server-usage":3},"# OSIM MCP Server\n\n[![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/)\n[![FastMCP](https://img.shields.io/badge/FastMCP-2.0+-green.svg)](https://github.com/jlowin/fastmcp)\n\n基于 FastMCP 的 Model Context Protocol (MCP) 服务器，提供 OSIM (Open Security Information Model) 数据标准 schema 的查询和访问能力。\n\n## 🚀 快速开始\n\n### 使用 uvx（推荐，无需安装）\n\n包已发布到 PyPI，可以直接使用 `uvx` 运行：\n\n```bash\nuvx osim-mcp-server\n```\n\n### 在 MCP 客户端中配置\n\n#### Claude Desktop\n\n在配置文件（`~/Library/Application Support/Claude/claude_desktop_config.json`）中添加：\n\n```json\n{\n  \"mcpServers\": {\n    \"osim-mcp-server\": {\n      \"command\": \"uvx\",\n      \"args\": [\"osim-mcp-server\"]\n    }\n  }\n}\n```\n\n#### Cursor\n\n在 MCP 设置中添加：\n\n```json\n{\n  \"mcpServers\": {\n    \"osim-mcp-server\": {\n      \"command\": \"uvx\",\n      \"args\": [\"osim-mcp-server\"]\n    }\n  }\n}\n```\n\n### 从源码运行\n\n```bash\n# 克隆仓库\ngit clone https://github.com/osim-group/osim-mcp-server.git\ncd osim-mcp-server\n\n# 首先获取 osim-schema（必需）\n# 确保已安装 git\npython update_schemas.py\n\n# 安装依赖并运行\nuv sync\nuv run python server.py\n```\n\n> **重要**：仓库本身不包含 osim-schema 目录，需要先运行 `update_schemas.py` 获取 osim-schema 仓库内容才能正常运行。\n\n### 更新 OSIM Schema\n\n项目中的 osim-schema 内容来源于 [OSIM Schema 仓库](https://github.com/osim-group/osim-schema)。如果需要获取或更新最新的内容，可以使用项目提供的更新脚本：\n\n```bash\n# 确保已安装 git\npython update_schemas.py\n```\n\n脚本会自动：\n- 从 GitHub 仓库克隆整个 osim-schema 仓库（包括 schemas、faqs、examples 等）\n- 备份现有的 osim-schema 目录（如果存在）\n- 更新本地 osim-schema 目录\n- 验证更新结果\n\n> **注意**：更新脚本需要系统已安装 git 命令。\n\n## 📚 功能特性\n\n### MCP 工具\n\n1. **`list_schema_names`** - 列出所有可用的数据标准 schema 名称\n   - 参数：无\n   - 返回：`List[str]` - schema 名称列表，格式为 `{group}.{category}.{title}`\n   - 示例：`[\"log.network_session_audit.http_audit\", \"alert.network_attack.apt_attack\"]`\n   - 说明：为了避免上下文过长，此工具只返回名称，不包含描述信息\n\n2. **`describe_schemas`** - 获取指定 schema 的描述信息\n   - 参数：`schema_names` (List[str]) - schema 名称列表\n   - 返回：`Dict[str, str]` - 字典，键为 schema 名称，值为描述信息\n   - 说明：方便理解应该使用哪个 schema\n\n3. **`get_schema`** - 获取指定 schema 的完整字段定义\n   - 参数：`schema_path` (str) - schema 路径，格式为 `{group}.{category}.{title}`\n   - 返回：`Dict[str, Any]` - 字段定义字典，包含字段名、标签、类型、要求、描述等信息\n   - 说明：可以从 `list_schema_names` 中获取所有可用的 schema 名称\n\n4. **`get_schema_version`** - 获取当前 schemas 的版本信息\n   - 参数：无\n   - 返回：`Dict[str, Any]` - 包含以下字段：\n     - `version` (str) - 本地版本号\n     - `auto_update_enabled` (bool) - 是否启用自动更新\n     - `update_timeout` (float) - 更新检查超时时间（秒）\n\n5. **`get_dictionaries`** - 获取 dictionaries.json 文件内容\n   - 参数：无\n   - 返回：`Dict[str, Any]` - OSIM 数据标准中定义的字典项\n   - 说明：包含字段名、标签、描述、类型等信息，这些字典项定义了数据标准中使用的通用字段定义\n\n### MCP 资源\n\n通过资源 URI 访问 schema 文件内容：\n\n- **URI 格式**：`data-standard://{group}/{category}/{title}`\n- **示例**：\n  - `data-standard://log/network_session_audit/http_audit`\n  - `data-standard://alert/network_attack/apt_attack`\n  - `data-standard://asset/business_asset/web_application`\n\n## 📊 数据标准分类\n\n项目提供完整的 OSIM 数据标准支持，包括：\n\n- **告警 (Alert)**：异常行为、数据安全、恶意软件、网络攻击等\n- **资产 (Asset)**：业务资产、云资产、数据资产、网络资产等\n- **日志 (Log)**：账户操作审计、数据安全审计、主机行为审计、网络会话审计等\n- **事件 (Incident)**：安全事件记录和分类\n- **设备检测 (Device Detection)**：EDR、防火墙、WAF、IDS/IPS 等各类安全设备\n\n> **数据来源**：所有 schema 文件均来源于 [OSIM Schema 仓库](https://github.com/osim-group/osim-schema/tree/main/schemas)\n\n## 🛠️ 开发\n\n### 获取/更新 OSIM Schema\n\n项目提供了脚本用于从 GitHub 仓库同步整个 osim-schema 仓库：\n\n```bash\npython update_schemas.py\n```\n\n> **注意**：构建分发包前需要先获取 osim-schema，因为分发包需要包含 osim-schema 目录。\n\n### 构建分发包\n\n```bash\n# 确保已获取 osim-schema\npython update_schemas.py\n\n# 构建分发包\nuv build\n```\n\n### 发布到 PyPI\n\n```bash\n# 安装 twine\nuv pip install twine\n\n# 上传到 PyPI\nuv run twine upload dist/*\n```\n\n发布后即可通过 `uvx osim-mcp-server` 使用。\n\n## 📝 许可证\n\nApache License 2.0\n\n## 🙏 致谢\n\n- [FastMCP](https://github.com/jlowin/fastmcp) - MCP 服务器框架\n- [Model Context Protocol](https://modelcontextprotocol.io/) - MCP 协议规范\n- [OSIM Schema 仓库](https://github.com/osim-group/osim-schema) - 数据标准 schema 文件资源\n",1776855160700]