AI Applyd launched on Product Hunt today, our third launch there: https://www.producthunt.com/products/ai-applyd/launches/ai-applyd-4
The newest part is a plugin for ChatGPT and Claude. You ask the assistant for jobs that fit you, and it applies on the employer's own hiring system with a resume and cover letter tailored to each one. It covers 34 hiring systems, Greenhouse, Lever, Ashby, Workable, Workday and iCIMS among them, and an application counts as sent only when the employer's system confirms receipt.
Under the hood the plugin is an MCP server. MCP (Model Context Protocol) is the open standard that lets an assistant call tools on another service. Version 1.9.0 went live yesterday with 23 tools, and the same server works in Cursor, Codex and Claude Code.
One hosted server, many clients
The server runs at https://mcp.aiapplyd.com/mcp over Streamable HTTP, with no API key. In ChatGPT you add it under Settings, Apps and Connectors, with Developer mode on. In Claude it goes in Settings, Connectors, Add custom connector. People who live in a terminal can use the npm bridge, npx aiapplyd-mcp.
Sign-in is OAuth, and the first call fails on purpose
Sign-in uses OAuth 2.1 with PKCE and dynamic client registration. The first tool call returns 401 with protected-resource metadata in the WWW-Authenticate header. The client reads it and opens a browser on our sign-in page. The user signs in with Google or a magic link and approves a consent screen that names the client asking.
The bug that cost us the most time lived here. During the OpenAI tool scan, ChatGPT reported "OAuth flow canceled". Our analytics showed that our server had issued the code, but the browser tab never left the consent page.
Our own Content Security Policy caused it. The consent form POST answered with a 302 to ChatGPT's callback, which was on our form-action allowlist. That callback redirects again, to platform.openai.com. Chrome checks form-action against every hop of a form's redirect chain, so it blocked the second hop and showed no error. Codex worked the whole time, because its callback on 127.0.0.1 is the final hop.
The fix was to stop redirecting from the form. The Connect button now returns a 200 page that moves on with a meta refresh, and the browser treats that as a fresh navigation. If you build an OAuth consent page for MCP clients, test it with a client whose callback redirects again.
Resumes attached in ChatGPT
In 1.9.0 the resume tools take two new inputs. resume_text is a resume pasted into the chat. resume_file is a file the user attached in ChatGPT, which ChatGPT hands to the tool when the parameter is declared in the tool's _meta under openai/fileParams. With neither, the tools use the resume saved on the account.
Scoring, rewriting and translating a resume all accept both. Before 1.9.0 these tools read only the saved resume, and translation also needed a document from our resume builder.
Recruiter replies in the chat
1.9.0 also added the inbox. aiapplyd_get_inbox reads the emails employers sent to the user's AI Applyd address, and aiapplyd_reply_to_email sends the user's reply. The skill shows the exact text first and sends only after the user says yes. Follow-ups work the same way and go out from a connected Gmail or Outlook. Sign-up codes and other account mail are marked, so they never count as an employer reply.
What the OpenAI review taught us
The plugin is still in review for the ChatGPT directory, and the Claude connector directory has it in review too. Until they approve it, people add it by address.
Give the reviewer an account that works with no setup. On our first review run, users who had never opened our website hit a data-consent error on every AI tool, which is a dead end inside ChatGPT. We removed that gate, and signing up now accepts the terms.
Annotate every tool. Each of ours declares readOnlyHint and destructiveHint, so a client can tell a read from an action that sends an application to an employer.
Try it
Setup steps for ChatGPT, Claude, Cursor, Codex and Claude Code are at https://aiapplyd.com/mcps. The bridge and the skills are MIT licensed at https://github.com/aiapplyd/aiapplyd-mcp.
Top comments (0)