Monthly SEO report from finalised Search Console data and live-page evidence.
Use this monthly SEO report for a short, repeatable summary of search performance and the next work to investigate. Every headline stays tied to its finalised date range, returned rows, and source coverage.
Run this report from the CLI, an MCP client, or application code. Every surface uses the same report definition and returns the same evidence. JSON is the source of truth; Markdown makes it readable without hiding dates, limits, warnings, or skipped work.
What this report helps you decide
What happened in organic search this month and what should be investigated next?
- A monthly review needs consistent periods and repeatable narrative structure.
- The selected month has finalised provider data.
Command facts
- Report id
monthly-report- Execution
Local process- Outputs
JSON and Markdown- Example parameters
site, month, limit, includeBrand, verifyContent, verifyLimit- Agent discovery
seo reports describe monthly-report --json- Interactive prompts
Human CLI commands only
When this report is not the right tool
These cases need a different report, more evidence, or a human decision. Do not force this report to answer a question its data cannot support.
- You need a current technical inventory rather than a monthly Search Console summary. Recommended report: Crawl a site for technical SEO issues. Run a site crawl to add current response, redirect, canonical, robots, metadata, link, and structured-data evidence. The monthly report does not crawl the whole site.
- You need to explain why search performance changed during the month. No automated report can assign a cause from monthly totals. Use this report to identify the movement and next evidence to inspect, then review releases, page changes, demand, competitor activity, and confirmed Google updates before drawing a conclusion.
Data sources and inputs
- Finalised Search Console data. Provides the selected calendar month, compatible comparison data, and returned page and query evidence.
- Optional live-page checks. Verifies a limited number of opportunity pages before the report suggests follow-up work.
What this report checks
- Builds the requested calendar month and compares only compatible finalised evidence.
- Summarises supported movement and opportunities while preserving skipped sections, row limits, and source gaps.
How it works
- Builds the requested calendar month, compares compatible evidence, limits detail, and writes narrative from structured report results.
The JSON result keeps dates, thresholds, limits, skipped work, and source completeness beside the finding. Missing, partial, capped, filtered, and complete data remain different states.
Run the report from the CLI
Create a report for the latest complete calendar month. Agents and CI should inspect the live schema before their first run.
Run it from the CLI
seo monthly-report --project exampleCheck the agent input schema
seo reports describe monthly-report --jsonRun it from an agent or script
seo reports run monthly-report --params '{"site":"sc-domain:example.com","month":"2026-05","limit":10,"includeBrand":false,"verifyContent":true,"verifyLimit":5}' --jsonProject profiles can fill supported property and analytics inputs for the human-facing commands. The catalog form shown here is explicit by design, so agents and CI jobs do not prompt or guess.
How an MCP agent should use it
Call seo_describe_report first so the agent sees when this report is useful and gets the current input schema. Then callseo_run_report with the validated parameters. Read the status, warnings, source limits, and skipped sections before acting on a finding.
Describe the report with MCP
{
"id": "monthly-report"
}Run the report with MCP
{
"id": "monthly-report",
"params": {
"site": "sc-domain:example.com",
"month": "2026-05",
"limit": 10,
"includeBrand": false,
"verifyContent": true,
"verifyLimit": 5
}
}Use a follow-up report returned by the result instead of guessing the next tool. The local MCP server and CLI use the same report definition and evidence. Their outer transport envelopes differ.
Use the report in a TypeScript app
Install seo as a project dependency, then call the same report catalog used by the CLI and MCP. executeReportrejects an unknown report id or invalid parameters. Provider and runtime failures come back as structured results withisError set.
Install the library
npm install seoRun this report from TypeScript
import { executeReport } from 'seo/mcp'
const result = await executeReport(
'monthly-report',
{
"site": "sc-domain:example.com",
"month": "2026-05",
"limit": 10,
"includeBrand": false,
"verifyContent": true,
"verifyLimit": 5
},
)
console.log(result)The TypeScript library guide also covers direct core functions, schema discovery, and the difference betweenexecuteReport and runReport.
What comes back and how to read it
- A readable monthly narrative with headline metrics, comparison context, opportunities, and caveats.
- Structured JSON with exact dates, source details, returned rows, skipped work, and focused next actions.
- Read data coverage before headline movements. Use the report to choose investigations, not to fill gaps with explanations.
Start with dataStatus, source details, warnings, and caveats. Then inspect the observed evidence before derived findings or suggested actions.
What this report cannot tell you
- Search Console totals and returned dimensional rows have different semantics and may not reconcile exactly.
What to do next
- Run the focused report attached to a leading item.
- Save the report as the baseline for the next monthly review.
Related reports
- Explain crawl findings clearly. Turn crawl and search evidence into a short report that explains what matters and what to do next.
- Create a monthly SEO action plan. Produce the shared monthly SEO report and finish with a short list of evidence-backed follow-up work.
- Review SEO performance. See where clicks and impressions changed, which pages or queries account for the movement, and what to inspect next.
Sources behind the guidance
These primary sources define the provider data or search controls used in the interpretation above.
Browse all reports in Reporting.