Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
IT Glue MCP server for MSPs — documents, flexible assets, semantic vector search, RBAC, and BYOK
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
ITGLUE_API_KEY, ITGLUE_REGION, ITGLUE_BASE_URL, OPENAI_API_KEY, AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, EMBEDDING_MODEL, ITGLUE_ADVANCED_TOOLSET, VECTOR_INDEX_PATH, UPLOAD_STAGING, PUBLIC_BASE_URL, AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCOUNT, AZURE_STORAGE_CONTAINER标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"itglue": {
"command": "npx",
"args": [
"-y",
"mcp-itglue"
],
"env": {
"ITGLUE_API_KEY": "your-value",
"ITGLUE_REGION": "your-value",
"ITGLUE_BASE_URL": "your-value",
"OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_ENDPOINT": "your-value",
"EMBEDDING_MODEL": "your-value",
"ITGLUE_ADVANCED_TOOLSET": "your-value",
"VECTOR_INDEX_PATH": "your-value",
"UPLOAD_STAGING": "your-value",
"PUBLIC_BASE_URL": "your-value",
"AZURE_STORAGE_CONNECTION_STRING": "your-value",
"AZURE_STORAGE_ACCOUNT": "your-value",
"AZURE_STORAGE_CONTAINER": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add itglue --env ITGLUE_API_KEY=your-value --env ITGLUE_REGION=your-value --env ITGLUE_BASE_URL=your-value --env OPENAI_API_KEY=your-value --env AZURE_OPENAI_API_KEY=your-value --env AZURE_OPENAI_ENDPOINT=your-value --env EMBEDDING_MODEL=your-value --env ITGLUE_ADVANCED_TOOLSET=your-value --env VECTOR_INDEX_PATH=your-value --env UPLOAD_STAGING=your-value --env PUBLIC_BASE_URL=your-value --env AZURE_STORAGE_CONNECTION_STRING=your-value --env AZURE_STORAGE_ACCOUNT=your-value --env AZURE_STORAGE_CONTAINER=your-value -- npx -y mcp-itglue运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"itglue": {
"command": "npx",
"args": [
"-y",
"mcp-itglue"
],
"env": {
"ITGLUE_API_KEY": "your-value",
"ITGLUE_REGION": "your-value",
"ITGLUE_BASE_URL": "your-value",
"OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_ENDPOINT": "your-value",
"EMBEDDING_MODEL": "your-value",
"ITGLUE_ADVANCED_TOOLSET": "your-value",
"VECTOR_INDEX_PATH": "your-value",
"UPLOAD_STAGING": "your-value",
"PUBLIC_BASE_URL": "your-value",
"AZURE_STORAGE_CONNECTION_STRING": "your-value",
"AZURE_STORAGE_ACCOUNT": "your-value",
"AZURE_STORAGE_CONTAINER": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"itglue": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-itglue"
],
"env": {
"ITGLUE_API_KEY": "your-value",
"ITGLUE_REGION": "your-value",
"ITGLUE_BASE_URL": "your-value",
"OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_API_KEY": "your-value",
"AZURE_OPENAI_ENDPOINT": "your-value",
"EMBEDDING_MODEL": "your-value",
"ITGLUE_ADVANCED_TOOLSET": "your-value",
"VECTOR_INDEX_PATH": "your-value",
"UPLOAD_STAGING": "your-value",
"PUBLIC_BASE_URL": "your-value",
"AZURE_STORAGE_CONNECTION_STRING": "your-value",
"AZURE_STORAGE_ACCOUNT": "your-value",
"AZURE_STORAGE_CONTAINER": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
ITGLUE_REGION envITGLUE_BASE_URL envAZURE_OPENAI_ENDPOINT envEMBEDDING_MODEL envITGLUE_ADVANCED_TOOLSET envVECTOR_INDEX_PATH envUPLOAD_STAGING envPUBLIC_BASE_URL envAZURE_STORAGE_ACCOUNT envAZURE_STORAGE_CONTAINER env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 mspstack 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:ITGLUE_API_KEY, OPENAI_API_KEY, AZURE_OPENAI_API_KEY, AZURE_STORAGE_CONNECTION_STRING
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.6.0)于2个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
An MCP (Model Context Protocol) server for the IT Glue API, built for MSPs that want AI assistants to read — and safely write — their documentation.
; get and delete document imagesYou need an IT Glue API key (IT Glue → Account → Settings → API Keys). Non-US accounts set ITGLUE_REGION to eu or au.
Claude Desktop (claude_desktop_config.json) or Claude Code (.mcp.json):
{
"mcpServers": { "itglue": { "command": "npx", "args": ["-y", "mcp-itglue"], "env": { "ITGLUE_API_KEY": "ITG.xxxx" } } } }
Claude Code one-liner:
claude mcp add itglue --env ITGLUE_API_KEY=ITG.xxxx -- npx -y mcp-itglue
Claude Desktop users can instead grab mcp-itglue.mcpb from the latest release — open it with Claude Desktop and fill in the API key when prompted.
stdio always runs with the full tool surface — it is a local, single-user transport using your own key.
The container image defaults to the HTTP transport (for shared deployments):
docker run --rm -p 3000:3000 \
-e ITGLUE_API_KEY=ITG.xxxx \ ghcr.io/mspstack/mcp-itglue
For local stdio use under Docker:
{
"mcpServers": { "itglue": { "command": "docker", "args": ["run", "-i", "--rm", "-e", "ITGLUE_API_KEY", "ghcr.io/mspstack/mcp-itglue", "--transport", "stdio"], "env": { "ITGLUE_API_KEY": "ITG.xxxx" } } } }
git clone https://github.com/mspstack/mcp-itglue.git && cd mcp-itglue
npm install && npm run build ITGLUE_API_KEY=ITG.xxxx node dist/index.js
ITGLUE_API_KEY=ITG.xxxx \
MCP_TOKENS_VIEWER="alice:$(openssl rand -hex 32)" \ MCP_TOKENS_EDITOR="automation:$(openssl rand -hex 32)" \ MCP_TOKENS_ADMIN="ops:$(openssl rand -hex 32)" \ npx -y mcp-itglue --transport http --port 3000
Or with Docker:
docker run --rm -p 3000:3000 \
-e ITGLUE_API_KEY -e MCP_TOKENS_VIEWER -e MCP_TOKENS_EDITOR -e MCP_TOKENS_ADMIN \ ghcr.io/mspstack/mcp-itglue
Endpoints:
| Route | Purpose |
|---|---|
POST/GET/DELETE /mcp | MCP streamable-http endpoint |
GET /health | Liveness probe |
POST /webhook/itglue | IT Glue webhook → incremental index update |
POST /index/refresh | Manual index refresh (shared secret or admin token) |
PUT /upload/:id | Staged file upload slot (memory backend; same auth as /mcp) |
Sessions are held in memory — run a single instance (or add sticky sessions) behind your load balancer.
Three env vars hold comma-separated label:token lists:
MCP_TOKENS_VIEWER="alice:tokA,bob:tokB" # read-only tools
MCP_TOKENS_EDITOR="hatz:tokC" # + create/update/publish, delete section MCP_TOKENS_ADMIN="ops:tokD" # + delete documents / flexible assets
Clients authenticate with Authorization: Bearer . The label appears in the audit log ([rbac] session … for alice (viewer)) and lets you revoke one person's token without rotating everyone's.
Tools a role cannot use are not registered for that session — a viewer doesn't even see itglue_create_document in tools/list — and a runtime guard re-checks the role on every call as defense in depth. Session ids never carry privilege: every request re-authenticates, and presenting a different principal against an existing session returns 403.
If no tokens are configured, the server runs in dev mode: all requests get admin access and a loud startup warning. Don't do this in production.
Clients may send their own IT Glue API key in the x-itglue-api-key header on the initialize request. The session then talks to IT Glue with that key and gets the full tool surface — IT Glue's own key permissions are the effective access control. CLIENT_ITGLUE_KEYS controls the policy:
| Value | Behavior |
|---|---|
with-token (default) | BYOK allowed, but a valid bearer token is still required — protects your server from being an open proxy |
open | An IT Glue key alone authenticates (trusted networks / local use) |
disabled | The header is rejected; only the server-wide key is used |
With BYOK enabled the server-wide ITGLUE_API_KEY becomes optional: sessions without a client key are rejected with a clear error. Client keys are never logged; sessions are bound to a SHA-256 hash of the key and audit-labeled byok: .
| Tool | Tier |
|---|---|
itglue_list_organizations, itglue_get_organization | read |
itglue_list_documents, itglue_get_document | read |
itglue_list_document_folders | read |
itglue_list_document_sections, itglue_get_document_section | read |
itglue_list_flexible_asset_types, itglue_get_flexible_asset_type | read |
itglue_list_flexible_assets, itglue_get_flexible_asset | read |
itglue_get_document_image | read |
itglue_list_attachments | read |
itglue_vector_search, itglue_vector_index_status | read |
itglue_create_document, itglue_update_document, itglue_publish_document | write |
itglue_create_document_section, itglue_update_document_section | write |
itglue_delete_document_section † | write |
itglue_create_document_image | write |
itglue_delete_document_image † | write |
itglue_request_upload (HTTP, when UPLOAD_STAGING ≠ off) | write |
itglue_create_flexible_asset, itglue_update_flexible_asset | write |
itglue_create_attachment | write |
itglue_build_vector_index | write |
itglue_delete_documents | destructive |
itglue_delete_flexible_asset | destructive |
itglue_delete_attachment | destructive |
itglue_find_endpoint, itglue_get ‡ | read |
Viewer = read. Editor = read + write. Admin = everything. † Permanent, but editor-tier: editors need these to restructure documents and can already blank section content (or edit an out of it) via update.
IT Glue has two unrelated upload paths. Attachments (itglue_create_attachment) land in a record's Attachments side panel and never render in a document's body. To show a picture *inside* a document, use itglue_create_document_image:
document_id (inline) or document_id + gallery_id (the document_gallery_id of a Gallery/Step section).inline_resource_url verbatim into the section HTML: — or pass append_to_section_id and the tool appends it to an existing Text/Step section for you.IT Glue strips data: URIs and its own S3 URLs from section content; only these relative paths (and public https:// links) survive.
Tool arguments travel through the model, so content_base64 only works for tiny files — a screenshot is megabytes of base64 the model would have to reproduce token by token (and IT Glue rejects the truncated result with NotIdentifiedByImageMagickError). Over HTTP the server therefore offers staged uploads:
itglue_request_upload (file_name optional) and gets an upload_id, a URL, and a ready-to-run curl.itglue_create_document_image or itglue_create_attachment with upload_id.Slots live 15 minutes, are bound to the requesting principal (token label / BYOK key), and are consumed once. Two backends, chosen with UPLOAD_STAGING:
| Mode | Where the PUT goes | When to use |
|---|---|---|
memory (default on HTTP) | This server's PUT /upload/:id, with the same Authorization / x-itglue-api-key headers as /mcp. Set PUBLIC_BASE_URL so the URL is reachable. | The server is directly reachable by clients. |
azure-blob | A short-lived SAS URL on Azure Blob Storage; the server later downloads the blob with its own credentials and deletes it. | The server sits behind a gateway or is otherwise not reachable from clients. Configure AZURE_STORAGE_CONNECTION_STRING (account-key SAS) or AZURE_STORAGE_ACCOUNT (managed identity / az login via DefaultAzureCredential, needs *Storage Blob Data Contributor* + *Storage Blob Delegator*), plus optional AZURE_STORAGE_CONTAINER (default mcp-itglue-uploads). |
off | — | stdio (default there — file_path reads the local disk directly) or when you don't want the feature. |
url remains the simplest source for anything already hosted on the web. ‡ Advanced toolset (opt-in, off by default): itglue_get is a read-only GET passthrough for any API path the curated tools don't wrap, and itglue_find_endpoint searches a curated endpoint catalog. Enable with ITGLUE_ADVANCED_TOOLSET=true or --advanced. Password resources (/passwords) are hard-blocked — credential values never reach the model.
Vector tools appear only when an embedding provider is configured.
Set OPENAI_API_KEY (or AZURE_OPENAI_API_KEY + AZURE_OPENAI_ENDPOINT, where EMBEDDING_MODEL is your deployment name), then run itglue_build_vector_index per organization. The index is a JSON file at VECTOR_INDEX_PATH (default ./vector-index.json) — on ephemeral hosts, point it at a persistent volume.
The index stays fresh three ways:
https://<host>/webhook/itglue?secret=<ITGLUE_WEBHOOK_SECRET>
and use a JSON payload template like:
| Key | Value |
|---|---|
event | [trigger_name] |
resource_url | [resource_url] |
resource_name | [resource_name] |
organization_name | [organization_name] |
The document id is parsed from resource_url; the trigger name maps to created/updated/deleted by keyword. Classic JSON:API-style payloads with an x-itglue-webhook-signature HMAC-SHA256 header are also accepted.
POST /index/refresh with Authorization: Bearer (or an x-refresh-secret header, or an admin token). Body {"document_id": "123"} refreshes one document; an empty body re-crawls every indexed or只显示了开头部分;其余内容请在仓库中阅读