fix(docs): repair the /mcp redirect and unpublish the internal analytics note#52
Merged
Merged
Conversation
…ics note Three things, all found by auditing docs.json against the file tree. /mcp/:slug* redirected to /mcp, but the page is mcp-server. Every /docs/mcp/* URL 308'd into a 405, including the two /docs/mcp/overview links in the public llms.txt. Repointed both the splat and a new bare /mcp entry at /mcp-server. /job-types/caption-burn fell through the splat to /jobs/caption-burn and then hopped again to /jobs/captions/burn. Added a direct rule. ANALYTICS.md sat in the publish root, so Mintlify served it at /docs/ANALYTICS and listed it in the sitemap despite it being an internal PostHog note. CLAUDE.md and README.md were already removed for the same reason. Moved to .github/. Added validate-nav-and-redirects.mjs to make all three classes fail CI: pages on disk but absent from the nav, redirects pointing at pages that do not exist, and nav entries with no file. The existing frontmatter validator only walks .mdx, and the workflow only triggered on .mdx, which is why a stray .md and a docs.json edit were never checked.
a-essawy
added a commit
that referenced
this pull request
Jul 21, 2026
/docs/mcp is Mintlify's own hosted MCP server endpoint for this site, not a
page. It is POST-only JSON-RPC, so a GET correctly returns 405, and the
platform route wins over anything in the redirects table. Confirmed against
production: a JSON-RPC initialize returns serverInfo {"name":"Rendobar"}.
The /mcp -> /mcp-server rule added in #52 therefore never fires. It was
covering for a 405 that is not a defect. Leaving it in place would tell the
next person reading this file that /docs/mcp redirects, and validate-nav
passes it because the destination is a real page.
The actual fix from #52 is unaffected: /mcp/:slug* still sends every
/docs/mcp/<page> URL to /mcp-server. Verified live.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Found while auditing Search Console for rendobar.com on 2026-07-21. Three defects, all from
docs.jsondisagreeing with the file tree./mcp/*redirected into a dead page{"source": "/mcp/:slug*", "destination": "/mcp"}— but the page ismcp-server.mdx. There is no/mcp. Every/docs/mcp/*URL 308'd to/docs/mcp, which returns 405:/docs/mcp/overviewis linked twice from the publicllms.txt, and Search Console has it sitting in "Crawled - currently not indexed" with 5 impressions at position 23. Repointed the splat at/mcp-serverand added an explicit bare/mcprule (the splat does not match the bare path — verified:/docs/mcpwas not redirecting)./job-types/caption-burntook two hopsIt fell through the
/job-types/:slug*splat to/jobs/caption-burn, which then redirected again to/jobs/captions/burn. Added a direct rule ahead of the splat.ANALYTICS.mdwas a public pageMintlify serves every
.md/.mdxin the repo whether or not it is innavigation. So an internal PostHog note was live athttps://rendobar.com/docs/ANALYTICS(HTTP 200) and listed in/docs/sitemap.xml.CLAUDE.mdandREADME.mdhad already been deleted from this repo for exactly this reason — this one was missed. Moved to.github/.Guard
scripts/validate-nav-and-redirects.mjsfails CI on all three classes:Static checks against
docs.jsonplus the file tree, no network.Why nothing caught these before:
validate-frontmatter.mjsonly walks.mdx, so a stray.mdwas invisible to it, and the workflow's path filter only triggered on**/*.mdx, so adocs.json-only change ran no checks at all. Both now include**/*.mdanddocs.json.Test plan
Guard verified against the real bug: temporarily restoring
/mcp/:slug* -> /mcpmakesvalidate:navfail withRedirect "/mcp/:slug*" points at "/mcp", which is not a page in this repo; reverting makes it pass.After deploy, confirm:
The
/docs/ANALYTICScheck is the one to actually run: it confirms that a dot-directory is outside Mintlify's content tree, which is the assumption the guard's suggested remedy rests on.