@automatelab/ai-seo-mcp 0.6.1 → 1.0.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/README.md +21 -21
- package/dist/index.js +93 -74
- package/dist/index.js.map +1 -1
- package/dist/lib/agentic.d.ts +1 -1
- package/dist/lib/agentic.d.ts.map +1 -1
- package/dist/lib/agentic.js +8 -5
- package/dist/lib/agentic.js.map +1 -1
- package/dist/lib/deprecated-schema-types.json +10 -0
- package/dist/lib/fetch.d.ts.map +1 -1
- package/dist/lib/fetch.js +18 -0
- package/dist/lib/fetch.js.map +1 -1
- package/dist/lib/schema-types.json +38 -1
- package/dist/lib/schema.d.ts +2 -0
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/schema.js +16 -4
- package/dist/lib/schema.js.map +1 -1
- package/dist/lib/score-citability.d.ts +9 -0
- package/dist/lib/score-citability.d.ts.map +1 -0
- package/dist/lib/score-citability.js +94 -0
- package/dist/lib/score-citability.js.map +1 -0
- package/dist/lib/score-content.d.ts +8 -0
- package/dist/lib/score-content.d.ts.map +1 -0
- package/dist/lib/score-content.js +52 -0
- package/dist/lib/score-content.js.map +1 -0
- package/dist/lib/score-eeat.d.ts +16 -0
- package/dist/lib/score-eeat.d.ts.map +1 -0
- package/dist/lib/score-eeat.js +149 -0
- package/dist/lib/score-eeat.js.map +1 -0
- package/dist/lib/score-evidence.d.ts +10 -0
- package/dist/lib/score-evidence.d.ts.map +1 -0
- package/dist/lib/score-evidence.js +84 -0
- package/dist/lib/score-evidence.js.map +1 -0
- package/dist/lib/score.d.ts +48 -7
- package/dist/lib/score.d.ts.map +1 -1
- package/dist/lib/score.js +46 -10
- package/dist/lib/score.js.map +1 -1
- package/dist/lib/ssrf.d.ts +6 -0
- package/dist/lib/ssrf.d.ts.map +1 -0
- package/dist/lib/ssrf.js +71 -0
- package/dist/lib/ssrf.js.map +1 -0
- package/dist/output-schemas.d.ts +211 -30
- package/dist/output-schemas.d.ts.map +1 -1
- package/dist/output-schemas.js +30 -1
- package/dist/output-schemas.js.map +1 -1
- package/dist/tools/audit-page.d.ts +6 -10
- package/dist/tools/audit-page.d.ts.map +1 -1
- package/dist/tools/audit-page.js +59 -4
- package/dist/tools/audit-page.js.map +1 -1
- package/dist/tools/generate-pricing-md.d.ts +24 -0
- package/dist/tools/generate-pricing-md.d.ts.map +1 -0
- package/dist/tools/generate-pricing-md.js +167 -0
- package/dist/tools/generate-pricing-md.js.map +1 -0
- package/dist/tools/save-audit-report.js +1 -1
- package/dist/tools/validate-llms-txt.d.ts +4 -4
- package/dist/types.d.ts +9 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/lib/schema-types.json +38 -1
package/README.md
CHANGED
|
@@ -134,27 +134,27 @@ The Action builds the auditor from the pinned ref, runs `audit_page` on each URL
|
|
|
134
134
|
|
|
135
135
|
| Tool | Purpose |
|
|
136
136
|
|------|---------|
|
|
137
|
-
| `
|
|
138
|
-
| `
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
143
|
-
| `
|
|
144
|
-
| `
|
|
145
|
-
| `
|
|
146
|
-
| `
|
|
147
|
-
| `
|
|
148
|
-
| `
|
|
149
|
-
| `
|
|
150
|
-
| `
|
|
151
|
-
| `
|
|
152
|
-
| `
|
|
153
|
-
| `
|
|
154
|
-
| `
|
|
155
|
-
| `
|
|
156
|
-
|
|
157
|
-
> **v0.4.0** renamed tools from flat `snake_case` to dot-notation (`
|
|
137
|
+
| `audit_page` | Composite AI-SEO audit with 8-dimension scoring (schema, technical, structure, robots, freshness, authority, entity density, sitemap). |
|
|
138
|
+
| `audit_schema` | Validate JSON-LD against Schema.org rules and AI-citation best practice. Flags deprecated patterns. |
|
|
139
|
+
| `audit_canonical` | Canonical link integrity, trailing-slash hygiene, `og:url` consistency. |
|
|
140
|
+
| `audit_site` | Single-call site sweep: `audit_page` + `check_robots` + `check_sitemap` + `audit_schema` with overall grade and top-5 fixes. |
|
|
141
|
+
| `audit_sitemap` | Site-wide content audit: stride-sample N URLs from the sitemap, run `audit_page` on each, return distribution + worst pages + top findings. |
|
|
142
|
+
| `check_robots` | Parse `robots.txt` and report per-crawler allow/disallow for all known AI crawlers. Surfaces the GPTBot-blocked-but-OAI-SearchBot-allowed trap. |
|
|
143
|
+
| `check_sitemap` | Validate XML sitemaps: presence, URL count, `lastmod` freshness, image/video extensions. |
|
|
144
|
+
| `check_technical` | HEAD tag audit: canonical, OpenGraph, Twitter Card, hreflang, HTTPS, noindex, title hygiene. |
|
|
145
|
+
| `score_ai_overview_eligibility` | Score a page's probability of appearing in Google AI Overviews using current correlation factors. |
|
|
146
|
+
| `score_citation_worthiness` | Score how citable a page or text block is for Perplexity, ChatGPT, Google AI Overviews, and Claude. Includes per-section `chunk_analysis` / `extractability_score`: how cleanly an LLM can lift a standalone answer from each heading. |
|
|
147
|
+
| `score_agentic_browsing` | Score a page against the Lighthouse "Agentic Browsing" category (May 2026): llms.txt, WebMCP, accessibility-tree integrity, and layout stability. |
|
|
148
|
+
| `score_test_citation` | Simulate "would an AI engine cite this for this query?" via MCP sampling, with deterministic heuristic fallback. |
|
|
149
|
+
| `llms_txt_generate` | Generate `llms.txt` and optionally `llms-full.txt` from a domain's sitemap. |
|
|
150
|
+
| `llms_txt_validate` | Lint an existing `llms.txt` for spec compliance and broken links. |
|
|
151
|
+
| `rewrite_aeo` | Rewrite content for Answer Engine Optimization (BLUF structure, FAQ format, schema additions). |
|
|
152
|
+
| `rewrite_geo` | Rewrite content for Generative Engine Optimization (entity definitions, comparison tables, synthesis-ready structure). |
|
|
153
|
+
| `extract_entities` | Extract named entities, `sameAs` links, and citation-density score from a page's content and structured data. |
|
|
154
|
+
| `diff_pages` | Compare two URLs for AI citation-worthiness: side-by-side dimension scores, gap analysis, and prioritized fix recommendations for url_a. |
|
|
155
|
+
| `report_save` | Render an `audit_page` / `audit_site` result as a Markdown report and write it to disk under `MCP_WORKSPACE_ROOT`. |
|
|
156
|
+
|
|
157
|
+
> **v0.4.0** renamed tools from flat `snake_case` to dot-notation (`audit_page`, `check_robots`, …) for a navigable hierarchy. Update any saved invocations.
|
|
158
158
|
|
|
159
159
|
Environment variables: see [ENV.md](./ENV.md).
|
|
160
160
|
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,7 @@ import { checkSitemap, checkSitemapInputSchema } from "./tools/check-sitemap.js"
|
|
|
12
12
|
import { checkTechnical, checkTechnicalInputSchema } from "./tools/check-technical.js";
|
|
13
13
|
import { scoreAiOverviewEligibility, scoreAiOverviewEligibilityInputSchema } from "./tools/score-ai-overview-eligibility.js";
|
|
14
14
|
import { generateLlmsTxtTool, generateLlmsTxtInputSchema } from "./tools/generate-llms-txt.js";
|
|
15
|
+
import { generatePricingMdTool, generatePricingMdInputSchema } from "./tools/generate-pricing-md.js";
|
|
15
16
|
import { validateLlmsTxt } from "./tools/validate-llms-txt.js";
|
|
16
17
|
import { scoreCitationWorthiness } from "./tools/score-citation-worthiness.js";
|
|
17
18
|
import { scoreAgenticBrowsingTool } from "./tools/score-agentic-browsing.js";
|
|
@@ -23,7 +24,7 @@ import { diffPages, diffPagesInputSchema } from "./tools/diff-pages.js";
|
|
|
23
24
|
import { auditSite, auditSiteInputSchema } from "./tools/audit-site.js";
|
|
24
25
|
import { auditSitemap, auditSitemapInputSchema } from "./tools/audit-sitemap.js";
|
|
25
26
|
import { saveAuditReport, saveAuditReportInputSchema } from "./tools/save-audit-report.js";
|
|
26
|
-
import { auditPageOutputShape, auditSchemaOutputShape, auditCanonicalOutputShape, auditSiteOutputShape, auditSitemapOutputShape, checkRobotsOutputShape, checkSitemapOutputShape, checkTechnicalOutputShape, scoreAiOverviewOutputShape, scoreCitationOutputShape, scoreAgenticBrowsingOutputShape, generateLlmsTxtOutputShape, validateLlmsTxtOutputShape, rewriteOutputShape, extractEntitiesOutputShape, testCitationOutputShape, diffPagesOutputShape, saveReportOutputShape, } from "./output-schemas.js";
|
|
27
|
+
import { auditPageOutputShape, auditSchemaOutputShape, auditCanonicalOutputShape, auditSiteOutputShape, auditSitemapOutputShape, checkRobotsOutputShape, checkSitemapOutputShape, checkTechnicalOutputShape, scoreAiOverviewOutputShape, scoreCitationOutputShape, scoreAgenticBrowsingOutputShape, generateLlmsTxtOutputShape, generatePricingMdOutputShape, validateLlmsTxtOutputShape, rewriteOutputShape, extractEntitiesOutputShape, testCitationOutputShape, diffPagesOutputShape, saveReportOutputShape, } from "./output-schemas.js";
|
|
27
28
|
import { ToolFetchError } from "./lib/fetch.js";
|
|
28
29
|
const server = new McpServer({
|
|
29
30
|
name: "@automatelab/ai-seo-mcp",
|
|
@@ -69,15 +70,15 @@ function wrapHandler(handler) {
|
|
|
69
70
|
// report.* - report rendering and storage
|
|
70
71
|
// Renamed in v0.4.0 from the previous flat snake_case names.
|
|
71
72
|
// ---------------------------------------------------------------------------
|
|
72
|
-
// ---
|
|
73
|
-
server.registerTool("
|
|
73
|
+
// --- audit_page ---
|
|
74
|
+
server.registerTool("audit_page", {
|
|
74
75
|
title: "Audit page (full)",
|
|
75
76
|
description: [
|
|
76
77
|
"Full AI-SEO audit of a single URL: returns categorized findings (info/warning/error) with severity, fix instructions, and a 0-100 composite score plus per-dimension subscores.",
|
|
77
78
|
"Read-only. Fetches the URL once and runs every sub-audit (schema, robots, technical, sitemap, AI-Overview eligibility) against the response. No writes, no third-party APIs, no auth required, no rate limits beyond polite per-host throttling.",
|
|
78
79
|
"Deterministic, rule-based scoring; no LLM calls. Same URL + same input flags returns the same score.",
|
|
79
80
|
"Supports `render: \"static\" | \"headless\"`. Default `static` (fast, raw HTML only). Use `headless` for React/Vue/Angular SPAs — adds 3-10s and requires the optional `playwright-core` peer dep plus a one-time `npx playwright install chromium`.",
|
|
80
|
-
"When to use: the default entry point for `audit any page`. Use this instead of calling
|
|
81
|
+
"When to use: the default entry point for `audit any page`. Use this instead of calling check_technical / audit_schema / check_robots / check_sitemap / score_ai_overview_eligibility individually unless you specifically need only one dimension - this tool composes all of them.",
|
|
81
82
|
].join("\n\n"),
|
|
82
83
|
inputSchema: auditPageInputSchema.shape,
|
|
83
84
|
outputSchema: auditPageOutputShape,
|
|
@@ -89,14 +90,14 @@ server.registerTool("audit.page", {
|
|
|
89
90
|
openWorldHint: true,
|
|
90
91
|
},
|
|
91
92
|
}, async (input) => wrapHandler(() => auditPage(input)));
|
|
92
|
-
// ---
|
|
93
|
-
server.registerTool("
|
|
93
|
+
// --- audit_schema ---
|
|
94
|
+
server.registerTool("audit_schema", {
|
|
94
95
|
title: "Audit JSON-LD schema",
|
|
95
96
|
description: [
|
|
96
97
|
"Validate JSON-LD structured data against Schema.org rules and AI-citation best practices. Accepts either a URL (fetched) or a raw JSON string (parsed directly).",
|
|
97
98
|
"Read-only when given `url` (one HTTP GET). Zero network when given `schema_json`. No writes.",
|
|
98
99
|
"Deterministic, rule-based; no LLM. Validates required/recommended properties, @context correctness, sameAs links, and AI-search-friendly patterns.",
|
|
99
|
-
"When to use: focused JSON-LD audits, or to validate a schema block you're about to ship. For a full page audit that includes schema + everything else, use `
|
|
100
|
+
"When to use: focused JSON-LD audits, or to validate a schema block you're about to ship. For a full page audit that includes schema + everything else, use `audit_page` instead.",
|
|
100
101
|
"Either `url` or `schema_json` must be provided (not both). If both are provided, `schema_json` wins and no fetch happens.",
|
|
101
102
|
].join("\n\n"),
|
|
102
103
|
inputSchema: {
|
|
@@ -129,14 +130,14 @@ server.registerTool("audit.schema", {
|
|
|
129
130
|
}
|
|
130
131
|
return wrapHandler(() => auditSchema(input));
|
|
131
132
|
});
|
|
132
|
-
// ---
|
|
133
|
-
server.registerTool("
|
|
133
|
+
// --- audit_canonical ---
|
|
134
|
+
server.registerTool("audit_canonical", {
|
|
134
135
|
title: "Audit canonical link integrity",
|
|
135
136
|
description: [
|
|
136
137
|
"Audit a page's canonical link integrity: presence, self-reference, cross-domain mismatches, trailing-slash hygiene, and og:url consistency.",
|
|
137
138
|
"Read-only. One HTTP GET to fetch the HEAD section.",
|
|
138
139
|
"Deterministic, rule-based; no LLM.",
|
|
139
|
-
"When to use: a focused canonical-only audit (e.g. debugging a duplicate-content issue). For a full HEAD audit including OpenGraph, hreflang, noindex, title, use `
|
|
140
|
+
"When to use: a focused canonical-only audit (e.g. debugging a duplicate-content issue). For a full HEAD audit including OpenGraph, hreflang, noindex, title, use `check_technical`. For everything-on-a-page, use `audit_page`.",
|
|
140
141
|
].join("\n\n"),
|
|
141
142
|
inputSchema: auditCanonicalInputSchema.shape,
|
|
142
143
|
outputSchema: auditCanonicalOutputShape,
|
|
@@ -148,14 +149,14 @@ server.registerTool("audit.canonical", {
|
|
|
148
149
|
openWorldHint: true,
|
|
149
150
|
},
|
|
150
151
|
}, async (input) => wrapHandler(() => auditCanonical(input)));
|
|
151
|
-
// ---
|
|
152
|
-
server.registerTool("
|
|
152
|
+
// --- check_robots ---
|
|
153
|
+
server.registerTool("check_robots", {
|
|
153
154
|
title: "Check robots.txt crawler posture",
|
|
154
155
|
description: [
|
|
155
156
|
"Fetch and parse a domain's robots.txt; report per-crawler allow/disallow posture for every known AI training crawler (GPTBot, CCBot, Anthropic-AI, Google-Extended, etc.), AI search crawlers (ChatGPT-User, PerplexityBot, OAI-SearchBot), and user-triggered fetchers.",
|
|
156
157
|
"Read-only. One HTTP GET to /robots.txt. No auth, no rate limits applied.",
|
|
157
158
|
"Deterministic, rule-based; no LLM. Returns structured findings with per-crawler status.",
|
|
158
|
-
"When to use: figuring out which AI crawlers a site blocks vs allows. Combine with `
|
|
159
|
+
"When to use: figuring out which AI crawlers a site blocks vs allows. Combine with `check_sitemap` for a full pre-crawl audit. Distinct from `audit_page` which evaluates a single URL; this evaluates a whole-domain policy.",
|
|
159
160
|
].join("\n\n"),
|
|
160
161
|
inputSchema: checkRobotsInputSchema.shape,
|
|
161
162
|
outputSchema: checkRobotsOutputShape,
|
|
@@ -167,14 +168,14 @@ server.registerTool("check.robots", {
|
|
|
167
168
|
openWorldHint: true,
|
|
168
169
|
},
|
|
169
170
|
}, async (input) => wrapHandler(() => checkRobots(input)));
|
|
170
|
-
// ---
|
|
171
|
-
server.registerTool("
|
|
171
|
+
// --- check_sitemap ---
|
|
172
|
+
server.registerTool("check_sitemap", {
|
|
172
173
|
title: "Check XML sitemap health",
|
|
173
174
|
description: [
|
|
174
175
|
"Validate a domain's XML sitemap: presence, accessibility, URL count, lastmod freshness, sitemap-index handling, and image/video sitemap extensions.",
|
|
175
176
|
"Read-only. Issues N+1 HTTP GETs: one for robots.txt + sitemap, then up to `max_urls_to_check` HEADs against sampled URLs.",
|
|
176
177
|
"Deterministic, rule-based; no LLM.",
|
|
177
|
-
"When to use: site-wide indexing audits. Pair with `
|
|
178
|
+
"When to use: site-wide indexing audits. Pair with `check_robots` for a full pre-crawl picture. For per-page checks, use `audit_page` or `check_technical` instead.",
|
|
178
179
|
].join("\n\n"),
|
|
179
180
|
inputSchema: checkSitemapInputSchema.shape,
|
|
180
181
|
outputSchema: checkSitemapOutputShape,
|
|
@@ -186,14 +187,14 @@ server.registerTool("check.sitemap", {
|
|
|
186
187
|
openWorldHint: true,
|
|
187
188
|
},
|
|
188
189
|
}, async (input) => wrapHandler(() => checkSitemap(input)));
|
|
189
|
-
// ---
|
|
190
|
-
server.registerTool("
|
|
190
|
+
// --- check_technical ---
|
|
191
|
+
server.registerTool("check_technical", {
|
|
191
192
|
title: "Check technical HEAD signals",
|
|
192
193
|
description: [
|
|
193
194
|
"Audit a page's HEAD section for technical signals relevant to AI crawlers: HTTPS, canonical, OpenGraph, Twitter Card, hreflang, noindex, and title-vs-H1 hygiene.",
|
|
194
195
|
"Read-only. One HTTP GET, inspects HEAD only (body is not parsed).",
|
|
195
196
|
"Deterministic, rule-based; no LLM.",
|
|
196
|
-
"When to use: when you specifically need HEAD-tag audit findings. For the full page including schema and AI-Overview scoring, use `
|
|
197
|
+
"When to use: when you specifically need HEAD-tag audit findings. For the full page including schema and AI-Overview scoring, use `audit_page`. For canonical-only, use `audit_canonical`.",
|
|
197
198
|
].join("\n\n"),
|
|
198
199
|
inputSchema: checkTechnicalInputSchema.shape,
|
|
199
200
|
outputSchema: checkTechnicalOutputShape,
|
|
@@ -205,14 +206,14 @@ server.registerTool("check.technical", {
|
|
|
205
206
|
openWorldHint: true,
|
|
206
207
|
},
|
|
207
208
|
}, async (input) => wrapHandler(() => checkTechnical(input)));
|
|
208
|
-
// ---
|
|
209
|
-
server.registerTool("
|
|
209
|
+
// --- score_ai_overview_eligibility ---
|
|
210
|
+
server.registerTool("score_ai_overview_eligibility", {
|
|
210
211
|
title: "Score AI Overview eligibility",
|
|
211
212
|
description: [
|
|
212
213
|
"Score a page's probability of appearing in Google AI Overviews. Returns an overall 0-100 score plus six factor subscores: semantic completeness, structured data, E-E-A-T signals, entity density, freshness, and technical hygiene.",
|
|
213
214
|
"Read-only. One HTTP GET.",
|
|
214
215
|
"Deterministic, rule-based scoring derived from published 2025-2026 AI-Overview correlation studies. No LLM calls. Same URL returns the same score on repeated runs.",
|
|
215
|
-
"When to use: AI-Overview-specific prioritization. For a multi-dimensional audit that includes this scoring plus everything else, use `
|
|
216
|
+
"When to use: AI-Overview-specific prioritization. For a multi-dimensional audit that includes this scoring plus everything else, use `audit_page`. For citation-worthiness of a specific text passage (rather than a URL ranking probability), use `score_citation_worthiness`.",
|
|
216
217
|
].join("\n\n"),
|
|
217
218
|
inputSchema: scoreAiOverviewEligibilityInputSchema.shape,
|
|
218
219
|
outputSchema: scoreAiOverviewOutputShape,
|
|
@@ -224,14 +225,14 @@ server.registerTool("score.ai_overview_eligibility", {
|
|
|
224
225
|
openWorldHint: true,
|
|
225
226
|
},
|
|
226
227
|
}, async (input) => wrapHandler(() => scoreAiOverviewEligibility(input)));
|
|
227
|
-
// ---
|
|
228
|
-
server.registerTool("
|
|
228
|
+
// --- score_agentic_browsing ---
|
|
229
|
+
server.registerTool("score_agentic_browsing", {
|
|
229
230
|
title: "Score Agentic Browsing readiness",
|
|
230
231
|
description: [
|
|
231
232
|
"Score a page against the four signals Google added to the Lighthouse \"Agentic Browsing\" category in May 2026: presence of an llms.txt, WebMCP integration, accessibility-tree integrity, and layout stability. Returns an overall 0-100 score, a letter grade, and a per-factor breakdown.",
|
|
232
233
|
"Read-only. One HTTP GET for the page plus one for /llms.txt (skip with check_llms_txt=false). Pass `html` instead of `url` to score markup offline (llms.txt is then treated as absent).",
|
|
233
234
|
"Deterministic, rule-based heuristics over the fetched HTML; no LLM and no headless render required. This approximates Lighthouse's runtime signals from static markup - it does not execute Lighthouse.",
|
|
234
|
-
"When to use: checking whether a site is ready for AI agents / agentic browsers, or tracking the new Lighthouse Agentic Browsing category. For citation-eligibility of content, use `
|
|
235
|
+
"When to use: checking whether a site is ready for AI agents / agentic browsers, or tracking the new Lighthouse Agentic Browsing category. For citation-eligibility of content, use `score_citation_worthiness`; for a full page audit, use `audit_page`.",
|
|
235
236
|
].join("\n\n"),
|
|
236
237
|
inputSchema: {
|
|
237
238
|
url: z.string().url().optional().describe("Public URL to fetch and score. Either this OR `html` is required."),
|
|
@@ -254,14 +255,14 @@ server.registerTool("score.agentic_browsing", {
|
|
|
254
255
|
}
|
|
255
256
|
return wrapHandler(() => scoreAgenticBrowsingTool(input));
|
|
256
257
|
});
|
|
257
|
-
// ---
|
|
258
|
-
server.registerTool("
|
|
258
|
+
// --- llms_txt_generate ---
|
|
259
|
+
server.registerTool("llms_txt_generate", {
|
|
259
260
|
title: "Generate llms.txt",
|
|
260
261
|
description: [
|
|
261
262
|
"Generate a spec-compliant llms.txt (and optionally llms-full.txt) for a domain by reading its sitemap, sampling up to `max_pages` pages, and synthesizing a grouped, sectioned summary.",
|
|
262
263
|
"Read-only. Issues one HTTP GET for the sitemap then one per sampled page.",
|
|
263
264
|
"Deterministic; no LLM. Output is the file content as a string - this tool does NOT write to disk or upload anywhere. The caller is responsible for hosting the resulting file at `https://<domain>/llms.txt`.",
|
|
264
|
-
"When to use: bootstrapping llms.txt for a site you own. To check an existing llms.txt, use `
|
|
265
|
+
"When to use: bootstrapping llms.txt for a site you own. To check an existing llms.txt, use `llms_txt_validate` instead.",
|
|
265
266
|
].join("\n\n"),
|
|
266
267
|
inputSchema: generateLlmsTxtInputSchema.shape,
|
|
267
268
|
outputSchema: generateLlmsTxtOutputShape,
|
|
@@ -273,14 +274,32 @@ server.registerTool("llms_txt.generate", {
|
|
|
273
274
|
openWorldHint: true,
|
|
274
275
|
},
|
|
275
276
|
}, async (input) => wrapHandler(() => generateLlmsTxtTool(input)));
|
|
276
|
-
// ---
|
|
277
|
-
server.registerTool("
|
|
277
|
+
// --- pricing_generate ---
|
|
278
|
+
server.registerTool("pricing_generate", {
|
|
279
|
+
title: "Generate pricing.md",
|
|
280
|
+
description: [
|
|
281
|
+
"Generate a machine-readable /pricing.md for AI shopping/agent flows. Finds the site's pricing page (or uses `pricing_url`), extracts named tiers and price lines, and returns the file content as a string.",
|
|
282
|
+
"Read-only. Issues a few HTTP GETs probing common pricing paths. Deterministic; no LLM. Does NOT write or upload — the caller hosts the file at `https://<domain>/pricing.md`.",
|
|
283
|
+
"When to use: a SaaS/e-commerce site that wants agents to read pricing without parsing a JS-rendered table. Falls back to a fill-in template when no prices are detectable.",
|
|
284
|
+
].join("\n\n"),
|
|
285
|
+
inputSchema: generatePricingMdInputSchema.shape,
|
|
286
|
+
outputSchema: generatePricingMdOutputShape,
|
|
287
|
+
annotations: {
|
|
288
|
+
title: "Generate pricing.md",
|
|
289
|
+
readOnlyHint: true,
|
|
290
|
+
destructiveHint: false,
|
|
291
|
+
idempotentHint: true,
|
|
292
|
+
openWorldHint: true,
|
|
293
|
+
},
|
|
294
|
+
}, async (input) => wrapHandler(() => generatePricingMdTool(input)));
|
|
295
|
+
// --- llms_txt_validate ---
|
|
296
|
+
server.registerTool("llms_txt_validate", {
|
|
278
297
|
title: "Validate llms.txt",
|
|
279
298
|
description: [
|
|
280
299
|
"Validate an existing llms.txt or llms-full.txt against the spec: structure, section ordering, link format, and (optionally) broken-link detection.",
|
|
281
300
|
"Read-only. One HTTP GET when given `url`; zero network when given `content`. Optional link-check issues HEAD requests against each link if `check_links` is true.",
|
|
282
301
|
"Deterministic; no LLM.",
|
|
283
|
-
"When to use: auditing an llms.txt you already have. To generate one from scratch, use `
|
|
302
|
+
"When to use: auditing an llms.txt you already have. To generate one from scratch, use `llms_txt_generate`.",
|
|
284
303
|
"Either `url` or `content` must be provided.",
|
|
285
304
|
].join("\n\n"),
|
|
286
305
|
inputSchema: {
|
|
@@ -313,15 +332,15 @@ server.registerTool("llms_txt.validate", {
|
|
|
313
332
|
}
|
|
314
333
|
return wrapHandler(() => validateLlmsTxt(input));
|
|
315
334
|
});
|
|
316
|
-
// ---
|
|
317
|
-
server.registerTool("
|
|
335
|
+
// --- score_citation_worthiness ---
|
|
336
|
+
server.registerTool("score_citation_worthiness", {
|
|
318
337
|
title: "Score AI citation worthiness",
|
|
319
338
|
description: [
|
|
320
339
|
"Score how citable a page or text block is for AI engines (ChatGPT, Claude, Perplexity, Google AI Overviews). Evaluates BLUF (bottom-line-up-front) opening, FAQ patterns, statistic density, entity clarity, and answer-shape fit for the optional `target_query`.",
|
|
321
340
|
"Also returns `extractability_score` plus per-section `chunk_analysis`: how cleanly an LLM can lift a self-contained answer from each heading-delimited section (length band, lead-sentence directness, anaphora, concrete anchors). This is the GEO mechanic - it pinpoints the exact sections to tighten, with `most_extractable` / `least_extractable` called out.",
|
|
322
341
|
"Read-only when given `url` (one HTTP GET). Zero network when given `text`. No writes.",
|
|
323
342
|
"Deterministic, rule-based; no LLM calls. Returns reproducible scores.",
|
|
324
|
-
"When to use: pre-publish content QA, or to triage which existing pages are worth optimizing for AI citation first. Distinct from `
|
|
343
|
+
"When to use: pre-publish content QA, or to triage which existing pages are worth optimizing for AI citation first. Distinct from `score_ai_overview_eligibility` which scores Google-AI-Overview ranking probability for a URL; this scores the inherent citability of a text passage regardless of host.",
|
|
325
344
|
"Either `url` or `text` must be provided.",
|
|
326
345
|
].join("\n\n"),
|
|
327
346
|
inputSchema: {
|
|
@@ -358,14 +377,14 @@ server.registerTool("score.citation_worthiness", {
|
|
|
358
377
|
}
|
|
359
378
|
return wrapHandler(() => scoreCitationWorthiness(input));
|
|
360
379
|
});
|
|
361
|
-
// ---
|
|
362
|
-
server.registerTool("
|
|
380
|
+
// --- rewrite_aeo ---
|
|
381
|
+
server.registerTool("rewrite_aeo", {
|
|
363
382
|
title: "Rewrite for Answer Engine Optimization",
|
|
364
383
|
description: [
|
|
365
384
|
"Rewrite a content block for Answer Engine Optimization. Adds a BLUF opening, FAQ structure, schema additions, and concise question-shaped headings tuned for ChatGPT / Perplexity / Google AI Overviews.",
|
|
366
385
|
"Read-only when given `url` (one HTTP GET). Zero network when given `text`. The tool does NOT write back to the URL - it only returns the rewritten content as a string. No side effects on the source.",
|
|
367
386
|
"This tool delegates the actual rewrite to the calling LLM via MCP sampling - it does not call any external API itself. The MCP host's model produces the rewrite. Same input may produce different output across runs (model-dependent).",
|
|
368
|
-
"When to use: optimizing content for direct-answer surfaces (definitions, how-tos, FAQs). For Generative Engine Optimization (entity-rich, comparison-ready synthesis), use `
|
|
387
|
+
"When to use: optimizing content for direct-answer surfaces (definitions, how-tos, FAQs). For Generative Engine Optimization (entity-rich, comparison-ready synthesis), use `rewrite_geo` instead.",
|
|
369
388
|
"Either `url` or `text` must be provided. `target_query` is required.",
|
|
370
389
|
].join("\n\n"),
|
|
371
390
|
inputSchema: {
|
|
@@ -414,14 +433,14 @@ server.registerTool("rewrite.aeo", {
|
|
|
414
433
|
}
|
|
415
434
|
return wrapHandler(() => rewriteForAeo(input, undefined, undefined, server));
|
|
416
435
|
});
|
|
417
|
-
// ---
|
|
418
|
-
server.registerTool("
|
|
436
|
+
// --- rewrite_geo ---
|
|
437
|
+
server.registerTool("rewrite_geo", {
|
|
419
438
|
title: "Rewrite for Generative Engine Optimization",
|
|
420
439
|
description: [
|
|
421
440
|
"Rewrite a content block for Generative Engine Optimization: entity-rich, comparison-ready, synthesis-friendly. Tuned for surfaces that summarize across sources (Perplexity, Google AI Mode, Claude search).",
|
|
422
441
|
"Read-only on input. Does NOT write back to the source URL - returns the rewritten content as a string.",
|
|
423
442
|
"This tool delegates the actual rewrite to the calling LLM via MCP sampling - it does not call any external API itself. The MCP host's model produces the rewrite. Output may vary across runs (model-dependent).",
|
|
424
|
-
"When to use: optimizing for synthesis-style answers across multiple sources. For direct-answer (BLUF + FAQ) optimization on a single page, use `
|
|
443
|
+
"When to use: optimizing for synthesis-style answers across multiple sources. For direct-answer (BLUF + FAQ) optimization on a single page, use `rewrite_aeo` instead.",
|
|
425
444
|
"Either `url` or `text` must be provided. `target_query` is required.",
|
|
426
445
|
].join("\n\n"),
|
|
427
446
|
inputSchema: {
|
|
@@ -470,14 +489,14 @@ server.registerTool("rewrite.geo", {
|
|
|
470
489
|
}
|
|
471
490
|
return wrapHandler(() => rewriteForGeo(input, undefined, undefined, server));
|
|
472
491
|
});
|
|
473
|
-
// ---
|
|
474
|
-
server.registerTool("
|
|
492
|
+
// --- extract_entities ---
|
|
493
|
+
server.registerTool("extract_entities", {
|
|
475
494
|
title: "Extract named entities and sameAs links",
|
|
476
495
|
description: [
|
|
477
496
|
"Extract named entities, linked concepts, and sameAs graph nodes from a page's content and structured data. Combines body-text NER with JSON-LD `@type` / `sameAs` walking.",
|
|
478
497
|
"Read-only when given `url` (one HTTP GET). Zero network when given `text`.",
|
|
479
498
|
"Primary path: MCP sampling - the host LLM does the NER and returns typed entities with sameAs URIs. Fallback path: deterministic regex-based extractor when sampling is unavailable. The result includes `mode: \"sampling\" | \"regex_fallback\"` so callers can tell which path ran.",
|
|
480
|
-
"When to use: building an entity map for schema generation, or auditing whether a page's entities match its target topic. To validate the JSON-LD itself, use `
|
|
499
|
+
"When to use: building an entity map for schema generation, or auditing whether a page's entities match its target topic. To validate the JSON-LD itself, use `audit_schema`.",
|
|
481
500
|
"Either `url` or `text` must be provided.",
|
|
482
501
|
].join("\n\n"),
|
|
483
502
|
inputSchema: {
|
|
@@ -516,14 +535,14 @@ server.registerTool("extract.entities", {
|
|
|
516
535
|
}
|
|
517
536
|
return wrapHandler(() => extractEntities(input, undefined, undefined, server));
|
|
518
537
|
});
|
|
519
|
-
// ---
|
|
520
|
-
server.registerTool("
|
|
538
|
+
// --- score_test_citation ---
|
|
539
|
+
server.registerTool("score_test_citation", {
|
|
521
540
|
title: "Test whether an AI engine would cite this page",
|
|
522
541
|
description: [
|
|
523
542
|
"Simulate `would an AI engine cite this page for this query?`. The host LLM role-plays the chosen engine (chatgpt / claude / perplexity / google_ai_overviews / any), reads the page content, and returns a cite/no-cite verdict with the verbatim excerpt it would surface plus ranked improvements.",
|
|
524
543
|
"Read-only when given `url` (one HTTP GET). Zero network when given `text`.",
|
|
525
|
-
"Primary path uses MCP sampling. If the host doesn't support sampling, falls back to a deterministic heuristic derived from `
|
|
526
|
-
"When to use: pre-publish gut-check for a specific query, or auditing whether existing content earns citation surface. Distinct from `
|
|
544
|
+
"Primary path uses MCP sampling. If the host doesn't support sampling, falls back to a deterministic heuristic derived from `score_citation_worthiness` (overall_score + per-engine subscore must both clear thresholds). The result includes `mode: \"sampling\" | \"static_heuristic\"` so callers can tell which path ran.",
|
|
545
|
+
"When to use: pre-publish gut-check for a specific query, or auditing whether existing content earns citation surface. Distinct from `score_citation_worthiness` (deterministic 0-100 score) and `audit_page` (whole-page rubric); this returns a binary cite/no-cite verdict tied to one query.",
|
|
527
546
|
"Either `url` or `text` must be provided. `target_query` is required.",
|
|
528
547
|
].join("\n\n"),
|
|
529
548
|
inputSchema: {
|
|
@@ -566,15 +585,15 @@ server.registerTool("score.test_citation", {
|
|
|
566
585
|
}
|
|
567
586
|
return wrapHandler(() => testCitation(input, undefined, undefined, server));
|
|
568
587
|
});
|
|
569
|
-
// ---
|
|
570
|
-
server.registerTool("
|
|
588
|
+
// --- diff_pages ---
|
|
589
|
+
server.registerTool("diff_pages", {
|
|
571
590
|
title: "Diff two pages for citation-worthiness",
|
|
572
591
|
description: [
|
|
573
592
|
"Compare two URLs for AI citation-worthiness and return a structured breakdown of which page is more likely to be cited and why. Typical use: your page (url_a) vs a competitor's page (url_b).",
|
|
574
|
-
"Read-only. Runs
|
|
593
|
+
"Read-only. Runs audit_page on both URLs in parallel (2 HTTP fetches per URL), then diffs dimension_scores and findings. No new fetch logic beyond what audit_page already does.",
|
|
575
594
|
"Deterministic, rule-based; no LLM calls. Same two URLs return the same comparison on repeated runs.",
|
|
576
|
-
"When to use: competitive gap analysis - understand exactly which dimensions (schema, structure, robots, entity density, freshness, technical, authority, sitemap) put a competitor ahead, and get prioritized fix_recommendations_for_a to close the gap. For a single-URL audit, use
|
|
577
|
-
"Capped at 2 URLs per call. Heuristic verdict - does not claim to know what AI assistants actually cite; verdict matches
|
|
595
|
+
"When to use: competitive gap analysis - understand exactly which dimensions (schema, structure, robots, entity density, freshness, technical, authority, sitemap) put a competitor ahead, and get prioritized fix_recommendations_for_a to close the gap. For a single-URL audit, use audit_page. For overall scoring of one page, use score_citation_worthiness.",
|
|
596
|
+
"Capped at 2 URLs per call. Heuristic verdict - does not claim to know what AI assistants actually cite; verdict matches audit_page's existing rubric.",
|
|
578
597
|
].join("\n\n"),
|
|
579
598
|
inputSchema: diffPagesInputSchema.shape,
|
|
580
599
|
outputSchema: diffPagesOutputShape,
|
|
@@ -586,14 +605,14 @@ server.registerTool("diff.pages", {
|
|
|
586
605
|
openWorldHint: true,
|
|
587
606
|
},
|
|
588
607
|
}, async (input) => wrapHandler(() => diffPages(input)));
|
|
589
|
-
// ---
|
|
590
|
-
server.registerTool("
|
|
608
|
+
// --- audit_site ---
|
|
609
|
+
server.registerTool("audit_site", {
|
|
591
610
|
title: "Audit site (homepage + robots + sitemap + schema)",
|
|
592
611
|
description: [
|
|
593
|
-
"Single-call site sweep: runs
|
|
594
|
-
"Read-only. Issues several HTTP GETs against the domain (homepage fetch, robots.txt, sitemap.xml, and up to 50 sitemap URL HEAD checks); no writes, no auth required, no rate limits beyond polite per-host throttling. The homepage GET is deduplicated across
|
|
595
|
-
"Output: domain, homepage_url, fetched_at, overall_score (0–100), overall_grade, top_5_fixes (Finding[]), and a parts breakdown with individual
|
|
596
|
-
"When to use: quick 'how does this site look overall?' — use when you want a single consolidated score and actionable fix list without calling 4 tools individually. Distinct from
|
|
612
|
+
"Single-call site sweep: runs audit_page (homepage), check_robots, check_sitemap, and audit_schema in parallel and returns an overall grade (A–F) plus top-5 highest-impact fixes.",
|
|
613
|
+
"Read-only. Issues several HTTP GETs against the domain (homepage fetch, robots.txt, sitemap.xml, and up to 50 sitemap URL HEAD checks); no writes, no auth required, no rate limits beyond polite per-host throttling. The homepage GET is deduplicated across audit_page and audit_schema (~2 network fetches for 4 logical checks). Deterministic, rule-based scoring; no LLM calls. Same domain returns the same grade on repeated runs given unchanged content.",
|
|
614
|
+
"Output: domain, homepage_url, fetched_at, overall_score (0–100), overall_grade, top_5_fixes (Finding[]), and a parts breakdown with individual audit_page, check_robots, check_sitemap, and audit_schema results — each may be a full result or { error: string } when that sub-audit fails.",
|
|
615
|
+
"When to use: quick 'how does this site look overall?' — use when you want a single consolidated score and actionable fix list without calling 4 tools individually. Distinct from audit_sitemap (samples N pages from the sitemap, not just the homepage) and audit_page (single-URL deep dive with all findings, not just top-5).",
|
|
597
616
|
].join("\n\n"),
|
|
598
617
|
inputSchema: auditSiteInputSchema.shape,
|
|
599
618
|
outputSchema: auditSiteOutputShape,
|
|
@@ -605,14 +624,14 @@ server.registerTool("audit.site", {
|
|
|
605
624
|
openWorldHint: true,
|
|
606
625
|
},
|
|
607
626
|
}, async (input) => wrapHandler(() => auditSite(input)));
|
|
608
|
-
// ---
|
|
609
|
-
server.registerTool("
|
|
627
|
+
// --- audit_sitemap ---
|
|
628
|
+
server.registerTool("audit_sitemap", {
|
|
610
629
|
title: "Audit a site's content by sampling its sitemap",
|
|
611
630
|
description: [
|
|
612
|
-
"Site-wide content audit: discovers the sitemap, samples N URLs by deterministic uniform stride, runs
|
|
613
|
-
"Read-only. One HTTP GET for sitemap discovery, optionally a few more for sitemap-index children, then `sample_size` ×
|
|
631
|
+
"Site-wide content audit: discovers the sitemap, samples N URLs by deterministic uniform stride, runs audit_page on each, and returns score distribution + worst pages + most-common findings.",
|
|
632
|
+
"Read-only. One HTTP GET for sitemap discovery, optionally a few more for sitemap-index children, then `sample_size` × audit_page calls (each one HTTP GET + parsing). Polite throttling is enforced per host.",
|
|
614
633
|
"Deterministic — same domain + same sample_size returns the same set of URLs (uniform-stride sampling). Per-page scoring is rule-based; no LLM.",
|
|
615
|
-
"When to use: portfolio-level health check across a site (\"how does our content score on average?\"). Distinct from `
|
|
634
|
+
"When to use: portfolio-level health check across a site (\"how does our content score on average?\"). Distinct from `audit_site` (homepage-only composite) and `check_sitemap` (validates sitemap.xml structure, not page content).",
|
|
616
635
|
].join("\n\n"),
|
|
617
636
|
inputSchema: auditSitemapInputSchema.shape,
|
|
618
637
|
outputSchema: auditSitemapOutputShape,
|
|
@@ -624,10 +643,10 @@ server.registerTool("audit.sitemap", {
|
|
|
624
643
|
openWorldHint: true,
|
|
625
644
|
},
|
|
626
645
|
}, async (input) => wrapHandler(() => auditSitemap(input)));
|
|
627
|
-
// ---
|
|
628
|
-
server.registerTool("
|
|
646
|
+
// --- report_save ---
|
|
647
|
+
server.registerTool("report_save", {
|
|
629
648
|
title: "Save audit report to disk",
|
|
630
|
-
description: "Render an
|
|
649
|
+
description: "Render an audit_page or audit_site result as a Markdown report and write it to a file under MCP_WORKSPACE_ROOT (defaults to cwd).",
|
|
631
650
|
inputSchema: saveAuditReportInputSchema.shape,
|
|
632
651
|
outputSchema: saveReportOutputShape,
|
|
633
652
|
annotations: {
|
|
@@ -651,9 +670,9 @@ server.prompt("audit_my_homepage", "Run a full AI-SEO audit of a site's homepage
|
|
|
651
670
|
role: "user",
|
|
652
671
|
content: {
|
|
653
672
|
type: "text",
|
|
654
|
-
text: `Call the \`
|
|
673
|
+
text: `Call the \`audit_site\` tool with domain="${domain}" and respect_robots=true. ` +
|
|
655
674
|
`When the result returns, summarize the overall_grade, the top_5_fixes (highest-impact first), ` +
|
|
656
|
-
`and the content_quality from the underlying
|
|
675
|
+
`and the content_quality from the underlying audit_page. Recommend the single most leveraged fix first.`,
|
|
657
676
|
},
|
|
658
677
|
},
|
|
659
678
|
],
|
|
@@ -664,7 +683,7 @@ server.prompt("find_citation_blockers", "Audit a URL and surface only the critic
|
|
|
664
683
|
role: "user",
|
|
665
684
|
content: {
|
|
666
685
|
type: "text",
|
|
667
|
-
text: `Call \`
|
|
686
|
+
text: `Call \`audit_page\` with url="${url}" and respect_robots=true. ` +
|
|
668
687
|
`From the result, filter findings to severity="critical" only. ` +
|
|
669
688
|
`Group them by category and present a prioritized fix list. ` +
|
|
670
689
|
`Ignore warnings and info-level findings for this pass.`,
|
|
@@ -678,7 +697,7 @@ server.prompt("generate_llms_txt_for_domain", "Generate a valid llms.txt for a d
|
|
|
678
697
|
role: "user",
|
|
679
698
|
content: {
|
|
680
699
|
type: "text",
|
|
681
|
-
text: `Call \`
|
|
700
|
+
text: `Call \`llms_txt_generate\` with domain="${domain}", max_pages=50, include_full=false. ` +
|
|
682
701
|
`Return the generated llms.txt verbatim in a code block, then summarize how many pages were indexed.`,
|
|
683
702
|
},
|
|
684
703
|
},
|
|
@@ -690,7 +709,7 @@ server.prompt("check_ai_crawler_access", "Report which AI training and search cr
|
|
|
690
709
|
role: "user",
|
|
691
710
|
content: {
|
|
692
711
|
type: "text",
|
|
693
|
-
text: `Call \`
|
|
712
|
+
text: `Call \`check_robots\` with domain="${domain}". ` +
|
|
694
713
|
`From the result, build a table grouped by training_crawlers / search_crawlers / user_triggered, ` +
|
|
695
714
|
`with one row per crawler and an allowed/blocked verdict. ` +
|
|
696
715
|
`Highlight any AI search crawlers that are blocked - those silently kill citation surface.`,
|
|
@@ -707,7 +726,7 @@ server.prompt("score_my_citation_worthiness", "Score how citable a URL is for AI
|
|
|
707
726
|
role: "user",
|
|
708
727
|
content: {
|
|
709
728
|
type: "text",
|
|
710
|
-
text: `Call \`
|
|
729
|
+
text: `Call \`score_citation_worthiness\` with url="${url}", target_query="${target_query}", respect_robots=true. ` +
|
|
711
730
|
`Present overall_score and per-engine scores (Perplexity, ChatGPT, Google AI Overviews, Claude). ` +
|
|
712
731
|
`Then suggest the 3 most impactful structural changes (BLUF opening, FAQ blocks, entity density) to lift the lowest score.`,
|
|
713
732
|
},
|
|
@@ -763,7 +782,7 @@ robots.txt allows OAI-SearchBot, PerplexityBot, Claude-SearchBot. Blocking train
|
|
|
763
782
|
## 13. Sitemap freshness
|
|
764
783
|
XML sitemap present, lastmod >80% coverage, listed in robots.txt.
|
|
765
784
|
|
|
766
|
-
Use \`
|
|
785
|
+
Use \`audit_page\` to score a URL across all 13 signals at once.
|
|
767
786
|
`;
|
|
768
787
|
const CRAWLERS_DOC = `# AI crawlers reference
|
|
769
788
|
|
|
@@ -817,7 +836,7 @@ Allow: /
|
|
|
817
836
|
\`\`\`
|
|
818
837
|
(Blocks training, allows everything else - including search crawlers.)
|
|
819
838
|
|
|
820
|
-
Use \`
|
|
839
|
+
Use \`check_robots\` to see your current posture per crawler.
|
|
821
840
|
`;
|
|
822
841
|
server.resource("ai-citation-signals", "ai-citation://signals", { mimeType: "text/markdown", description: "The 13 signals AI assistants use to decide what to cite, with examples." }, async (uri) => ({
|
|
823
842
|
contents: [{ uri: uri.href, mimeType: "text/markdown", text: SIGNALS_DOC }],
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|