seo 0.3.0-beta.2 → 0.3.0
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/PRIVACY.md +62 -25
- package/README.md +49 -18
- package/dist/cli.js +136 -130
- package/dist/cli.js.map +1 -1
- package/dist/{dist-D41t9hLG.js → dist-C9P8dY80.js} +1 -1
- package/dist/{dist-STeaS3Hh.js → dist-wSAqXmM1.js} +58 -58
- package/dist/dist-wSAqXmM1.js.map +1 -0
- package/dist/index.d.ts +24 -4
- package/dist/index.js +74 -11
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +473 -38
- package/dist/mcp.js.map +1 -1
- package/dist/{package-1f8VcMU8.js → package-7H_jIpAz.js} +2 -2
- package/dist/{package-1f8VcMU8.js.map → package-7H_jIpAz.js.map} +1 -1
- package/evals/research.json +2 -2
- package/package.json +10 -2
- package/skills/seo/SKILL.md +21 -11
- package/dist/dist-STeaS3Hh.js.map +0 -1
package/evals/research.json
CHANGED
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
{
|
|
29
29
|
"id": 3,
|
|
30
30
|
"prompt": "I have not set up any keyword provider. Just estimate typical volumes for these keywords yourself.",
|
|
31
|
-
"expected_output": "Should not invent search volumes. Should explain that research needs the person's own DataForSEO or Ahrefs key. For the CLI, should point to `seo providers dataforseo connect` or `seo providers ahrefs connect`. For the hosted server, should point to the
|
|
31
|
+
"expected_output": "Should not invent search volumes. Should explain that research needs the person's own DataForSEO or Ahrefs key. For the CLI, should point to `seo providers dataforseo connect` or `seo providers ahrefs connect`. For the hosted server, should point to the account page at https://seoskill.dev/account or client headers, and should not ask the person to paste a key into the chat.",
|
|
32
32
|
"assertions": [
|
|
33
33
|
"Does not invent search volumes",
|
|
34
34
|
"Explains that a DataForSEO or Ahrefs key is needed",
|
|
35
|
-
"Points to `seo providers` connect or the hosted
|
|
35
|
+
"Points to `seo providers` connect or the hosted account page",
|
|
36
36
|
"Does not ask for the key to be pasted into the chat"
|
|
37
37
|
],
|
|
38
38
|
"files": []
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "seo",
|
|
3
|
-
"version": "0.3.0
|
|
4
|
-
"description": "The SEO command for AI agents.
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"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
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"author": "Ian Nuttall",
|
|
@@ -16,6 +16,14 @@
|
|
|
16
16
|
"funding": "https://github.com/iannuttall/seo",
|
|
17
17
|
"keywords": [
|
|
18
18
|
"seo",
|
|
19
|
+
"google-search-console",
|
|
20
|
+
"search-console-mcp",
|
|
21
|
+
"seo-mcp",
|
|
22
|
+
"mcp-server",
|
|
23
|
+
"bing-webmaster-tools",
|
|
24
|
+
"dataforseo",
|
|
25
|
+
"ahrefs",
|
|
26
|
+
"agent-skills",
|
|
19
27
|
"search-console",
|
|
20
28
|
"google-analytics",
|
|
21
29
|
"keyword-research",
|
package/skills/seo/SKILL.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: seo
|
|
3
|
-
description:
|
|
3
|
+
description: Free Google Search Console MCP server and CLI for AI agents. Reads your real Search Console, Google Analytics and Bing Webmaster Tools data, plus DataForSEO and Ahrefs keyword research. Use it for any SEO question - why Google traffic or clicks dropped, organic traffic decline, quick wins, low CTR, striking distance keywords, content decay and declining pages, keyword cannibalization, indexing and URL inspection, one page's queries, Google update impact, competitor keywords, backlinks, technical SEO crawls, redirects, internal links and client SEO reports. Returns facts from your own data, never guesses.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# seo
|
|
7
7
|
|
|
8
|
-
SEO Skill returns facts from the person's own Search Console
|
|
9
|
-
with Google update dates, plus keyword and competitor data from their own
|
|
8
|
+
SEO Skill returns facts from the person's own Search Console, Bing Webmaster
|
|
9
|
+
Tools and analytics, with Google update dates, plus keyword and competitor data from their own
|
|
10
10
|
DataForSEO or Ahrefs key. It gives no advice. You read the facts, show the
|
|
11
11
|
person what matters, and decide with them what to change.
|
|
12
12
|
|
|
@@ -18,8 +18,8 @@ There are two ways to reach the same commands:
|
|
|
18
18
|
run `npm i -g seo`, then `seo start` to sign in with Google. Add `--json`
|
|
19
19
|
for machine-readable output; JSON mode never prompts.
|
|
20
20
|
|
|
21
|
-
Crawls
|
|
22
|
-
or the local MCP server.
|
|
21
|
+
Crawls, internal links and Bing run only on the person's machine, through
|
|
22
|
+
the CLI or the local MCP server.
|
|
23
23
|
|
|
24
24
|
## The commands
|
|
25
25
|
|
|
@@ -30,7 +30,7 @@ or the local MCP server.
|
|
|
30
30
|
| `seo compare --date <date>` | `seo_compare` | Equal periods before and after a date, with Google updates |
|
|
31
31
|
| `seo index` | `seo_index` | Pages that lost most of their clicks, checked live and with URL Inspection |
|
|
32
32
|
| `seo research <action>` | `seo_research` | Keyword metrics, ranked keywords, SERP, competitors, backlinks |
|
|
33
|
-
| `seo data` | `seo_data` | Raw Search Console rows; the MCP tool also reads analytics landing pages |
|
|
33
|
+
| `seo data` | `seo_data` | Raw Search Console or Bing rows (source `bing`); the MCP tool also reads analytics landing pages |
|
|
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
|
|
|
@@ -44,8 +44,8 @@ Sites can be given as `example.com`, a URL or `sc-domain:example.com`.
|
|
|
44
44
|
count with top rows for each section.
|
|
45
45
|
2. Pick the one section that matters and run it with `--section <id>` (or
|
|
46
46
|
`section`). Sections: overview, quick-wins, low-ctr, striking-distance,
|
|
47
|
-
second-page, content-decay, cannibalization, traffic-drop. Page
|
|
48
|
-
check their top 20 URLs live and merge same-site redirects.
|
|
47
|
+
second-page, content-decay, cannibalization, traffic-drop, bing. Page
|
|
48
|
+
sections check their top 20 URLs live and merge same-site redirects.
|
|
49
49
|
3. Use `detail` `rows` with `offset` for the next page of rows, or `full` for
|
|
50
50
|
every field. Start with the summary; ask for more only when you need it.
|
|
51
51
|
4. Each result ends with the command to run next. Follow it when it fits the
|
|
@@ -71,11 +71,21 @@ in the output.
|
|
|
71
71
|
| Internal links to a page | `internal-links` |
|
|
72
72
|
| A question the report does not answer | `data` |
|
|
73
73
|
|
|
74
|
+
## Bing
|
|
75
|
+
|
|
76
|
+
The report overview shows Google and Bing clicks for the same dates. The
|
|
77
|
+
`bing` section puts Bing's top queries and pages beside Google's numbers. Never
|
|
78
|
+
add Bing to Google. Bing lists only its top rows by week, so a missing row is
|
|
79
|
+
unknown, not zero. Bing runs in the CLI and local MCP server: connect it once
|
|
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`.
|
|
82
|
+
|
|
74
83
|
## Research keys
|
|
75
84
|
|
|
76
|
-
Research costs the person's own provider credits. On the hosted server,
|
|
77
|
-
|
|
78
|
-
|
|
85
|
+
Research costs the person's own provider credits. On the hosted server, add
|
|
86
|
+
keys and missing Google accounts at `https://seoskill.dev/account`, or send
|
|
87
|
+
keys as client headers. In the CLI and local server, run
|
|
88
|
+
`seo providers <name> connect`. Domain Rating appears
|
|
79
89
|
as a free column next to domains; credit it as "Domain Rating by Ahrefs".
|
|
80
90
|
|
|
81
91
|
## Evidence rules
|