Context7
Up-to-date docs for AI agents
作者による説明(英語の原文)
IT Glue MCP server for MSPs — documents, flexible assets, semantic vector search, RBAC, and BYOK
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っている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 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Context7, Codebase Memory, Exa
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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冒頭だけを表示しています。続きはリポジトリで読めます