Authoring MCP Server
Connect AI clients to Documentation.AI to read, edit, and publish your documentation, and see every tool the server provides.
Overview
The Authoring MCP Server lets an MCP-compatible AI client work in your documentation project. It can read pages, write and reorganize content, add images and files, update documentation.json, manage branches, and publish changes.
This is the server your documentation team connects to, and it uses your role in your Documentation.AI organization. To give readers AI access to your published docs, use the Reader MCP Server. To work over HTTP from your own scripts or CI/CD, use the REST API.
How edits work
- Changes the agent makes to pages appear in the web editor as unpublished changes, the same as a teammate's edits.
- Nothing goes live until the changes are published.
- Publishing a branch includes every unpublished change on it, including your teammates' edits.
- Media is the exception. Your media library is shared by every branch, so importing, replacing, or deleting a file takes effect right away. Replacing or deleting a file changes every page that uses it, including your live site.
The server acts with your Documentation.AI permissions. Connect it only to AI clients you trust, and ask the agent to work on a separate branch when you want a review before anything goes live.
Setup and authentication
Add the server URL to your MCP client, then sign in with your Documentation.AI account. No API keys are needed.
https://api.documentation.ai/mcp
The earlier URL, https://api.documentationai.app/mcp, keeps working. If you switch to the new URL, sign in once more.
Configure your MCP client
Run this command in your terminal:
claude mcp add --transport http documentation-ai https://api.documentation.ai/mcp
Then run /mcp in Claude Code, select documentation-ai, and sign in when the browser opens.
In Claude on the web or in Claude Desktop, open Settings, go to Connectors, and choose Add custom connector. Enter a name such as Documentation.AI and the server URL, then connect and sign in.
Custom connector availability depends on your Claude plan.
Add the server to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json to use it in every project:
{
"mcpServers": {
"documentation-ai": {
"url": "https://api.documentation.ai/mcp"
}
}
}
Open the MCP settings in Cursor and sign in when the server asks for it.
Add the server to .vscode/mcp.json in your workspace:
{
"servers": {
"documentation-ai": {
"type": "http",
"url": "https://api.documentation.ai/mcp"
}
}
}
Start the server from the MCP servers list and sign in when prompted.
If your client supports remote MCP servers, give it the server URL and sign in when prompted.
If your client can only run local servers, connect through mcp-remote:
{
"mcpServers": {
"documentation-ai": {
"command": "npx",
"args": ["mcp-remote", "https://api.documentation.ai/mcp"]
}
}
}
Choose a project and branch
Tell the agent which documentation project and branch to work on. It finds and selects the project with list_projects and select_project, and works on your live branch unless you name a different one.
Example workflow
Describe the task to your AI client in plain language, and it calls the tools for you.
Choose where to work
Ask the agent to use your documentation project and to create a branch for the work, such as update-api-guides.
Make the changes
Ask for the changes you want. The agent reads the relevant pages and edits them.
Review
Ask the agent to summarize what changed, or review the changes in the editor's Changes panel.
Publish the branch
Ask the agent to publish. The changes are saved to the branch, and your live site is unchanged.
Go live
When the branch is ready, ask the agent to merge it into your live branch.
For small fixes, the agent can edit your live branch directly. The edits stay unpublished until you ask it to publish, so you can review them first.
Add images and files
Tell the agent which image or file you want and where it goes. The agent adds the file to your media library, then inserts it into the page with the same snippet the web editor writes.
- If the file is at a public URL, give the agent the URL and the place on the page. For example:
Import https://example.com/setup-diagram.png and add it under the Install heading in guides/setup.mdx - If the file is on your computer, ask the agent for an upload link. Open the link, sign in if asked, and drop your files. Then tell the agent you're done, and it finds the files in your media library. The link works for 15 minutes.
- If the file may already be there, ask the agent to find it by name or alt text first, and reuse it instead of importing a second copy.
- If you want a newer version on every page, ask the agent to replace the file from a URL. The URL stays the same, so pages update without edits.
For step-by-step instructions, limits, and supported file types, see Media library.
Tools reference
The server provides 32 tools. Read-only tools never change your documentation. Destructive tools can overwrite or discard content, including your teammates' unpublished edits, so most clients ask you to confirm them first. Only tools that add something new, such as creating a page or importing a file, go through without a prompt.
| Tool | What it does | Minimum role | Behavior |
|---|---|---|---|
list_projects | Lists your organizations, documentation projects, and roles | Viewer | Read-only |
select_project | Sets the default project and branch | Viewer | Session setting |
get_component_reference | Returns MDX component syntax and examples | Viewer | Read-only |
get_config_reference | Returns the documentation.json settings reference | Viewer | Read-only |
get_site_config | Returns documentation.json | Viewer | Read-only |
list_pages | Lists the files in your project | Viewer | Read-only |
get_page | Returns the content of a file | Viewer | Read-only |
search | Searches your published documentation | Viewer | Read-only |
fetch | Returns a page from a search result | Viewer | Read-only |
list_changes | Lists unpublished changes on a branch | Viewer | Read-only |
diff_page | Shows the unpublished changes to a file | Viewer | Read-only |
list_branches | Lists branches and shows which one is live | Viewer | Read-only |
list_pull_requests | Lists pull requests | Viewer | Read-only |
list_media | Lists files in your media library, with URLs and snippets | Viewer | Read-only |
search_media | Finds files in your media library by name or alt text | Viewer | Read-only |
create_page | Creates a page or another file | Editor | Makes changes |
create_branch | Creates a branch | Editor | Makes changes |
import_media | Adds files to your media library from URLs | Editor | Makes changes |
request_upload | Gives you a link to upload files from your computer | Editor | Makes changes |
update_page | Replaces specific text in a page | Editor | Destructive |
rewrite_page | Replaces the full content of a page | Editor | Destructive |
update_site_config | Changes values in documentation.json | Editor | Destructive |
resolve_conflict | Saves the resolved version of a conflicting file | Editor | Destructive |
move_page | Moves or renames a file | Editor | Destructive |
delete_page | Deletes a file | Editor | Destructive |
publish | Publishes the unpublished changes on a branch | Editor | Destructive |
revert_page | Discards unpublished changes to one file | Editor | Destructive |
revert_all_changes | Discards every unpublished change on a branch | Editor | Destructive |
merge_branches | Merges one branch into another | Editor | Destructive |
delete_branch | Deletes a branch | Editor | Destructive |
replace_media | Replaces a file with a new version, keeping its URL | Editor | Destructive |
delete_media | Deletes files from your media library | Admin | Destructive |
Most tools also accept organizationId and documentationId to work on a specific project, and branch to work on a specific branch. Tools that return lists accept limit and cursor to page through results.
Projects
Authoring reference
Read content
Edit content
Review and publish
Branches
Media
Files belong to your documentation project, not to a branch, so these tools do not take branch. Each file gets its own result, so one failed file does not stop the others.
Resources
The server also provides these reference resources:
| Resource | URI | Description |
|---|---|---|
| Components Reference | docs://components | MDX components with attributes and examples |
| Config Reference | docs://config-schema | The documentation.json settings reference |
| Project Config | docs://project/config | Your project's current documentation.json |
Role-based access
Your role in your Documentation.AI organization decides which tools you can use.
| Role | Access |
|---|---|
| Viewer | Read-only tools, plus select_project |
| Editor | All tools except delete_media |
| Admin | All tools |
If you want an AI client to read your published documentation without being able to change it, use the Reader MCP Server instead.