Jamf Docs MCP Server

Jamf Docs MCP Server

Provides AI assistants with direct access to Jamf official documentation, enabling them to answer Jamf-related questions by searching, retrieving articles, and browsing product documentation.

Category
访问服务器

README

Jamf Docs MCP Server

CI npm version License: MIT

An MCP server that gives AI assistants (Claude, Cursor, etc.) direct access to Jamf official documentation. Ask Jamf-related questions and get answers based on the latest docs from learn.jamf.com.

Supported Products: Jamf Pro, Jamf School, Jamf Connect, Jamf Protect, Jamf Now, Jamf Safe Internet, Jamf Insights, RapidIdentity, Jamf Trust, Jamf Routines, Self Service+, Jamf App Catalog

中文文件

Quick Start

Claude Desktop

Edit claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "jamf-docs": {
      "command": "npx",
      "args": ["-y", "@get-technology-inc/jamf-docs-mcp-server"]
    }
  }
}

Restart Claude Desktop to apply.

Claude Code (CLI)

claude mcp add jamf-docs -- npx -y @get-technology-inc/jamf-docs-mcp-server

Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "jamf-docs": {
      "command": "npx",
      "args": ["-y", "@get-technology-inc/jamf-docs-mcp-server"]
    }
  }
}

Verify Installation

Test with MCP Inspector:

npx @modelcontextprotocol/inspector npx -y @get-technology-inc/jamf-docs-mcp-server

Usage Examples

Once configured, just ask your AI assistant:

  • "How do I configure SSO in Jamf Pro?"
  • "What are the system requirements for Jamf Protect?"
  • "Explain the MDM enrollment process"
  • "What changed in the latest Jamf Connect release notes?"

Available Tools

Tool Description
jamf_docs_list_products List all supported products, topics, and document type filters
jamf_docs_search Search documentation by keyword with filtering and pagination
jamf_docs_get_article Retrieve full content of a specific documentation article
jamf_docs_get_toc Browse the table of contents for a product
jamf_docs_batch_get_articles Fetch multiple articles in one call (up to 10 URLs)
jamf_docs_glossary_lookup Look up Jamf terminology and definitions (fuzzy matching)

jamf_docs_list_products

Returns all available Jamf products and their IDs, available topic filters, and document type filters.

Parameter Type Default Description
language string en-US Documentation language/locale
outputMode "full" | "compact" "full" Detail level of the response
responseFormat "markdown" | "json" "markdown" Output format
maxTokens number (100–20000) 5000 Maximum tokens in response

jamf_docs_search

Searches across all Jamf product documentation.

Parameter Type Default Description
query string (2–200 chars) required Search keywords
product string Filter by product ID (e.g., jamf-pro)
topic string Filter by topic category (e.g., enrollment, security)
docType string Filter by document type: documentation, release-notes, install-guide, technical-paper, configuration-guide, training
version string Filter by version (e.g., "11.5.0")
language string en-US Documentation language/locale
limit number (1–50) 10 Results per page
page number (1–100) 1 Page number for pagination
maxTokens number (100–20000) 5000 Maximum tokens in response
outputMode "full" | "compact" "full" Detail level; use "compact" for token-efficient output
responseFormat "markdown" | "json" "markdown" Output format

jamf_docs_get_article

Fetches and converts a documentation article to clean markdown or JSON.

Parameter Type Default Description
url string required Full URL from docs.jamf.com or learn.jamf.com
section string Extract only a named section (e.g., "Prerequisites")
summaryOnly boolean false Return only article outline — token-efficient way to preview before fetching full content
includeRelated boolean false Include links to related articles
language string en-US Documentation language/locale
maxTokens number (100–20000) 5000 Maximum tokens in response
outputMode "full" | "compact" "full" Detail level; "compact" shows a ~500-token preview with available sections list
responseFormat "markdown" | "json" "markdown" Output format

When content exceeds maxTokens, the tool truncates the response and lists all available sections with their token counts. Use the section parameter on a follow-up call to retrieve a specific part.

jamf_docs_get_toc

Retrieves the navigation structure (table of contents) for a product.

Parameter Type Default Description
product string required Product ID (see supported products below)
version string latest Specific version to fetch
language string en-US Documentation language/locale
page number (1–100) 1 Page number for paginated TOC
maxTokens number (100–20000) 5000 Maximum tokens in response
outputMode "full" | "compact" "full" Use "compact" for a flat list without nested children
responseFormat "markdown" | "json" "markdown" Output format

jamf_docs_batch_get_articles

Fetches multiple documentation articles in a single call. Each URL is fetched concurrently, and invalid domains are reported as per-article errors without failing the entire batch.

Parameter Type Default Description
urls string[] (1–10) required Array of Jamf documentation URLs
concurrency number (1–5) 3 Maximum parallel requests
language string en-US Documentation language/locale
maxTokens number (100–20000) 5000 Total token budget across all articles
outputMode "full" | "compact" "full" Detail level per article
responseFormat "markdown" | "json" "markdown" Output format

jamf_docs_glossary_lookup

Looks up a term in the Jamf official glossary and returns matching definitions using fuzzy matching. Glossary content is currently English-only; non-English language values are accepted but results will be in English.

Parameter Type Default Description
term string (2–100 chars) required Glossary term to look up
product string Filter by product ID
language string en-US Documentation language/locale (glossary is English-only)
maxTokens number (100–50000) 5000 Maximum tokens in response
outputMode "full" | "compact" "full" Detail level
responseFormat "markdown" | "json" "markdown" Output format

MCP Resources

Static and dynamic reference data accessible without tool calls:

Resource URI Description
Products list jamf://products All available Jamf products with IDs and version info (fetched dynamically from API)
Topics list jamf://topics Topic categories for filtering documentation searches
Product TOC jamf://products/{productId}/toc Table of contents for a specific product (template resource)
Product versions jamf://products/{productId}/versions Available documentation versions for a specific product (template resource)

Template resources support tab-completion on productId in compatible clients.

MCP Prompts

Pre-built prompt workflows that guide the AI through multi-step documentation tasks:

jamf_troubleshoot

Guides the AI through a structured troubleshooting workflow: searching for relevant documentation, previewing articles with summaryOnly, then providing a root-cause diagnosis and step-by-step resolution.

Argument Type Description
problem string (required) Description of the issue to troubleshoot
product string (optional) Jamf product ID to scope the search

jamf_setup_guide

Directs the AI to generate a step-by-step setup guide for a Jamf feature, including prerequisites, configuration steps, and verification.

Argument Type Description
feature string (required) The feature or capability to set up
product string (optional) Jamf product ID to scope the search

jamf_compare_versions

Instructs the AI to compare table-of-contents structures and key articles between two product versions, summarizing new features, removed capabilities, and migration considerations.

Argument Type Description
product string (required) Jamf product ID
version_a string (required) First version to compare (e.g., "11.5.0")
version_b string (required) Second version to compare (e.g., "11.12.0")

Supported Products

Product ID Name Description
jamf-pro Jamf Pro Apple device management for enterprise
jamf-school Jamf School Apple device management for education
jamf-connect Jamf Connect Identity and access management
jamf-protect Jamf Protect Endpoint security for Apple
jamf-now Jamf Now Simple Apple device management for small businesses
jamf-safe-internet Jamf Safe Internet Content filtering and web security for education and business
jamf-insights Jamf Insights Analytics and reporting platform for Apple fleet
jamf-rapididentity RapidIdentity Identity and access management platform
jamf-trust Jamf Trust Zero-trust network access for Apple devices
jamf-routines Jamf Routines Automated workflow orchestration for device management
self-service-plus Self Service+ Next-generation self-service portal for macOS
jamf-app-catalog Jamf App Catalog Curated application catalog for managed deployments

Key Features

  • Compact Mode: Use outputMode: "compact" for token-efficient responses; articles show a ~500-token preview with an available sections list
  • Summary Only: Use summaryOnly: true on jamf_docs_get_article to preview an article outline before fetching full content
  • Section Extraction: Use section: "Prerequisites" to retrieve only the part of an article you need
  • Batch Fetching: Use jamf_docs_batch_get_articles to fetch up to 10 articles in one call with concurrent requests
  • Glossary Lookup: Use jamf_docs_glossary_lookup to look up Jamf terminology with fuzzy matching
  • Multi-language: All tools accept a language parameter for localized documentation (e.g., ja-JP, de-DE)
  • Document Type Filter: Use docType on jamf_docs_search to narrow results to release-notes, install-guide, technical-paper, configuration-guide, or training
  • Version Query: Use the version parameter to query documentation for a specific product version
  • Pagination: Search results support page and limit; table of contents supports page; product lists are not paginated
  • Search Suggestions: Receive helpful suggestions when a search returns no results
  • Token Management: All tools accept a maxTokens parameter (100–20000, default 5000) to control response size

HTTP/SSE Transport Mode

In addition to the default stdio transport, the server supports an HTTP transport for use as a remote or shared MCP endpoint.

Starting the HTTP Server

# Using the npm script (defaults: localhost:3000)
npm run start:http

# Using the built binary directly with custom options
node dist/index.js --transport http --port 8080 --host 127.0.0.1

CLI Arguments

Argument Default Description
--transport stdio Transport mode: stdio or http
--port 3000 Port to listen on (1–65535)
--host 127.0.0.1 Host to bind to

Security note: The default host 127.0.0.1 restricts access to localhost only. Binding to 0.0.0.0 exposes the server to the network; only do this in controlled environments.

HTTP Endpoints

Endpoint Method Description
/mcp POST MCP JSON-RPC endpoint (streamable HTTP transport)
/health GET Health check — returns {"status":"ok","version":"<current>"}

Connecting an MCP Client via HTTP

Claude Desktop or other MCP clients that support HTTP transport can connect with:

{
  "mcpServers": {
    "jamf-docs": {
      "url": "http://127.0.0.1:3000/mcp"
    }
  }
}

CORS Configuration

By default the server does not set CORS headers (cross-origin requests are blocked). To allow specific origins, set the CORS_ALLOWED_ORIGINS environment variable:

CORS_ALLOWED_ORIGINS=https://myapp.example.com node dist/index.js --transport http

Multiple origins are separated by commas.

Rate Limiting

The HTTP server applies per-IP token-bucket rate limiting. The default is 60 requests per minute. Override with the RATE_LIMIT_RPM environment variable.

Configuration

All settings are optional. Set them as environment variables before launching the server.

Cache Settings

Variable Default Range Description
CACHE_DIR .cache Cache directory (relative paths must stay within the project; sensitive system paths are rejected)
CACHE_TTL_SEARCH 1800000 (30 min) 1 min–30 days TTL for search result cache entries
CACHE_TTL_ARTICLE 86400000 (24 hr) 1 min–30 days TTL for article content cache entries
CACHE_TTL_PRODUCTS 604800000 (7 days) 1 min–30 days TTL for product list cache entries
CACHE_TTL_TOC 86400000 (24 hr) 1 min–30 days TTL for table of contents cache entries
CACHE_MAX_ENTRIES 500 10–10000 Maximum number of entries kept in the in-memory cache

Request Settings

Variable Default Range Description
REQUEST_TIMEOUT 15000 1000–60000 ms HTTP request timeout
MAX_RETRIES 3 0–10 Number of retry attempts on failure
RETRY_DELAY 1000 100–30000 ms Delay between retries
RATE_LIMIT_DELAY 500 0–10000 ms Delay between outbound requests (politeness)
USER_AGENT JamfDocsMCP/1.0 ... User-Agent header sent to learn.jamf.com

HTTP Transport Settings

Variable Default Range Description
RATE_LIMIT_RPM 60 1–10000 Inbound requests per minute per IP (HTTP transport only)
CORS_ALLOWED_ORIGINS `` (empty) Comma-separated list of allowed CORS origins (HTTP transport only)

Development

git clone https://github.com/GET-Technology-Inc/jamf-docs-mcp-server.git
cd jamf-docs-mcp-server
npm install
npm run dev        # stdio mode with file watching
npm run start:http # HTTP transport mode

Available Scripts

Script Description
npm run build Compile TypeScript to dist/
npm run dev Development mode with auto-reload (stdio)
npm run start:http Start HTTP/SSE transport mode
npm test Run all tests
npm run test:unit Unit tests only
npm run test:integration Integration tests only
npm run test:e2e End-to-end tests only
npm run test:coverage Test coverage report
npm run test:inspector Launch MCP Inspector against local build
npm run lint Lint source files
npm run typecheck TypeScript type check without emitting

License

MIT - Copyright (c) 2025 GET Technology Inc.

Disclaimer

This is an unofficial tool and is not affiliated with Jamf.

Links

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选