Overview
Maito's MCP server lets AI coding assistants and other MCP clients access draft and document actions over HTTP. It supports Model Context Protocol with OAuth.
Getting started
Add this server URL to your MCP client:
https://api.maitoai.com/mcp
Most MCP clients support remote or URL-based servers. Add the URL above and the client should detect OAuth automatically.
When the client connects, it should open a browser window so the user can authorize access through Clerk's consent screen.
App setup
Claude Code
Run this command in your terminal:
claude mcp add maito --transport http https://api.maitoai.com/mcp
Claude Code should detect OAuth support and open the browser-based authorization flow.
Claude Desktop
Go to Settings → Integrations → Add MCP Server. Enter https://api.maitoai.com/mcp. The app should prompt the user to authorize in the browser.
Cursor
Go to Cursor Settings → MCP → Add new MCP Server. Set the type to URL, enter https://api.maitoai.com/mcp, then complete the OAuth consent flow.
Windsurf
Follow Windsurf's MCP configuration guide and add a remote HTTP server with URL https://api.maitoai.com/mcp. Windsurf should handle the OAuth flow after connection.
Codex
Run this command in your terminal:
codex mcp add maito --url https://api.maitoai.com/mcp
Codex should detect OAuth support and launch the browser consent screen automatically.
VS Code / Copilot
Add to your MCP settings (.vscode/mcp.json or user settings):
{
"servers": {
"maito": {
"type": "http",
"url": "https://api.maitoai.com/mcp"
}
}
}
ChatGPT
Go to Settings → Connectors → Add Connector. Use URL https://api.maitoai.com/mcp and complete the OAuth authorization flow if prompted.
Other MCP clients
Any MCP client that supports remote HTTP MCP servers with OAuth can connect. Use https://api.maitoai.com/mcp and authorize when prompted.
Available tools
| Tool | Description |
|---|---|
| draft.list | List drafts in the active account set |
| draft.get | Get full details for a specific draft |
| draft.create | Create a new draft |
| draft.revise | Create a new draft version |
| draft.schedule | Schedule a draft for later publishing |
| draft.publish_now | Publish a draft immediately |
| draft.unschedule | Remove a scheduled publish for a destination |
| document.get | Get a document file by path |
| document.upsert | Create or update a document file by path |