Paperboy for Mastra
Write, fact check and publish SEO articles from Mastra
Give a Mastra agent Paperboy's tools so it can research, draft and fact check SEO articles from TypeScript.
- Nothing publishes unless you say so
- The same fact check as the dashboard
- Or self-host it (AGPL-3.0, repo coming soon)
Set up
How do I add Paperboy to Mastra?
You will create an MCPClient that points at Paperboy with a bearer header, then give its tools to a Mastra agent.
In Paperboy, open Settings and create an API key. It starts with pb_live_.
Install @mastra/mcp and set PAPERBOY_API_KEY in your environment.
Add the MCPClient file above.
Load its tools and pass them to your agent. The Mastra docs describe the tool loading methods on MCPClient.
Run the agent and ask it to call get_sites.
npm install @mastra/mcp@latest
export PAPERBOY_API_KEY=pb_live_YOUR_KEYReplace 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 the agent with a prompt that asks for get_sites. A list of your sites means the connection and key work.
How to remove it
Remove the paperboy entry from servers and unset PAPERBOY_API_KEY.
What you get
What do Paperboy's eight tools do?
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.
Freesuggest_topicsReturns the next articles to write, each with the search data that is the reason for it.
1 creditwrite_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.
12 creditsget_articleReturns the article's status, its fact-check verdict and every source. Poll it after write_article until it reads published or needs_review.
Freecheck_claimsFact checks any public URL or pasted Markdown and returns each cited claim with the sources it was compared against.
2 creditspublish_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.
Freeget_performanceSearch Console clicks, impressions and average position for a site, by day and by article.
Freeget_queriesThe queries a site, or one article, appears for in Search Console. This is where page-two keywords show up.
Free
Try it
What can I ask Mastra to do with Paperboy?
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.”
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 and summarize what to write next.”
Uses
get_queriesget_performance
Why
Why use Paperboy in Mastra and not the dashboard?
Mastra's MCPClient takes a server URL and a requestInit object, which carries the Authorization header. That is the whole connection for Paperboy's remote endpoint.
Keep the key in an environment variable and read it in code. Article writing takes a few minutes, so have the agent start it and check get_article later.
Compare
How does Mastra compare with the dashboard?
Same engine, two ways in. Pick the one that fits how you already work.
| Feature | Dashboard | Mastra | Source |
|---|---|---|---|
| Where you work | paperboyseo.com/app: sites, calendar, fact checks | TypeScript agent framework with an MCPClient in @mastra/mcp. | Mastra docs: MCP overviewRead Oct 30, 2026 |
| How it connects | Sign in and paste your site address. The first article is free. | Remote MCP. Mastra's MCPClient takes a server url as a URL object and a requestInit object for fetch options, which the docs use to send an Authorization header. | Mastra docs: MCP overviewRead 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 Mastra 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
What should I know about Mastra specifically?
Quirks of this client that can cost you an afternoon.
Keep the key in an environment variable, as the docs do, and never in source.
The Mastra docs note the default fetch path blocks redirect hops before sending them, so use the exact URL https://paperboyseo.com/mcp.
Article writing takes a few minutes, so poll get_article and do not wait on one call.
FAQ
Questions about Paperboy and Mastra
Does Mastra send custom headers to a remote MCP server?
Yes. The docs pass fetch options through requestInit, including an Authorization header.
Which package do I need?
@mastra/mcp, per the docs.
Where do I put the key?
In an environment variable such as PAPERBOY_API_KEY, read with process.env.
Where do I get the key?
In Paperboy, open Settings and create an API key. It starts with pb_live_.
How much does it cost to use Paperboy from Mastra?
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.
Can Mastra publish to my site without asking me?
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
Where do these facts come from?
Where do these facts come from?
Everything about Mastra 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.
- Mastra docs: MCP overviewread Oct 30, 2026
Keep going
Where do I go next?
Ready to run your SEO desk from Mastra?
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).