Skip to content
FunCoding

Search

Search docs, Skills and MCP

连接 MCP 服务器

配置本地进程或远程 MCP,设置超时、环境和工具权限,并管理上下文开销。

This page has not been translated into English yet. The original Chinese version is shown below.

在运行时配置的 mcp 下,以唯一名称定义服务器。连接后工具与内置工具一起提供给模型;服务器名称也是提示中指定工具来源的线索。

本地进程

本地配置的 type 为 local,command 是可执行命令及参数数组。可选 cwd 相对工作区解析,environment 为进程设置变量。

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mcp_everything": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
      "enabled": true
    }
  }
}

这是官方测试服务器示例,运行时可能下载并启动包,不是仅注册静态名称。实际接入应换成需要的服务器和启动参数。

远程服务

远程配置使用 type: "remote" 与 url,可设置 headers、oauth、enabled 和 timeout。

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "docs-service": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp"
    }
  }
}

示例域名需替换为真实服务。支持 OAuth 的远程服务器可以自动发现认证,预注册客户端和 API Key 方式见MCP 认证。

启停与超时

两种类型都支持 enabled: false,用于保留配置但禁用启动。timeout 均以毫秒计,默认 5000,指获取服务器工具的超时,不是所有工具调用统一的执行时限。

组织通过 .well-known/opencode 提供的默认服务器可以在本地启用;它是可覆盖的远程默认,与管理员托管设置不同。

工具权限与角色

工具名带服务器前缀,可按 servername_* 匹配。MCP 页仍用旧 tools 布尔配置演示控制,新配置采用 Permissions 页的 permission:

{
  "permission": {
    "docs-service_*": "ask"
  }
}

服务器启用、工具加载、单次调用获准是三个条件。也可在 Agent 权限中覆盖普通全局规则,让只有某个专门角色能够使用一组工具;具体规则顺序见权限。

已列出的远程示例

官方示例包括 Sentry 的 https://mcp.sentry.dev/mcp、Context7 的 https://mcp.context7.com/mcp 和 Grep by Vercel 的 https://mcp.grep.app。

Sentry 示例需完成 OAuth;Context7 可通过 CONTEXT7_API_KEY header 引用同名环境变量。是否需要账号、当前额度和可用性仍取决于服务,不将“示例可配置”写成所有用户均已授权。

控制上下文

MCP 的工具描述会占用上下文。官方特别提醒大型工具集合可能显著增加 token,甚至超过上下文限制。只启用任务需要的服务,或按角色控制工具集合,不要把一次性开启所有服务器作为默认流程。