seo 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/evals/seo.json CHANGED
@@ -18,11 +18,11 @@
18
18
  {
19
19
  "id": 2,
20
20
  "prompt": "No MCP tools are connected in this session. Get me the main SEO report for example.com as JSON.",
21
- "expected_output": "Should use the CLI. Should check `command -v seo` first, and if it is missing, install it with `npm i -g seo` and tell the person to run `seo start` to sign in with Google. Should then run `seo report --site example.com --json` (or with `--project` when a saved project exists). Should note that JSON mode never prompts. Should read the result before summarizing and should not fabricate output if sign-in is missing.",
21
+ "expected_output": "Should use the CLI. Should check `command -v seo` first, and if it is missing, install it with `npm i -g seo` and tell the person to run `seo start` to sign in with Google. Should then run `seo report --site example.com --json`, and run `seo sites` first if the site is unknown. Should note that JSON mode never prompts. Should read the result before summarizing and should not fabricate output if sign-in is missing.",
22
22
  "assertions": [
23
23
  "Checks whether the seo command is installed before the first call",
24
24
  "Uses `npm i -g seo` and `seo start` when the command or sign-in is missing",
25
- "Runs `seo report` with --json and a site or project",
25
+ "Runs `seo report` with --json and --site",
26
26
  "Does not fabricate report output when the command cannot run"
27
27
  ],
28
28
  "files": []
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "seo",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
+ "mcpName": "io.github.iannuttall/seo",
4
5
  "description": "The SEO command for AI agents: a free Google Search Console MCP server and CLI. Reads your real Search Console, Google Analytics and Bing data for traffic drops, quick wins, content decay, cannibalization and indexing, plus DataForSEO and Ahrefs keyword research.",
5
6
  "type": "module",
6
7
  "license": "Apache-2.0",
@@ -80,7 +81,7 @@
80
81
  "deploy:web": "pnpm --filter @seo/web secrets:check && pnpm --filter @seo/web exec wrangler d1 migrations apply seo-telemetry --remote && pnpm --filter @seo/web exec wrangler deploy",
81
82
  "deploy:web:dry-run": "pnpm --filter @seo/web exec wrangler deploy --dry-run",
82
83
  "hooks:install": "node scripts/install-git-hooks.mjs",
83
- "lint": "biome check . && node scripts/check-emdashes.mjs && node scripts/check-report-parity.mjs && pnpm run skills:validate && turbo run lint",
84
+ "lint": "biome check . && node scripts/check-emdashes.mjs && node scripts/check-report-parity.mjs && pnpm run skills:validate",
84
85
  "lint:static": "biome check . && node scripts/check-emdashes.mjs && node scripts/check-report-parity.mjs && pnpm run skills:validate",
85
86
  "lint:fix": "biome check . --write",
86
87
  "loc:audit": "node scripts/loc-audit.mjs",
@@ -93,9 +94,9 @@
93
94
  "secrets:web:check-local": "pnpm --filter @seo/web secrets:check-local",
94
95
  "secrets:web:publish": "pnpm --filter @seo/web secrets:publish",
95
96
  "skills:validate": "node scripts/validate-skills.mjs",
96
- "test": "turbo run test && pnpm run build:package && pnpm run test:contracts:built",
97
+ "test": "turbo run test && pnpm run test:contracts:built",
97
98
  "test:built": "turbo run test && pnpm run test:contracts:built",
98
- "test:contracts:built": "node --test scripts/package.test.mjs scripts/provider-packages.test.mjs && pnpm run skills:validate",
99
+ "test:contracts:built": "node --test scripts/package.test.mjs scripts/provider-packages.test.mjs",
99
100
  "test:resources": "pnpm run build:package && pnpm run test:resources:built",
100
101
  "test:resources:built": "node scripts/resource-harness.mjs && node scripts/provider-resource-harness.mjs && node scripts/provider-extension-resource-harness.mjs",
101
102
  "test:package-install": "pnpm --filter @seo/core build && pnpm --filter @seo/mcp build && pnpm run build:package && node --test scripts/installed-package.test.mjs",
@@ -34,12 +34,13 @@ the CLI or the local MCP server.
34
34
  | `seo crawl` | `seo_crawl` | A site crawl with technical issues and the URLs they affect |
35
35
  | `seo internal-links --url <url>` | `seo_internal_links` | Pages that could link to a target page |
36
36
 
37
- Start with `seo_sites` (or `seo sites`) when you do not know the property.
38
- Sites can be given as `example.com`, a URL or `sc-domain:example.com`.
37
+ Run `seo_sites` (or `seo sites`) when you do not know the property.
38
+ CLI commands need `--site` (or `--url`): `example.com`, a URL or
39
+ `sc-domain:example.com`. Nothing is saved between runs; keep your own notes.
39
40
 
40
41
  ## How to run them
41
42
 
42
- 1. Run `seo report` (or `seo_report`) without a section. It shows totals
43
+ 1. Run `seo report --site <site>` (or `seo_report`) without a section. It shows totals
43
44
  against the previous period, the pages and queries that moved, and a short
44
45
  count with top rows for each section.
45
46
  2. Pick the one section that matters and run it with `--section <id>` (or
@@ -51,9 +52,8 @@ Sites can be given as `example.com`, a URL or `sc-domain:example.com`.
51
52
  4. Each result ends with the command to run next. Follow it when it fits the
52
53
  question.
53
54
 
54
- Each command takes its target and optional dates, nothing more. Brand terms,
55
- minimum impressions and the comparison period are set automatically and shown
56
- in the output.
55
+ Each command takes a target and optional dates. Everything else is automatic
56
+ and shown in the output.
57
57
 
58
58
  ## Common jobs
59
59
 
@@ -78,7 +78,8 @@ The report overview shows Google and Bing clicks for the same dates. The
78
78
  add Bing to Google. Bing lists only its top rows by week, so a missing row is
79
79
  unknown, not zero. Bing runs in the CLI and local MCP server: connect it once
80
80
  with `seo providers bing connect` (or `SEO_BING_API_KEY`). The hosted server
81
- has no Bing yet; run `npx -y seo report --site <site> --section bing --json`.
81
+ has no Bing yet, so its totals are Google only: no Bing data there is not
82
+ "no Bing traffic". Run `npx -y seo report --site <site> --section bing --json`.
82
83
 
83
84
  ## Research keys
84
85
 
@@ -99,8 +100,6 @@ as a free column next to domains; credit it as "Domain Rating by Ahrefs".
99
100
  - A Google update in the same window is timing, not cause.
100
101
  - Intentional `noindex`, canonicals and redirects are observations until the
101
102
  person says they are wrong.
102
- - Never promise clicks, rankings, indexing or traffic.
103
- - Show the facts, for example in a table, and ask before you edit any page.
103
+ - Show the facts in a table and ask before you edit any page.
104
104
 
105
- Old report names from version 0.2, such as `seo quick-wins`, still run in
106
- 0.3 and print their new command. Use the new commands.
105
+ Old 0.2 report names, such as `seo quick-wins`, print their new command.