ควบคุมการเข้าถึง 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 only | Servers มาจาก 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 เหล่านี้:
| Platform | Path |
|---|---|
| macOS | /Library/Application Support/ClaudeCode/managed-mcp.json |
| Linux และ WSL | /etc/claude-code/managed-mcp.json |
| Windows | C:\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"]
}
}
}
ยืนยันการกำหนดค่า
เรียกใช้สองการตรวจสอบบนเครื่องที่จัดการ:
claude mcp listแสดงเฉพาะ servers ในmanaged-mcp.jsonclaude 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 | จับคู่กับ | ใช้สำหรับ |
|---|---|---|
serverUrl | URL ของ remote server | HTTP และ SSE servers |
serverCommand | command และ arguments ที่เริ่ม stdio server | Stdio servers |
serverName | label ที่ผู้ใช้กำหนด | ทุกประเภท |
ตัวอย่างการกำหนดค่า
{
"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 add | Cannot add MCP server: enterprise MCP configuration is active |
| Server อยู่ใน denylist | Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy |
| Server ไม่อยู่ใน allowlist | Cannot add MCP server "<name>": not allowed by enterprise policy |
| Server ที่กำหนดค่าไว้ก่อนหน้าถูกบล็อกโดย policy | Server หายไปจาก /mcp โดยเงียบ |
ตรวจสอบการใช้งาน MCP
เมื่อ OpenTelemetry export ถูกกำหนดค่า Claude Code สามารถบันทึก MCP servers และ tools ที่ผู้ใช้ invoke:
export OTEL_LOG_TOOL_DETAILS=1
แหล่งข้อมูลที่เกี่ยวข้อง
- เชื่อมต่อ Claude Code กับ tools ผ่าน MCP: เอกสารอ้างอิง MCP ฉบับสมบูรณ์
- Settings: ลำดับชั้น settings
- Security: threat model ที่การควบคุมเหล่านี้ป้องกัน