Paperboy for OpenCode
Draft and fact check articles from the OpenCode terminal with Paperboy defined in your opencode.json.
Set up
You will add Paperboy as a remote MCP server in opencode.json with an Authorization header.
Create an API key in Paperboy under Settings. It starts with pb_live_.
Open opencode.json (or opencode.jsonc) for your project or user config.
Add the paperboy entry under the mcp object, as shown above.
Restart OpenCode.
Ask the agent to call one Paperboy tool, such as get_sites.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"paperboy": {
"type": "remote",
"url": "https://paperboyseo.com/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer pb_live_YOUR_KEY"
}
}
}
}Replace pb_live_YOUR_KEY with a key from Settings, API keys, and never commit it. The MCP docs list every client we cover.
How to tell it worked
Run opencode mcp list to see servers and their authentication status, and opencode mcp debug paperboy if it fails. Then ask the agent to call get_sites.
How to remove it
Remove the paperboy entry from the mcp object, or set enabled to false.
What you get
Eight tools, the same engine as the dashboard. Reads are free. A pack is $20 for 100 credits; see how credits work.
get_sitesLists your sites with plan, publishing method and whether Search Console is connected. Every other call starts from a site id.
suggest_topicsReturns the next articles to write, each with the search data that is the reason for it.
write_articleStarts a fact-checked article and returns an id at once. The run takes a few minutes. It does not publish unless you pass publish: true.
get_articleReturns the article's status, its fact-check verdict and every source. Poll it after write_article until it reads published or needs_review.
check_claimsFact checks any public URL or pasted Markdown and returns each cited claim with the sources it was compared against.
publish_articlePublishes an article that passed the fact check to the site's publishing target. It changes the live site, so the agent should ask first.
get_performanceSearch Console clicks, impressions and average position for a site, by day and by article.
get_queriesThe queries a site, or one article, appears for in Search Console. This is where page-two keywords show up.
Try it
Plain requests. The tools each one uses are listed under it.
“Use Paperboy to list my sites, suggest topics for the main one, and write an article for the top topic. Save it under content/blog.”
Uses get_sitessuggest_topicswrite_article
“Fetch my latest Paperboy draft with get_article and run check_claims on it. Tell me which claims need a source.”
Uses get_articlecheck_claims
“Ask Paperboy for my top search queries and page performance this month, then write the findings into SEO_NOTES.md.”
Uses get_queriesget_performance
Why
OpenCode puts MCP servers under an mcp object in opencode.json. A remote server takes type remote, a url and headers, so Paperboy fits in one entry with the Authorization header and no extra tooling.
The CLI helps with setup problems. opencode mcp list shows each server and its authentication status, and opencode mcp debug paperboy helps when a connection fails. If the file is committed, keep the key out of it.
Compare
Same engine, two ways in. Pick the one that fits how you already work.
| Feature | Dashboard | OpenCode | Source |
|---|---|---|---|
| Where you work | paperboyseo.com/app: sites, calendar, fact checks | Open source terminal coding agent configured through opencode.json. | OpenCode docs: MCP serversRead Oct 30, 2026 |
| How it connects | Sign in and paste your site address. The first article is free. | Remote MCP. OpenCode documents remote MCP servers in opencode.json with type remote, a url and an optional headers object. | OpenCode docs: MCP serversRead Oct 30, 2026 |
| Does it publish without asking? | Your choice: autopilot, or approve each article by email. | No. write_article defaults to publish: false, and the tool descriptions tell the agent to ask first. | MCP docsPaperboy docs |
| Fact check | Every number and cited sentence is compared with the saved text of its source. An article that fails gets one rewrite, then is held for you. | The same engine and the same check. The verdict comes back to the agent: verified, or held with the reason. | How the check worksPaperboy docs |
| What it costs | Plans from $49 a month per site. The first article is free, no card. | Credits: 12 per article, 1 per topic suggestion, 2 per fact check. $20 buys 100. | CreditsPaperboy docs |
| Search Console | Optional read-only Search Console connection. It picks topics from your impressions and reports clicks per article. | get_performance and get_queries return the same read-only data, by day, by article and by query. | Security and dataPaperboy docs |
Facts about OpenCode come from the pages linked in the Source column, read on the date shown. Tools change their docs, so confirm there if a step does not match.
Honest notes
Quirks of this client that can cost you an afternoon.
The key is mcp and the server type is the string remote.
A project opencode.json is often committed, so keep the real key out of it.
The docs mention an oauth option. Paperboy uses a plain Authorization header, so you do not need it.
FAQ
Yes. The docs show a remote entry with url and a headers object, including an Authorization Bearer example.
opencode.json or opencode.jsonc, under the mcp object.
The docs list opencode mcp list, opencode mcp auth, and opencode mcp debug followed by the server name.
No. The oauth key is optional, and a headers entry carries the Paperboy key.
The tools that read cost nothing. Suggesting topics costs 1 credit, writing a fact-checked article costs 12 credits (refunded if the run fails) and a fact check on its own costs 2 credits. A pack is $20 for 100 credits.
Only if you let it. write_article defaults to publish: false, so a finished article waits for a human, and the tool descriptions tell the agent to ask before publishing. You can also give the agent a read-only key.
Sources
Everything about OpenCode comes from the pages below, read on Oct 30, 2026. Tools change their docs, so check there if a step does not match. If we got something wrong, write to hello@paperboyseo.com.
Keep going
Add the MCP server, ask for a topic, and read the fact check before anything goes live.
claude mcp add --transport http paperboy https://paperboyseo.com/mcp --header "Authorization: Bearer pb_live_..."npx @paperboyseo/cli coming soonPrefer the dashboard? Write my first article free. Prefer to run it yourself? Self-host it (repo coming soon).