Repository navigation
feat(mcp): add the MCP reference page, browse, and submit tools - #548
Conversation
The Claude listing needs public docs that an IT admin can review. /developers/mcp lists every tool from the definitions the directories scan, with limits, data, troubleshooting, and support by email or Discord. It renders noindex until a measured query admits it. The MCP server stays on Skill discovery and provenance; curator features are under review. get_collection leaves the server, and install_command accepts only Skill and Repository refs. Evals showed Agents calling a Skill safe or verified. get_skill now says skilld does not check safety, and the server instructions forbid the claim. The chat-app wording from #520 moves from the get_skill description into the server instructions, because the Claude directory rejects behaviour instructions in a tool description.
|
Agent note (Harlan Agent Kit). Checked by hand on a local production build served by wrangler dev, since CI cannot cover it:
|
Search alone left an Agent without a way to browse. Four read-only tools now read the same answers as the site: list_tracks and get_track for one kind of work, list_trending for the Skills developers talked about or starred, and get_repository for every Skill in one Repository. Each description leads with the user's goal and bounds its output under the MCP limit. The ChatGPT setup steps described a Developer mode toggle that no longer exists. They now follow the Plugins flow verified in ChatGPT on the web, and link OpenAI's current guide instead of naming plans.
|
Agent note (Harlan Agent Kit), for head b2b9b0b. Checked by hand, since CI cannot cover it:
|
An Agent that finds a repository the registry lacks had no way to add it. submit_repository calls the public index request and returns the indexed Skills, or a queued id with a status URL. The API dedupes a repeat request, so the tool is idempotent, and it is the only tool that is not read only. Every page and listing that called all tools read only now names the exception. WebMCP passes each tool's own read-only hint instead of marking every tool read only.
|
Agent note (Harlan Agent Kit), for head fed3532. Checked by hand, since CI cannot cover it: a local production build lists 8 tools, each with annotations.title. submit_repository is the only one with readOnlyHint false, and idempotentHint is true. /developers/mcp shows 7 Read only badges and 1 Queues a request. Against the live API, submit_repository with vercel-labs/agent-skills answers indexed with 9 Skills and the Repository page. That repository was already indexed, so no job was queued. With https://gitlab.com/a/b it answers "Cannot index https://gitlab.com/a/b. Send owner/repo or the URL of a public GitHub repository." |
# Conflicts: # layers/mcp/shared/mcp-install-command.ts # test/unit/mcp-discovery.test.ts




🔗 Linked issue
Related to #517
❓ Type of change
📚 Description
The Claude directory listing needs public docs that an IT admin can review. The only docs were the setup steps on
/developers, which say nothing about what each tool does or what data it sees. The MCP server could also only search: an Agent had no way to browse, or to add a repository the registry lacks.New
/developers/mcppage, owned by the MCP layermcpTools, so the page lists exactly what the directories scan. Each tool now carries anexamplePrompt.#support, by email or Discord).noindex,follow.FREEZE_AUDIT_PATHSlists it, which keeps it out of the pages sitemap until a measured query admits it./developersmoved todevelopers/index.vueso the new route is a sibling, not a child. It links the new page from its MCP steps.claudeConnectorUrlmoved toshared/agent-setup.ts, so both layers build the Add to Claude link without a cross-layer import.Four browse tools
list_tracksandget_trackread tracks, each a page of Skills for one kind of work.list_trendingreads the trending board, and each row says whether developers talked about it on X or Bluesky or its GitHub stars rose.get_repositorylists every Skill in one Repository.pageUrlandrunCommandfrom the API, so provenance stays one click away.GLOSSARY.mdfreezeslist_tracksandget_trackas identifiers for "track".Submit a repository
submit_repositoryasks skilld.dev to index a public GitHub repository through the public index request. It returns the indexed Skills, or a queued id with a status URL that later reports progress or the failure reason, such as a private repository./developers,/developers/mcp, privacy, terms, the OpenAI package, the runbook, and theskilld-registrySkill. WebMCP now passes each tool's own read-only hint.The MCP server stays on Skill discovery and provenance; curator features are under review
get_collectionleaves the server and the WebMCP tools.install_commandaccepts onlyowner/repoandowner/repo/skill-name. A curator or collection ref now returns the accepted forms. The CLI and the site's collection pages are untouched.skilld-registrySkill drop the collection tool.Safety claims
get_skilldescription now states that skilld does not check whether a Skill is safe. The server instructions say skilld.dev shows provenance, does not review safety, and never calls a Skill safe or verified.get_skilldescription. The Claude compliance step rejects behaviour instructions in a tool description, so that wording moved into the server instructions with the same meaning.ChatGPT setup steps
Support and listings
supportURLin the OpenAI package (/developers/mcp#support), and the runbook's Claude fields.wrangler.jsoncvars through a pull request, because the deploy workflow is the only path to production.MCP clients that call
get_collection, or pass a curator or collection ref toinstall_command, now get an error. ChatGPT and Claude drop the tool on their next scan.