Let your agent publish, not just write
Your AI agent can already write a blog post. What it cannot do is get that post onto your WordPress with a hero image, FAQ schema, internal links and a meta description in place. TalkGenAI gives it hands.
MCP server plus a plain HTTP API and a skill file. One key, about two minutes. Works with Claude Code, Cursor, VS Code, Claude Desktop, OpenClaw, n8n, or anything that can run curl.
An article costs 5 credits, or 8 with a hero image, and takes 45 seconds to 6 minutes depending on length. A free account starts with enough for about 3 articles, no card. Reading and publishing cost nothing.
Set it up
-
Create an agent key
Sign in or create a free account, then in your dashboard open Integrations and find the Connect your agent panel. Press + New Agent Key and copy the key. It starts with
tgai_.Treat it like a password. It can publish to your live site, so do not paste it into a public repo or a shared chat. You can revoke it from the same panel at any time.
-
Connect it
If your client speaks MCP, paste the config below and it discovers the tools itself. Everything else reads skill.md and calls the API directly. Either way the key goes in
TALKGENAI_API_KEY.MCP. One command:
claude mcp add --transport http talkgenai \ https://app.talkgen.ai/mcp \ --header "Authorization: Bearer $TALKGENAI_API_KEY"Then just ask: "Write a post about X and publish it as a draft to my site."
MCP. Add to
.cursor/mcp.jsonor.vscode/mcp.json:{ "mcpServers": { "talkgenai": { "type": "http", "url": "https://app.talkgen.ai/mcp", "headers": { "Authorization": "Bearer tgai_your_key_here" } } } }Claude Desktop reaches remote servers through
mcp-remote. Add toclaude_desktop_config.json:{ "mcpServers": { "talkgenai": { "command": "npx", "args": [ "-y", "mcp-remote", "https://app.talkgen.ai/mcp", "--header", "Authorization: Bearer tgai_your_key_here" ] } } }# No MCP client: give it the skill file instead curl -s https://app.talkgen.ai/skill.md > ~/.openclaw/skills/talkgenai.md # Export the key so the agent can use it export TALKGENAI_API_KEY=tgai_your_key_here
Use an HTTP Request node against the endpoints below. Set a header
Authorization: Bearer tgai_your_key, then chain three nodes: create, wait-and-poll, publish.POST https://app.talkgen.ai/api/v1/articles GET https://app.talkgen.ai/api/v1/articles/{{ $json.job_id }} POST https://app.talkgen.ai/api/v1/articles/{{ $json.job_id }}/publishexport TALKGENAI_API_KEY=tgai_your_key_here AUTH="Authorization: Bearer $TALKGENAI_API_KEY" # Confirm the key works curl -s -H "$AUTH" https://app.talkgen.ai/api/v1/credits
-
Connect a site to publish to
If you have not already, connect your WordPress, Webflow, Shopify or Wix site in the dashboard. Your agent can generate articles without one, but it needs a connected site to publish.
The whole loop
Four calls: find the site, start the article, wait for it, publish it.
export TALKGENAI_API_KEY=tgai_YOUR_KEY AUTH="Authorization: Bearer $TALKGENAI_API_KEY" # 1. Which sites can I publish to? curl -s -H "$AUTH" https://app.talkgen.ai/api/v1/sites # 2. Start the article (5 credits, returns immediately) JOB=$(curl -s -X POST https://app.talkgen.ai/api/v1/articles \ -H "$AUTH" -H "Content-Type: application/json" \ -d '{"title":"How to choose a CRM for a 5-person agency","length":"medium"}' \ | jq -r .job_id) # 3. Poll every 10s until status is "completed" curl -s -H "$AUTH" https://app.talkgen.ai/api/v1/articles/$JOB # 4. Publish as a DRAFT to the site from step 1 curl -s -X POST https://app.talkgen.ai/api/v1/articles/$JOB/publish \ -H "$AUTH" -H "Content-Type: application/json" \ -d '{"connection_id":"wpc_abc123"}'
It publishes drafts unless you say otherwise
status defaults to draft. To put a post live your agent has to
explicitly send {"status": "publish"}, and that overrides
whatever default you set for your own dashboard use.
Plenty of tools promise a human review step. This is the switch, in the API, where you can see it. An agent running unattended lands a draft and hands you the edit link. It goes live when you decide it does, not when the agent decides it is finished.
Endpoints
| Endpoint | Does | Cost |
|---|---|---|
| GET /api/v1/sites | List sites you can publish to | Free |
| GET /api/v1/content-plan | What is planned, and what is already done | Free |
| POST /api/v1/articles | Start an article, or write a plan card | 5 credits, 8 with an image |
| GET /api/v1/articles/{job_id} | Poll status, then get the HTML and SEO fields | Free |
| POST /api/v1/articles/{job_id}/publish | Publish to a connected site | Free |
| GET /api/v1/rankings | Search Console positions for a site | Free, Growth plan and up |
| GET /api/v1/credits | Balance and plan | Free |
Over MCP the same commands arrive as tools: list_sites,
get_content_plan,
generate_article, get_article,
publish_article, check_credits,
get_rankings. Full request and response shapes, every field,
and the error codes are in skill.md, which is written for your
agent to read directly.
Questions people ask
Do I need a paid plan?
No. Every account can create an agent key, including free ones, which start with enough credit for about three articles. See pricing for what happens after that.
Can my agent see my whole site?
No. The key can generate articles and publish them to sites you have already connected. It cannot connect new sites, change your billing, or read anything outside your own workspace.
What if my agent goes haywire?
Two brakes. Credits cap how many articles can ever be generated, and drafts are the default so nothing reaches your readers without you. Revoke the key from the dashboard at any time and it stops working immediately.
Is there an MCP server?
Yes, at https://app.talkgen.ai/mcp, authenticated with the same
key in an Authorization header. It works in any client that can
set one: Claude Code, Cursor, VS Code, Windsurf, Codex, and Claude Desktop through
mcp-remote. ChatGPT and Claude.ai custom connectors need OAuth,
which is not built yet.