Skip to content

feat(mcp): prepare ChatGPT and Claude directory listings - #517

Merged
harlan-zw merged 1 commit into
mainfrom
feat/agent-app-directories
Oct 7, 2026
Merged

harlan-zw merged 1 commit into
mainfrom
feat/agent-app-directories

Conversation

@harlan-zw

Copy link
Copy Markdown
Collaborator

🔗 Linked issue

No linked issue.

❓ Type of change

  • 📖 Documentation
  • 🐞 Bug fix
  • 👌 Enhancement
  • ✨ New feature
  • 🧹 Chore
  • ⚠️ Breaking change

📚 Description

This prepares the skilld MCP server for the ChatGPT plugin directory and the Claude Connectors Directory. Both portals scan the live server before they list it, and the server as it stood would not pass.

Architecture after this change: OpenAI and Claude portals scan the /api/mcp handler, which checks the new Origin allowlist and serves titled tools over the unchanged /api/v1 path, plus the new challenge route, /terms, privacy section and plugin package

Server fixes that review needs:

  • Each tool now has a title. Descriptions say what a tool does. get_skill no longer tells the model to fetch pageUrl and follow its fork workflow, because Claude's review rejects a tool that sends the model to a URL for instructions. The fork flow stays in the skilld-registry Skill.
  • search_skills results now carry pageUrl and runCommand, so every result links its Skill page.
  • The MCP toolkit answered 403 to any request whose Origin named another site. mcp.security.allowedOrigins now admits skilld.dev, claude.ai, claude.com, chatgpt.com, and chat.openai.com. Other origins still get 403.

Listing prerequisites and the first call to action:

  • OpenAI asks for a terms URL and a domain challenge. This adds /terms (noindex) with a footer link, an MCP section on /privacy, and /.well-known/openai-apps-challenge. The route serves the NUXT_OPENAI_APPS_CHALLENGE Worker secret and answers 404 while it is unset.
  • integrations/openai-plugin/ is the OpenAI submission package: listing text, five positive and three negative review cases, and the logo.
  • The Claude tab on /developers gets an "Add to Claude" button. It opens Claude's custom connector dialog with skilld filled in, so it works before the directory listing exists.
  • docs/runbooks/agent-app-directories.md holds the submission steps and the Claude listing fields.

The listing text in plugin.json and the runbook will publish under Harlan Wilton's name, as will the new terms.

MCP tool calls still count against the v1 guest rate limit, which keys on the caller's IP. Every ChatGPT or Claude user arrives from that platform's servers, so busy directory traffic shares one allowance per platform IP. This change leaves that limit as it is.

🤖 AI disclosure: Harlan Agent Kit modified this description. My AI open-source policy.

Both directories scan the live MCP server before they list it. Each tool
now has a title, and descriptions say what a tool does instead of telling
the model how to behave. Claude rejects a description that sends the
model to fetch instructions from a URL, so the fork hint left get_skill.

The toolkit answered 403 to any request with another site's Origin.
Claude and ChatGPT origins are now allowed; other origins still fail.

OpenAI needs terms of service, a domain challenge, and a plugin package.
Claude has a prefilled custom connector link that works before review.
@harlan-zw harlan-zw added the harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. label Oct 7, 2026
@harlan-github-agent harlan-github-agent Bot added harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. harlan-agent-running An Agent holds a Task on this issue or pull request right now. and removed harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. labels Oct 7, 2026
@harlan-github-agent

harlan-github-agent Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

🤖 MERGED

Harlan Agent Kit posted this automated review. It is not Harlan's personal review or approval. AI open source policy. Last updated: 2026-10-07 02:40 UTC.

GitHub merged this pull request.

No material findings were recorded.

The pull request closed.

@harlan-zw
harlan-zw merged commit eaba171 into main Oct 7, 2026
7 checks passed
@harlan-zw
harlan-zw deleted the feat/agent-app-directories branch October 7, 2026 01:36
@harlan-github-agent harlan-github-agent Bot removed the harlan-agent-running An Agent holds a Task on this issue or pull request right now. label Oct 7, 2026
@harlan-github-agent harlan-github-agent Bot removed the harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. label Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant