AI assistants and API
Connecting Claude, ChatGPT and other AI assistants to the blog through MCP, API keys and the REST API — what they may do, who connects them and how they are disconnected.
On this page
An AI assistant — Claude, ChatGPT or any other client of the Model Context Protocol (MCP) — can work with your blog straight from a conversation: add topics to the topic pool, write an article, start AI writing or configure the automation. It connects through the Monokaido MCP server and signs in the standard way, through OAuth: the assistant never gets your password, and one click takes its access away. Systems that do not speak OAuth (Make, n8n, your own scripts) use an API key and the REST API.
Everything lives under Blog → AI assistants and API.
What an assistant can do
| Area | What the assistant does | Access needed |
|---|---|---|
| Overview | The automation state, the AI authors and when each writes next, the topic pool counts, the blog language. | Read |
| Topic pool | List and read topics; add up to 50 topics at once (title, brief, priority, links), edit and delete them. | Read, changes need write |
| Articles | List and read articles; a new article with its own text (a draft unless the assistant says otherwise) and edits to one language of an article. | Read, changes need write |
| AI writing now | Monokaido writes an article right away — with an AI author, optionally on a topic from the pool. The article appears within a few minutes. | Write |
| AI authors | The list of authors, a new AI author and its edits: personality, interests, how often it writes, on or off. | Read, changes need write |
| Automation | The AI writing master switch, the status of new articles (draft or published) and automatic translations. | Write and the admin role |
| Sections and tags | The lists — so the assistant assigns existing ones to an article instead of inventing them. | Read |
An assistant always acts as you, in one company and with your role (see Access and roles). What it does is exactly what you would do in the application: topics it adds are picked up by the AI authors on their schedule (Authors), and articles follow the blog settings.
Connecting an assistant
An assistant needs one address — the MCP server's:
https://app.monokaido.com/api/mcp
The AI assistants and API page shows it with a copy button and, below it, the steps for each application.
Claude
Add a connector
In claude.ai open Settings → Connectors and choose “Add custom connector”.
Paste the address
Paste the MCP server address and confirm with “Add”.
Connect
Click “Connect”, sign in to Monokaido and approve the access on the consent screen.
ChatGPT
Developer mode
In ChatGPT open Settings → Apps & Connectors → Advanced settings and turn on Developer mode.
Create a connector
Choose “Create”, paste the MCP server address and pick OAuth as the authentication.
Connect
Connect, sign in to Monokaido and approve the access.
Claude Code and other MCP clients
In Claude Code add the server with a command and finish the sign-in in the
browser (the /mcp command):
claude mcp add --transport http monokaido https://app.monokaido.com/api/mcp
Without a browser — with an API key:
claude mcp add --transport http monokaido https://app.monokaido.com/api/mcp --header "Authorization: Bearer <API_KEY>"
Any other MCP client (Cursor, VS Code, …) works the same way: add the address as a remote (HTTP) MCP server and approve the sign-in.
The consent screen
When an assistant connects, it opens the Monokaido consent screen in the browser. You first sign in as usual — two-factor authentication included, when you have it on — and then decide what the assistant may do.
| Part | What it means |
|---|---|
| App | The name the app gave itself when it registered. It is marked “Recognised app: Claude” (or ChatGPT) only when the approval goes back to a Claude address (claude.ai, claude.com) or a ChatGPT one (chatgpt.com); otherwise the screen warns that the app is unverified. |
| Where the approval goes | The web address the browser continues to after the approval, or an app on your computer. |
| Company | A connection is for one company. Companies without the blog, or locked over an unpaid bill, are shown greyed out with the reason and cannot be chosen. |
| Access | Read is always included. Write can be unticked; with the viewer role it cannot be ticked. |
Allow creates the connection, Deny tells the assistant it got no access. Consent is asked on every connection; approving the same app in the same company again replaces the previous connection.
Access and roles
| Role in the company | What a connection may do |
|---|---|
| Viewer | Read only — the overview, topics, articles, authors, the automation, sections and tags. |
| Editor | Also change the content: topics, articles, AI authors, and start AI writing. |
| Admin | Also configure the automation (the master switch, the status of new articles, translations). |
The role is checked on every call, not when connecting. When you change a member's role or remove them from the company, their connections follow at once. The company needs an active blog; without it the assistant gets no answer to anything.
Connections
The AI assistants and API page lists the company's connections: the app or API key, who connected it, its access, when it was created and when it was last used. An admin sees every member's connections, everyone else only their own.
| Status | What it means |
|---|---|
| Active | Works. For an app, “Expires … unless used”: the app renews itself, and the connection ends only after 30 days without use. |
| Expired | An API key reached its expiry, or an app did not connect for 30 days. Connect it again. |
| Ended by a security change | A password reset, turning two-factor authentication on or off, adding or removing a passkey, or new recovery codes end every connection and API key of that person — just like their sessions. Connect the app again, create a new key. |
Disconnect (an app) and Revoke key (an API key) take effect at once — the assistant's next call fails. Revoked connections leave the list.
API keys
An API key is for systems that do not sign in through OAuth: automations (Make, n8n, Zapier), your own scripts, or Claude Code without a browser.
- An editor or an admin creates one with Create API key. Before that, Monokaido checks again that it is you — with your password, and with two-factor authentication on, with a passkey or your password and a recovery code.
- You choose a name, the access (read, or read and write) and how long it is valid: 30, 90 or 365 days, or without an end.
- The key is shown once. Copy it straight away; Monokaido does not keep it and cannot show it again. Revoke a lost key and create a new one.
- A key acts as you, in this company and with your role — exactly like a connected app. One member can hold at most 25 valid keys per company.
The key goes in the Authorization: Bearer mkp_… header — to the MCP server
and to the REST API alike.
REST API
The same operations as the MCP server, as a versioned REST API at
https://app.monokaido.com/api/v1/blog. The documentation of every call
(OpenAPI) is at https://app.monokaido.com/api/v1/docs. It accepts an API key
or an OAuth token.
# The blog overview
curl -H "Authorization: Bearer <API_KEY>" https://app.monokaido.com/api/v1/blog/overview
# Two topics into the pool
curl -X POST https://app.monokaido.com/api/v1/blog/topics \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"topics":[{"title":"How to choose trail running shoes","priority":10},{"title":"Caring for leather shoes"}]}'
Limits
| What | Limit |
|---|---|
| Calls of one connection | 300 a minute. Above it the assistant gets a 429 answer saying when to try again. |
| AI writing through an assistant or the API | 10 articles an hour per company. The automation schedule carries on unchanged. |
| Topics at once | At most 50 topics in one call. |
| Valid API keys | 25 per member and company. |