IntuneRosetta mcp
A. 模型上下文协议(MCP) 服务器 将原始OMA-URI/CSP路径字符串转换为结构化、人类可读的Intune策略元数据 --搜索800多个预构建的策略记录,并将人类可读的名称解析为CSP密钥,所有这些都可以通过您的AI助手完成。
快速开始
无需本地安装。使用 npx 按需运行服务器:
npx github:UniverseCitiz3n/IntuneRosetta-mcp先决条件: Node.js≥18 git 在PATH环境变量中可用。______________________________________________________________________
在MCP客户端中安装
VS代码(GitHub副本)
一键安装:
| 平台 | VS代码 | VS代码内部人员 |
|---|
或手动添加到 .vscode/mcp.json 在您的工作区中(如果文件不存在,请创建该文件):
{
"servers": {
"intunerosetta": {
"type": "stdio",
"command": "npx",
"args": ["-y", "github:UniverseCitiz3n/IntuneRosetta-mcp"]
}
}
}克劳德桌面
编辑您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"intunerosetta": {
"command": "npx",
"args": ["-y", "github:UniverseCitiz3n/IntuneRosetta-mcp"]
}
}
}克劳德代码
添加到您的项目 mcp.json 文件:
{
"mcpServers": {
"intunerosetta": {
"command": "npx",
"args": ["-y", "github:UniverseCitiz3n/IntuneRosetta-mcp"]
}
}
}GitHub Copilot编码代理(存储库设置)
在您的存储库中 设置→ 副驾驶→ MCP服务器,添加:
{
"mcpServers": {
"intunerosetta": {
"type": "local",
"command": "npx",
"args": ["-y", "github:UniverseCitiz3n/IntuneRosetta-mcp"],
"tools": ["*"]
}
}
}______________________________________________________________________
可用工具
| 工具 | 输入 | 描述 |
|---|---|---|
translate_csp_key | key (string) | 将原始下划线分隔的OMA-URI/CSP路径字符串转换为结构化、人类可读的策略元数据 |
batch_translate | keys (string\[\]) | 在一次调用中转换CSP路径字符串数组 |
search_policy | query (字符串), limit (数字,可选) | 按名称、描述、类别或CSP路径片段在策略数据库中进行模糊关键字搜索 |
resolve_to_csp | query (字符串), limit (数字,可选) | 将人类可读的策略名称或关键字解析为匹配的CSP密钥和完整元数据 |
extract_and_translate | text (string) | 从自由文本块(事件查看器XML、MDM诊断输出、JSON导出、日志文件)中提取所有OMA-URI/CSP路径,并翻译每个路径。返回已解析的策略元数据和未识别的路径列表 |
suggest_policy | goal (字符串), context (字符串,可选), limit (数字,可选) | 给定一个简单的英文安全或配置目标,返回与推荐的生产值和推理相匹配的CSP策略 |
refresh_kb | force (布尔值,可选) | 通过使用所有预定义的搜索词查询msgraph KB来重建本地KB。需要 MSGRAPH_KB_COMMAND 待设置 |
______________________________________________________________________
示例用法
翻译原始CSP密钥
translate_csp_key("device_vendor_msft_policy_config_defender_attacksurfacereductionrules_blockexecutionofpotentiallyobfuscatedscripts_2")退货:
{
"name": "Block execution of potentially obfuscated scripts",
"description": "This rule detects suspicious properties within an obfuscated script.",
"value": "2",
"csp_path": "./Device/Vendor/MSFT/Policy/Config/Defender/AttackSurfaceReductionRules",
"category": "Defender ASR",
"docs_url": "https://learn.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction"
}按关键字搜索策略
search_policy("bitlocker startup authentication")将人类可读的名称解析为CSP密钥
resolve_to_csp("block obfuscated scripts")______________________________________________________________________
msgraph-kb集成(可选)
IntuneRosetta可以连接到 msgraph-kb MCP服务器 用实时的Microsoft Graph API元数据丰富其本地知识库。
设置以下环境变量以启用此集成:
| 变量 | 描述 | 示例 |
|---|---|---|
MSGRAPH_KB_COMMAND | 用于启动msgraph-kb服务器的可执行文件 | node 或 npx |
MSGRAPH_KB_ARGS | 传递给命令的参数以空格分隔 | /path/to/msgraph-kb/dist/index.js |
当 MSGRAPH_KB_COMMAND 设置后,IntuneRosetta在启动时自动在后台查询msgraph-kb,并填充本地数据库中任何缺失的记录。您还可以随时使用以下命令触发手动刷新 refresh_kb 工具。
示例——带有msgraph-kb集成的VS代码:
{
"servers": {
"intunerosetta": {
"type": "stdio",
"command": "npx",
"args": ["-y", "github:UniverseCitiz3n/IntuneRosetta-mcp"],
"env": {
"MSGRAPH_KB_COMMAND": "npx",
"MSGRAPH_KB_ARGS": "-y github:UniverseCitiz3n/msgraph-kb-mcp"
}
}
}
}______________________________________________________________________
本地开发
克隆仓库,安装依赖项,然后构建:
git clone https://github.com/UniverseCitiz3n/IntuneRosetta-mcp.git
cd IntuneRosetta-mcp
npm install
npm run build
node dist/index.js将任何MCP客户端指向构建的二进制文件:
{
"mcpServers": {
"intunerosetta": {
"command": "node",
"args": ["/absolute/path/to/IntuneRosetta-mcp/dist/index.js"]
}
}
}运行测试:
npm test______________________________________________________________________
运作原理
启动时,服务器在内存中播种 SQLite数据库 基于预先构建的知识库(db/intune-policies.json,涵盖Windows、Linux和Apple ADE的800多条记录),并在上面应用一组手工策划的种子记录。记录包括:
normalized_key--下划线分隔的CSP路径(小写,device_vendor_msft_去掉前缀)name/description--人类可读的标签和解释csp_path--典型的oma-uri路径(例如。./Device/Vendor/MSFT/Policy/Config/Defender/AttackSurfaceReductionRules)category--政策领域(例如。Defender ASR,BitLocker,LAPS)docs_url--链接到Microsoft文档value_map--原始整数值到人类可读标签的映射(例如。{"0":"Disabled","1":"Block","2":"Audit"})
当一 translate_csp_key 或 search_policy 调用到达后,服务器在SQLite中查找规范化密钥,附加解码值标签,并返回结构化 PolicyMetadata.
如果 MSGRAPH_KB_COMMAND 配置后,后台KB构建会查询 msgraph-kb MCP服务器 具有20个预定义的与Intune相关的搜索词,并将任何新结果添加到本地数据库中-Graph API端点无需手动管理。
______________________________________________________________________
为DB做出贡献
预先构建的知识库存在于 db/intune-policies.json如果你知道 对于丢失或不正确的保单记录,您可以通过拉取来提供 请求--请参阅 db/贡献.md 完全 指令、字段定义和验证规则。
简言之:
- 复制
db/contribution-template.json→db/contributions/.json - 填写您的记录(必填:
normalized_key,name,csp_path,category) - 跑
node scripts/validate-contributions.js本地检查错误 - 打开PR--CI会自动验证文件
______________________________________________________________________
许可证
ISC
