最近折腾 Cursor + MCP + GPT-5 开发 DreamEcho 项目时,连续踩了一个非常离谱的坑:

Provider returned error:
Failed to deserialize the JSON body into the target type:
tools[0]: missing field function

然后:

  • GPT 全部失效

  • Agent 崩溃

  • Ask 模式失效

  • MCP 全炸

  • Cursor 完全不可用

最离谱的是:

你会以为:

  • 是 OpenAI 挂了

  • 是网络问题

  • 是代理问题

  • 是模型限制

其实都不是。

真正的问题是:

MCP / Tool Schema 崩了。

这篇文章把我完整排查过程、根因分析、以及最终稳定方案全部写出来。

适用于:

  • Cursor

  • MCP

  • GPT-5

  • Claude

  • OpenAI Tool Calling

  • Agent Window

  • filesystem MCP

尤其适合:

2026 年 AI IDE 重度用户。

因为现在 AI IDE 最大特点就是:

你不是在写代码。
你是在修 AI IDE。

一、问题现象

最典型报错:

Provider returned error:
{"error":{"message":"Failed to deserialize the JSON body into the target type: tools[0]: missing field function"}}

有时还会伴随:

invalid_request_error

或者:

reasoning_content must be passed back to the API

二、错误本质(核心)

这个错误本质上是:

Cursor 发给 OpenAI 的 Tool JSON 非法。

例如:

Cursor 实际发送了:

{
  "type": "function"
}

但 OpenAI 新版 Tool Calling API 要求:

{
  "type": "function",
  "function": {
    "name": "xxx",
    "description": "xxx",
    "parameters": {}
  }
}

也就是说:

某个 MCP / 插件 / Agent 配置生成了错误 Tool Schema。

于是:

OpenAI 直接拒绝请求。


三、为什么会突然出现(2026 真相)

因为:

Cursor 新版 Agent 架构已经变了。

现在 Cursor:

  • MCP

  • Agent

  • Tools

  • Function Calling

  • OpenAI Tool API

已经深度耦合。

而很多旧教程:

还在用:

@modelcontextprotocol/server-filesystem@0.6.2

或者旧版:

tools: [...]

结果:

新版 Cursor + 新版 OpenAI API 不兼容。

于是直接炸。


四、最容易触发问题的行为

下面这些非常容易导致 Cursor 完全崩:

1. 同时开启:

  • Agent

  • MCP

  • 自定义 Tool


2. 安装第三方 AI 插件

例如:

  • AI toolbox

  • MCP helper

  • unofficial OpenAI plugin

很多插件会重复注入 Tool。


3. 使用旧版 MCP 教程

例如:

@0.6.2

锁死版本。

新版 Cursor 已经不兼容。


4. 使用 Trae / 其他 AI IDE 后再切回 Cursor

很多国产 IDE:

会偷偷写:

  • Tool schema

  • Agent config

  • function config

Cursor 会读取到脏配置。


五、最终解决方案(100%有效)

STEP 1|删除项目里的 .cursor

直接删除:

项目目录/.cursor

包括:

mcp.json
rules
settings

全部删。

不要犹豫。

因为你根本不知道哪个配置炸了。


STEP 2|删除 .trae

如果你装过 Trae:

项目目录/.trae

也删。


STEP 3|关闭 Cursor

不要只点 X。

任务管理器:

结束:

Cursor.exe

全部进程。


STEP 4|删除 Cursor 缓存(关键)

删除:

C:\Users\你的用户名\AppData\Roaming\Cursor

里面:

User\workspaceStorage
User\globalStorage
Cache
CachedData
GPUCache

原因:

Cursor 会缓存 Tool Schema。

即使你删了配置。

它还会继续加载坏掉的 Tool。


STEP 5|关闭所有 MCP

进入:

Cursor Settings
→ Tools & MCPs

全部关闭:

  • filesystem

  • github

  • browser

  • playwright

  • 所有 MCP


STEP 6|关闭 Agent Beta

进入:

Settings
→ Beta

关闭:

  • Agent Window

  • Composer 2.5

  • Experimental Tool Calling

新版 Agent 目前非常容易和 MCP 冲突。


STEP 7|测试空项目

不要打开原项目。

新建一个空文件夹。

测试:

你好

如果能回复:

说明 Cursor 已恢复。


六、正确的 MCP 配置(稳定版)

恢复正常后。

只保留:

filesystem MCP

创建:

.cursor/mcp.json

内容:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "D:\\你的项目路径"
      ]
    }
  }
}

注意:

不要锁版本。

不要:

@0.6.2

让 Cursor 自己处理最新版。


七、Cursor 中国区现状(重要)

很多人还会遇到:

Model not available in your region

尤其:

  • 支付宝注册

  • 中国区账号

  • 国内 IP

可能触发模型限制。

这时:

推荐:

  • GPT-5.2

  • Claude Sonnet

  • DeepSeek

而不是死磕 GPT-5.5。


八、真正重要的不是 MCP

折腾完之后我发现:

AI IDE 最重要的其实不是 MCP。

而是:

Rules。

例如:

.cursor/rules/dreamecho.mdc

你需要约束 AI:

  • 不要乱加 dashboard

  • 不要做 SaaS

  • 不要生成后台

  • 不要破坏项目气质

否则:

AI 会疯狂把你的艺术项目:

改造成:

企业级情绪管理平台

仿佛所有 AI 都患有 KPI 综合征。


九、最终建议(非常重要)

现在 AI IDE 生态极度混乱。

真正稳定的方案反而是:

功能 推荐
主 IDE Cursor
大模型 GPT + Claude
MCP 只保留 filesystem
Agent 关闭
插件 尽量别装

十、最后总结

如果你也遇到了:

tools[0]: missing field function

不要怀疑人生。

也不要疯狂换模型。

问题几乎一定是:

Tool Schema 冲突。

按本文:

  • 删除 .cursor

  • 删除缓存

  • 关闭 MCP

  • 关闭 Agent

  • 重建 filesystem

基本都能恢复。


Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐