Skip to content
FunCoding

Search

Search docs, Skills and MCP

MCP 配置与 OAuth

配置本地与远程服务器,插值环境变量,并注册各客户端的 OAuth 回调。

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

项目配置位于 .cursor/mcp.json,用户配置位于 ~/.cursor/mcp.json。选择传输方式后,使用对应字段,避免把本地进程配置套到远程服务器。

本地 stdio

下面连接已经存在的 Python server,并从环境读取所需密钥:

{
  "mcpServers": {
    "local-tools": {
      "type": "stdio",
      "command": "python",
      "args": ["${workspaceFolder}/tools/mcp_server.py"],
      "env": { "API_KEY": "${env:API_KEY}" }
    }
  }
}

command 必须在 PATH 中或为完整路径。args 与 env 可选,envFile 可从指定文件加载变量,但仅适用于 stdio。官方部分简例省略 type,而字段表把它列为必填;此处显式设置 stdio。

配置插值

command、args、env、url、headers 支持变量:

语法内容
${env:NAME}环境变量
${userHome}用户主目录
${workspaceFolder}包含项目 .cursor/mcp.json 的根目录
${workspaceFolderBasename}项目根名称
${pathSeparator}、${/}系统路径分隔符

远程 HTTP/SSE 不支持 envFile,应通过进程环境与插值传入 headers 或 auth 值。

静态 OAuth

提供者不支持动态注册,或给定固定 Client ID 时,可在 url 服务器中添加 auth:

{
  "mcpServers": {
    "remote-tools": {
      "url": "https://api.example.com/mcp",
      "auth": {
        "CLIENT_ID": "${env:MCP_CLIENT_ID}",
        "CLIENT_SECRET": "${env:MCP_CLIENT_SECRET}",
        "scopes": ["read"]
      }
    }
  }
}

CLIENT_ID 必填,CLIENT_SECRET 仅在提供者要求时设置;scopes 可选,省略时从 /.well-known/oauth-authorization-server 发现 scopes_supported。示例地址与 scope 必须替换为真实提供者配置。

回调地址

Web/Cursor Agents 使用 https://www.cursor.com/agents/mcp/oauth/callback,桌面使用 http://localhost:8787/callback。两端都会认证时,两者都要注册为允许的 redirect URI;服务器通过 OAuth state 区分。

认证后仍受工具批准与团队策略控制。连接失败时查看 Output 中的 MCP Logs。