AgentsReady
Verified deep dive · AI models

OpenAI

Run the agent liveReport a change
8 minTime to key
NoNo-human path
4Human gates
7/10Onboarding score
Card before first callEmail verificationKYC / business checkPhone OTP

Fastest path to a key

  1. Sign up at platform.openai.com (email+password, Google, Microsoft or Apple)
  2. Email verification
    Verify email (email signups only)
  3. Phone OTP
    Phone verification by SMS OTP, required before the FIRST API key (secondary sources)
  4. Card before first call
    Add a card and buy prepaid credits (minimum $5). The $5 free trial is gone for new accounts
  5. Dashboard > API keys > Create new secret key (project-scoped)
  6. export OPENAI_API_KEY and call the Responses API
  7. Working API key

Biggest gap

The standard key path still needs phone OTP and prepaid credit before the first call, and there is no product MCP for account or key operations.

Worth copying

The 'dynamic_agent_client' OAuth registration lets an agent install register itself and run on the user's existing ChatGPT plan with no API key or billing setup.

Sources (12) · checked 2026-10-11
44Readiness score / 100
L2 Agent-documentedBeats 60% of 1,846 companies
Access6/20
Context19/20
Interfaces12/32
Onboarding5/19
Trust2/9
llms.txt · docs
MCP · https://developers.openai.com/mcp

Biggest gains

  1. +12 Remote MCP server for the product. Host a remote MCP server (e.g. mcp.<domain>/mcp, Streamable HTTP) for your core actions.
  2. +10 Agents get the real page, not a bot wall. Serve the homepage to AI user-agents (Claude-User, ChatGPT-User) without a challenge or 403.
  3. +8 Machine-readable API spec. Publish an OpenAPI spec at a stable URL like /openapi.json and link it from llms.txt.
All 20 checks
  • FAILAgents get the real page, not a bot wall10
  • PASSrobots.txt lets user-triggered agents in6
  • FAILContent is server-rendered4
  • PASSllms.txt exists8
  • PASSllms-full.txt exists3
  • PASSDocs available as markdown6
  • PASSSitemap2
  • FAILStructured metadata1
  • PASSPublic developer docs4
  • FAILMachine-readable API spec8
  • FAILRemote MCP server for the product12
  • PASSDocs MCP or searchable docs4
  • PASSSDKs and a CLI4
  • FAILOAuth discovery metadata5
  • FAILAgents can self-register OAuth clients6
  • PASSSelf-serve API keys5
  • FAILFree tier or test mode3
  • FAILAgent manifests4
  • PASSsecurity.txt2
  • FAILPublic status page3

Your fix pack: 11 changes, up to +56 points

Each change is ready to paste, filled in for openai.com, with a command to check it worked. Or hand the whole list to your coding agent.

A remote MCP server lets Claude, ChatGPT and Cursor act on your product in one click, with no glue code.

Where: https://mcp.openai.com/mcp (Streamable HTTP)
// npm i @modelcontextprotocol/sdk zod  — minimal remote MCP server (Streamable HTTP, stateless)
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
import express from "express";
import { z } from "zod";

const app = express();
app.use(express.json());

app.post("/mcp", async (req, res) => {
  const server = new McpServer({ name: "openai.com", version: "1.0.0" });
  // One tool per core job. Clear verbs, typed inputs, small outputs.
  server.tool("create_<thing>", "Create a <thing> for the signed-in user.", { name: z.string() },
    async ({ name }) => {
      const key = req.headers.authorization?.replace("Bearer ", ""); // scoped API key or OAuth token
      const r = await fetch("https://openai.com/v1/<things>", { method: "POST", headers: { Authorization: `Bearer ${key}` }, body: JSON.stringify({ name }) });
      return { content: [{ type: "text", text: await r.text() }] };
    });
  const transport = new StreamableHTTPServerTransport({ sessionIdGenerator: undefined });
  res.on("close", () => transport.close());
  await server.connect(transport);
  await transport.handleRequest(req, res, req.body);
});
app.listen(3000);
Check it worked:curl -s -X POST https://mcp.openai.com/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"t","version":"1"}}}' -i | head -15

Add the badge to your README

AgentsReady badge for openai.com
[![AgentsReady](https://agentsready.dev/badge/openai.com)](https://agentsready.dev/c/openai.com)