﻿---
title: "MCP 设 required，并用工具白名单"
summary: "核心工作流依赖的服务器设 required = true。用 enabled_tools 只暴露必要工具，降低选错工具的概率。"
category: mcp
level: intermediate
surfaces: [cli]
tags: ["required", "白名单", "超时"]
canonical: /tips/mcp-required-and-allowlist/
---

# MCP 设 required，并用工具白名单

核心工作流依赖的服务器设 required = true。用 enabled_tools 只暴露必要工具，降低选错工具的概率。

```toml
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
required = true
startup_timeout_sec = 15
tool_timeout_sec = 60
enabled_tools = ["list_issues", "create_issue", "get_issue"]
```

可选服务器的启动宽限是顶层 `mcp_optional_startup_grace_ms`，默认 `1000`。设成 `0` 则等到各服务器自己的 `startup_timeout_sec`。`required = true` 的服务器仍走各自超时，不受这段宽限影响。

只读 MCP 工具在声明 `readOnlyHint` 时可以并发跑——接很多只读查询时很有用。

官方托管 GitHub MCP 走 Streamable HTTP，不要把 `@modelcontextprotocol/server-github` 当成现行官方远程。

## 来源

- [Codex CLI Cheat Sheet](https://www.agenticcodingweekly.com/p/codex-cli-cheat-sheet)
- [OpenAI · MCP](https://learn.chatgpt.com/docs/extend/mcp)
