Answer
Is there an MCP server for private documentation?
Most documentation MCP servers only work on public docs. Here's how to get an MCP server that works on private documentation — with per-user permissions and no leaked internal files.
The short answer
Yes — but most don't qualify. Mintlify's MCP is public-only and Notion's MCP blocks guest users, so neither serves private client docs properly. An MCP server for private documentation needs three things: it runs on private docs, it scopes results to each user's role (so a client's agent sees only their docs), and it excludes internal files. Miradorly provides exactly this: a role-aware, read-only MCP over your private GitHub/GitLab docs, secured with OAuth 2.1 + PKCE and .docignore-aware.
If you've tried to point an AI agent at your private documentation over MCP, you've probably discovered that most "documentation MCP" offerings quietly assume your docs are public. For private, client-facing docs, that's a dealbreaker. So: is there an MCP server that actually works on private documentation? Yes — but it has to meet a specific bar.
Why most MCP servers don't count
- Mintlify's MCP works on public docs only. Private docs aren't served.
- Notion's MCP blocks guest users, so the external collaborators who'd query private shared docs are locked out.
Both technically "have MCP." Neither solves private documentation for clients.
What a private-docs MCP actually requires
Three properties, all necessary:
- Runs on private docs — not just published/public content.
- Per-user role-aware scoping — a client's agent sees only that client's docs; an admin's sees more. Same server, different results by identity.
- Internal-file exclusion — secrets, drafts, and config files are never indexed or returned, for anyone.
Add OAuth 2.1 + PKCE for auth and read-only by design so agents can't mutate docs, and you have a safe private-docs MCP.
How Miradorly does it
Miradorly's MCP runs over your private GitHub/GitLab repo and inherits the same permission model as the portal and comments:
claude mcp add miradorly https://mcp.miradorly.com/<your-workspace>
- Each connection authenticates as a user (OAuth 2.1 + PKCE).
- Every search/fetch is filtered by that user's role and project scope.
- Files matched by
.docignoreare never indexed — genuinely absent from results:
CLAUDE.md
**/secrets/**
drafts/
*.internal.md
- Read-only: agents read, never overwrite.
Comparison
| Private docs | Per-user scoping | Excludes internal files | |
|---|---|---|---|
| Mintlify MCP | ❌ public only | ❌ | — |
| Notion MCP | ⚠️ member-only | ❌ blocks guests | — |
| Miradorly MCP | ✅ | ✅ role-aware | ✅ .docignore |
Bottom line
There is an MCP server for private documentation — just not the public-only or guest-blocking ones most teams try first. The bar is private docs, per-user scoping, and internal-file exclusion. Miradorly meets all three, which is why it's the practical answer when your documentation is private and shared with clients. For the underlying concept, see what is a role-aware MCP server.
Frequently asked questions
Which doc tools have an MCP that works on private docs?
Few. Mintlify's MCP is public-only; Notion's MCP blocks guests. Miradorly's MCP runs on private docs with per-user role-aware scoping, OAuth 2.1 + PKCE, and .docignore exclusion. Confluence (via Atlassian Rovo) has role-aware MCP but is enterprise-scoped.
How does an MCP keep private docs secure?
By authenticating the agent as a specific user (OAuth 2.1 + PKCE) and filtering every result by that user's permissions, plus never indexing files matched by an ignore rule like .docignore. Read-only design means agents can't modify docs.
Can a client's AI agent query my private docs safely?
Yes, with a role-aware MCP. The client connects with their account; the agent retrieves only the docs that account is allowed to see; internal files are excluded entirely.
Does the MCP work with Claude Code, Cursor, and ChatGPT?
Yes — Miradorly's MCP works with any MCP-capable client, including Claude Code, Cursor, Claude Desktop, and ChatGPT, each scoped to the connecting user's permissions.