Skip to main content

ควบคุมการเข้าถึง MCP Server สำหรับองค์กร

จำกัด MCP servers ที่ผู้ใช้สามารถเพิ่มหรือเชื่อมต่อได้ด้วยไฟล์การกำหนดค่าที่จัดการ, allowlists และ denylists

โดยค่าเริ่มต้น ทุกคนที่ใช้ Claude Code สามารถเชื่อมต่อ MCP server ใดก็ได้ที่ต้องการ ในฐานะผู้ดูแลระบบ คุณสามารถจำกัด servers ที่ทำงานในองค์กรได้

เลือก Pattern

Patternสิ่งที่ทำกำหนดค่า
ปิดใช้งาน MCPไม่มี server ใดโหลดmanaged-mcp.json ที่มี server map ว่าง
Fixed deploymentทุกคนได้ servers เหมือนกันและเพิ่มอื่นไม่ได้managed-mcp.json พร้อม servers ที่ต้องการ
Approved catalogเผยแพร่รายการ servers ที่อนุมัติallowedMcpServers + allowManagedMcpServersOnly: true
Plugin servers onlyServers มาจาก plugins เท่านั้นstrictPluginOnlyCustomization
Soft allowlistบังคับ allowlist ที่ผู้ใช้ขยายได้allowedMcpServers โดยไม่มี allowManagedMcpServersOnly
Denylist onlyบล็อก servers ที่รู้ว่าไม่ดีdeniedMcpServers
ไม่มีข้อจำกัดผู้ใช้เพิ่มได้ทุกอย่างไม่ต้อง deploy การกำหนดค่า MCP

การควบคุมพิเศษด้วย managed-mcp.json

หาก deploy ไฟล์ managed-mcp.json Claude Code จะโหลดเฉพาะ servers ที่ไฟล์นั้นกำหนด ผู้ใช้ไม่สามารถเพิ่ม, แก้ไข หรือใช้ MCP servers อื่นได้

Claude Code ค้นหาไฟล์ที่ paths เหล่านี้:

PlatformPath
macOS/Library/Application Support/ClaudeCode/managed-mcp.json
Linux และ WSL/etc/claude-code/managed-mcp.json
WindowsC:\Program Files\ClaudeCode\managed-mcp.json

ไฟล์ใช้รูปแบบเดียวกับ .mcp.json:

{
"mcpServers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/"
},
"company-internal": {
"type": "stdio",
"command": "/usr/local/bin/company-mcp-server",
"args": ["--config", "/etc/company/mcp-config.json"]
}
}
}

ยืนยันการกำหนดค่า

เรียกใช้สองการตรวจสอบบนเครื่องที่จัดการ:

  1. claude mcp list แสดงเฉพาะ servers ใน managed-mcp.json
  2. claude mcp add --transport http test https://example.com/mcp ล้มเหลวด้วย Cannot add MCP server: enterprise MCP configuration is active

ปิดใช้งาน MCP ทั้งหมด

Deploy managed-mcp.json ที่มี server map ว่าง:

{
"mcpServers": {}
}

การควบคุมด้วย Policy ผ่าน Allowlists และ Denylists

จับคู่ Servers ด้วย URL, Command หรือชื่อ

Keyจับคู่กับใช้สำหรับ
serverUrlURL ของ remote serverHTTP และ SSE servers
serverCommandcommand และ arguments ที่เริ่ม stdio serverStdio servers
serverNamelabel ที่ผู้ใช้กำหนดทุกประเภท

ตัวอย่างการกำหนดค่า

{
"allowedMcpServers": [
{ "serverUrl": "https://api.githubcopilot.com/*" },
{ "serverUrl": "https://mcp.sentry.dev/*" },
{ "serverCommand": ["npx", "-y", "@modelcontextprotocol/server-filesystem", "."] }
],
"deniedMcpServers": [
{ "serverName": "dangerous-server" },
{ "serverUrl": "https://*.untrusted.example.com/*" }
]
}

จำกัด Allowlist ให้ Managed Settings เท่านั้น

{
"allowManagedMcpServersOnly": true,
"allowedMcpServers": [
{ "serverUrl": "https://api.githubcopilot.com/*" }
]
}

สิ่งที่ผู้ใช้เห็นเมื่อถูกจำกัด

ข้อจำกัดสิ่งที่ผู้ใช้เห็น
managed-mcp.json มีอยู่และผู้ใช้รัน claude mcp addCannot add MCP server: enterprise MCP configuration is active
Server อยู่ใน denylistCannot add MCP server "<name>": server is explicitly blocked by enterprise policy
Server ไม่อยู่ใน allowlistCannot add MCP server "<name>": not allowed by enterprise policy
Server ที่กำหนดค่าไว้ก่อนหน้าถูกบล็อกโดย policyServer หายไปจาก /mcp โดยเงียบ

ตรวจสอบการใช้งาน MCP

เมื่อ OpenTelemetry export ถูกกำหนดค่า Claude Code สามารถบันทึก MCP servers และ tools ที่ผู้ใช้ invoke:

export OTEL_LOG_TOOL_DETAILS=1

แหล่งข้อมูลที่เกี่ยวข้อง