About the admin MCP
The admin MCP server gives AI tools write access to your Docfiy content and settings. Use it to update content and access your dashboard. With the admin MCP, you can use your preferred AI tools to edit pages, restructure navigation, update docs.json, open pull requests, change settings, create workflows, and more.
Connect any MCP client like Claude, Claude Code, or Cursor to the admin MCP server to collaborate on your Docfiy content and settings with the same tools you use to write code. When you use the admin MCP server, all changes happen on a branch and require a pull request to merge.
The admin MCP server allows AI tools to access your Docfiy dashboard. Treat it like a coworker with write access. Connect it only from trusted AI tools and review every pull request before merging.
How the admin MCP differs from the search MCP
| Admin MCP | Search MCP | |
|---|---|---|
| Audience | Your team | Your end users |
| Access | Read, edit, restructure, save, create workflows, manage settings | Read and search published pages |
| Endpoints | Hosted by Docfiy, scoped to your project | /mcp on your site domain |
| Output | Content edits, navigation changes, pull requests, workflow runs | Search results and page content |
Connect to the admin MCP
You must have an interactive OAuth login against your Docfiy account to connect to the admin MCP. AI tools exchange that login for a session token scoped to one project.
- Claude
- Claude Code
- Cursor
Add the admin MCP as a custom connector
- Navigate to the Connectors page in the Claude settings.
- Click Add custom connector.
- Add the connector
- Name: Admin MCP
- URL:
https://mcp.docfiy.com
- Click Add and complete the OAuth login.
Use the MCP in a chat
Click the attachments button (the plus icon), then select your admin MCP server. Claude can now call the Docfiy admin MCP tools while answering your prompt.
How a session works
Every admin MCP session binds to a single Git branch. The flow is:
Check out a branch
The first call must be checkout. It creates a fresh docfiy-mcp/<slug>-<sha> branch from your deploy branch (or attaches to an existing branch you name) and returns an editorUrl you can open to follow along in the dashboard editor.
Call list_branches before checkout if you need to discover or filter existing branches in the repository.
Read, search, and edit
The AI uses tools like search, read, list_nodes, edit_page, write_page, create_node, and update_config to make changes. All edits buffer on the session branch in real time—nothing touches your deploy branch yet.
Review the diff
Call diff at any time to see exactly what changed since main. Open the editorUrl in your dashboard to see the same changes rendered.
Save
Call save to flush the branch to Git. Use mode: "pr" (default) to open a pull request, or mode: "commit" to push directly to an existing PR branch.
Discard if needed
Call discard_session to drop all in-session changes and release the branch.
What the admin MCP can do
Content
read— Fetch the full MDX of any page on the session branch.search— Find lines matching a substring or regular expression across every page.edit_page— Apply a targeted edit to a page.write_page— Overwrite a page's full MDX content.
Navigation
list_nodes— Walk the navigation tree with optional filters. Filter byparentId(userecursive: trueto include all descendants), one or more node types, or any division scope:language,version,tab,dropdown,anchor,product, oritem. Results are paginated through an opaquecursor.create_node— Add a new page, group, tab, anchor, version, language, product, or dropdown.update_node— Update a node's properties in place (rename a group, change an icon, set a default version).move_node— Move a node, including renaming a page's path.delete_node— Remove a node from the navigation.
Configuration
update_config— Modifydocs.json(theme, navigation roots, integrations, SEO settings).
Session
checkout— Bind the session to a branch.list_branches— List Git branches available for the project, with optionalqueryfiltering. Returns the branch names, total count, and the deploy branch. Call this beforecheckoutto attach to an existing branch by name.get_session_state— Inspect the current branch, edited files, and pending nav diff.diff— List all changes between the session andmain.save— Open a pull request or commit to the session branch.discard_session— Drop the session and its in-flight changes.
Example prompts
After you connect the admin MCP, you can drive it with natural-language prompts. For example:
- "Check out a branch called
add-billing-faqand create a new page under the FAQ group titled 'Billing'. Draft answers for the five questions in this Linear issue." - "Find every page that mentions the deprecated
legacy_tokenfield and update the example to useapi_keyinstead. Save as a PR titled 'docs: replace legacy_token references'." - "Reorganize the API reference: move the webhooks pages into a new group called 'Webhooks' and update the icons to match the rest of the section."
Best practices
Open the editor URL
Open the editor URL
Every checkout returns an editorUrl. Open it in a separate tab so you can watch the AI's changes render live in the dashboard editor while you prompt.
Review every PR
Review every PR
The admin MCP is powerful enough to rewrite hundreds of pages in a single session. Before merging, read the PR diff and skim the rendered preview. Don't rubber-stamp large changes.
Use slugs for branch names
Use slugs for branch names
Pass a slug to checkout (for example, add-quickstart) so the auto-generated branch is human-readable. Without it, the branch name derives from the session token and is hard to recognize in your repository.
Keep sessions focused
Keep sessions focused
Keep each session focused to one change. Smaller sessions produce easier to review pull requests and preserve agents' context windows. Use discard_session and checkout again to pivot to unrelated work.
Sessions hold an in-memory branch on the Docfiy side. If you abandon a session without saving or discarding it, the branch persists until your next checkout overwrites it. Avoid leaving stale docfiy-mcp/* branches in your repository. Clean them up periodically.