Are ChatGPT docs lying about this MCP tool field existing?

I’ve been able to create a read-only app with the Apps SDK. Pretty cool seeing it in the chat! I’m really excited about the idea of this becoming a platform. But for anything actually useful I can think of, persistent storage between chats is needed. My understanding is this requires storing data on my servers, and therefor authenticating chatters with OAuth.

That I’m struggling with. One issue I recently came across, the docs[0] say to “declare auth requirements in the first-class securitySchemes field on each tool”, and give this example:

server.registerTool(
  "search",
  {
    title: "Public Search",
    description: "Search public documents.",
    inputSchema: {
      type: "object",
      properties: { q: { type: "string" } },
      required: ["q"],
    },
    securitySchemes: [
      { type: "noauth" },
      { type: "oauth2", scopes: ["search.read"] },
    ],
  },
  async ({ input }) => {
    return {
      content: [{ type: "text", text: `Results for ${input.q}` }],
      structuredContent: {},
    };
  }
);

However, the securitySchemes field doesn’t exist in the example’s library[1]. Likewise it doesn’t exist in the FastMCP Python library. Am I crazy? Someone please explain what I’m missing.

PS I haven’t even been able to get my Apps SDK app to connect without a vague error. Looking forward to someone putting out a real tutorial for us MCP & OAuth first timers.

PSS I think it would be amazing if ChatGPT exposed a persistent storage method through the Apps SDK. When someone downloads an iPhone app it can store data for future uses, without requiring the user to connect to a remote server and painstakingly create an account.

[0] developers.openai [DOT] com/apps-sdk/build/auth
[1] github [DOT] com/modelcontextprotocol/typescript-sdk/blob/0e482dbd293b4dd260379ef97b8f74e07474fd8b/src/server/mcp.ts#L789

Also it’s nuts that links aren’t allowed on this forum for discussing an API lol

2 Likes

We are not crazy, I also noticed this while building my apps, I thought it was related to the MCP sdk for Node, but it seems is the same for FastMCP. Interesting that I couldn`t find complaints about this issue anywhere else.

You’re not alone - the latest spec doesn’t specify securitySchemes

OpenAI proposed it to MCP - but it’s not the part of the spec yet.

Edit: also Reference mentions _meta["securitySchemes"]

1 Like

Wouldn’t it be better to change the documentation to only include securitySchemes in _meta instead of proposing the change to MCP? That “legacy” implementation seems to work well with the Node SDK.