IntuneRosetta-mcp

IntuneRosetta-mcp

Translates raw OMA-URI/CSP path strings into structured, human-readable Intune policy metadata, and enables search and resolution of policy names to CSP keys.

Category
访问服务器

README

IntuneRosetta-mcp

A Model Context Protocol (MCP) server that translates raw OMA-URI / CSP path strings into structured, human-readable Intune policy metadata — search 800+ pre-built policy records and resolve human-readable names to CSP keys, all from your AI assistant.

Quick start

No local installation required. Use npx to run the server on-demand:

npx github:UniverseCitiz3n/IntuneRosetta-mcp

Prerequisites: Node.js ≥ 18 and git available on your PATH environment variable.


Install in your MCP client

VS Code (GitHub Copilot)

Install with one click:

Platform VS Code VS Code Insiders
macOS / Linux Install in VS Code Install in VS Code Insiders
Windows Install in VS Code Install in VS Code Insiders

Or add manually to .vscode/mcp.json in your workspace (create the file if it doesn't exist):

{
  "servers": {
    "intunerosetta": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "github:UniverseCitiz3n/IntuneRosetta-mcp"]
    }
  }
}

Claude Desktop

Edit your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "intunerosetta": {
      "command": "npx",
      "args": ["-y", "github:UniverseCitiz3n/IntuneRosetta-mcp"]
    }
  }
}

Claude Code

Add to your project's mcp.json file:

{
  "mcpServers": {
    "intunerosetta": {
      "command": "npx",
      "args": ["-y", "github:UniverseCitiz3n/IntuneRosetta-mcp"]
    }
  }
}

GitHub Copilot Coding Agent (repository settings)

In your repository's Settings → Copilot → MCP servers, add:

{
  "mcpServers": {
    "intunerosetta": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "github:UniverseCitiz3n/IntuneRosetta-mcp"],
      "tools": ["*"]
    }
  }
}

Available tools

Tool Input Description
translate_csp_key key (string) Translates a raw underscore-delimited OMA-URI / CSP path string into structured, human-readable policy metadata
batch_translate keys (string[]) Translates an array of CSP path strings in one call
search_policy query (string), limit (number, optional) Fuzzy keyword search across the policy database by name, description, category, or CSP path fragment
resolve_to_csp query (string), limit (number, optional) Resolves a human-readable policy name or keyword to matching CSP key(s) and full metadata
extract_and_translate text (string) Extracts all OMA-URI/CSP paths from a block of freeform text (Event Viewer XML, MDM diagnostic output, JSON exports, log files) and translates each one. Returns resolved policy metadata and a list of unrecognised paths
suggest_policy goal (string), context (string, optional), limit (number, optional) Given a plain-English security or configuration goal, returns matching CSP policies with recommended production values and reasoning
refresh_kb force (boolean, optional) Rebuilds the local KB by querying msgraph-kb with all predefined search terms. Requires MSGRAPH_KB_COMMAND to be set

Example usage

Translate a raw CSP key

translate_csp_key("device_vendor_msft_policy_config_defender_attacksurfacereductionrules_blockexecutionofpotentiallyobfuscatedscripts_2")

Returns:

{
  "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 for a policy by keyword

search_policy("bitlocker startup authentication")

Resolve a human-readable name to CSP key

resolve_to_csp("block obfuscated scripts")

msgraph-kb integration (optional)

IntuneRosetta can connect to the msgraph-kb MCP server to enrich its local knowledge base with live Microsoft Graph API metadata.

Set the following environment variables to enable this integration:

Variable Description Example
MSGRAPH_KB_COMMAND Executable used to launch the msgraph-kb server node or npx
MSGRAPH_KB_ARGS Space-separated arguments passed to the command /path/to/msgraph-kb/dist/index.js

When MSGRAPH_KB_COMMAND is set, IntuneRosetta automatically queries msgraph-kb in the background at startup and populates any missing records in the local database. You can also trigger a manual refresh at any time with the refresh_kb tool.

Example — VS Code with msgraph-kb integration:

{
  "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"
      }
    }
  }
}

Local development

Clone the repo, install dependencies, and build:

git clone https://github.com/UniverseCitiz3n/IntuneRosetta-mcp.git
cd IntuneRosetta-mcp
npm install
npm run build
node dist/index.js

Point any MCP client at the built binary:

{
  "mcpServers": {
    "intunerosetta": {
      "command": "node",
      "args": ["/absolute/path/to/IntuneRosetta-mcp/dist/index.js"]
    }
  }
}

Run tests:

npm test

How it works

At startup the server seeds an in-memory SQLite database from a pre-built knowledge base (db/intune-policies.json, 800+ records covering Windows, Linux, and Apple ADE) and applies a set of hand-curated seed records on top. Records include:

  • normalized_key — underscore-delimited CSP path (lowercase, device_vendor_msft_ prefix stripped)
  • name / description — human-readable label and explanation
  • csp_path — canonical OMA-URI path (e.g. ./Device/Vendor/MSFT/Policy/Config/Defender/AttackSurfaceReductionRules)
  • category — policy area (e.g. Defender ASR, BitLocker, LAPS)
  • docs_url — link to Microsoft documentation
  • value_map — map of raw integer values to human-readable labels (e.g. {"0":"Disabled","1":"Block","2":"Audit"})

When a translate_csp_key or search_policy call arrives, the server looks up the normalized key in SQLite, attaches the decoded value label, and returns structured PolicyMetadata.

If MSGRAPH_KB_COMMAND is configured, a background KB build queries the msgraph-kb MCP server with 20 predefined Intune-related search terms and upserts any new results into the local database — no manual curation required for Graph API endpoints.


Contributing to the DB

The pre-built knowledge base lives in db/intune-policies.json. If you know of a missing or incorrect policy record you can contribute it via a pull request — see db/CONTRIBUTING.md for full instructions, field definitions, and validation rules.

In short:

  1. Copy db/contribution-template.jsondb/contributions/<your-file>.json
  2. Fill in your records (required: normalized_key, name, csp_path, category)
  3. Run node scripts/validate-contributions.js locally to check for errors
  4. Open a PR — CI validates the file automatically

License

ISC

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选