@automatelab/ai-seo-mcp 0.3.4 → 0.5.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.
@@ -2,7 +2,7 @@
2
2
  // Audits a page's HEAD section for technical signals relevant to AI crawlers.
3
3
  import { z } from "zod";
4
4
  import { politeFetch, ToolFetchError } from "../lib/fetch.js";
5
- import { parseHead, levenshtein } from "../lib/html.js";
5
+ import { parseHead, levenshtein, analyzeMixedContent } from "../lib/html.js";
6
6
  export const checkTechnicalInputSchema = z.object({
7
7
  url: z
8
8
  .string()
@@ -165,6 +165,54 @@ export async function checkTechnical(input, hostDelays, robotsCache, renderMode)
165
165
  estimated_impact: "low",
166
166
  });
167
167
  }
168
+ // Response header hygiene
169
+ const hsts = result.headers["strict-transport-security"] ?? null;
170
+ const xContentTypeOptions = result.headers["x-content-type-options"] ?? null;
171
+ const referrerPolicy = result.headers["referrer-policy"] ?? null;
172
+ const csp = result.headers["content-security-policy"] ?? null;
173
+ const cacheControl = result.headers["cache-control"] ?? null;
174
+ if (https && !hsts) {
175
+ findings.push({
176
+ severity: "warning",
177
+ category: "technical",
178
+ where: "Strict-Transport-Security header",
179
+ message: "HSTS header is missing - browsers can be downgraded to http on first visit.",
180
+ fix: "Send Strict-Transport-Security: max-age=63072000; includeSubDomains; preload from the server or CDN edge.",
181
+ estimated_impact: "low",
182
+ });
183
+ }
184
+ if (!xContentTypeOptions || !xContentTypeOptions.toLowerCase().includes("nosniff")) {
185
+ findings.push({
186
+ severity: "info",
187
+ category: "technical",
188
+ where: "X-Content-Type-Options header",
189
+ message: "X-Content-Type-Options: nosniff header is absent.",
190
+ fix: "Add X-Content-Type-Options: nosniff to block MIME-sniffing attacks.",
191
+ });
192
+ }
193
+ if (!referrerPolicy) {
194
+ findings.push({
195
+ severity: "info",
196
+ category: "technical",
197
+ where: "Referrer-Policy header",
198
+ message: "Referrer-Policy header is absent.",
199
+ fix: "Set Referrer-Policy (e.g. strict-origin-when-cross-origin) to control referrer leakage.",
200
+ });
201
+ }
202
+ // Mixed content scan (http:// resources on an https page)
203
+ const mixed = https
204
+ ? analyzeMixedContent(result.body)
205
+ : { total: 0, samples: [] };
206
+ if (mixed.total > 0) {
207
+ findings.push({
208
+ severity: "critical",
209
+ category: "technical",
210
+ where: "page-level",
211
+ message: `Mixed content: ${mixed.total} http:// resource${mixed.total === 1 ? "" : "s"} on an https page (e.g. ${mixed.samples[0] ?? ""}).`,
212
+ fix: "Update all <img>, <script>, and <link> URLs to https:// or protocol-relative //. Mixed content is blocked by browsers and signals neglect.",
213
+ estimated_impact: "high",
214
+ });
215
+ }
168
216
  // Title/OG match
169
217
  const titleOgMatch = !head.title || !head.ogTitle
170
218
  ? true // can't compare if either is missing
@@ -211,6 +259,17 @@ export async function checkTechnical(input, hostDelays, robotsCache, renderMode)
211
259
  present: !!head.metaDescription,
212
260
  length: metaDescLen,
213
261
  },
262
+ response_headers: {
263
+ hsts,
264
+ x_content_type_options: xContentTypeOptions,
265
+ referrer_policy: referrerPolicy,
266
+ content_security_policy: csp,
267
+ cache_control: cacheControl,
268
+ },
269
+ mixed_content: {
270
+ count: mixed.total,
271
+ samples: mixed.samples,
272
+ },
214
273
  findings,
215
274
  };
216
275
  }
@@ -1 +1 @@
1
- {"version":3,"file":"check-technical.js","sourceRoot":"","sources":["../../src/tools/check-technical.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-technical.js","sourceRoot":"","sources":["../../src/tools/check-technical.ts"],"names":[],"mappings":"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"}
@@ -17,20 +17,20 @@ export const rewriteForAeoInputSchema = z
17
17
  .refine((d) => d.url !== undefined || d.text !== undefined, {
18
18
  message: "One of url or text is required",
19
19
  });
20
- const AEO_SYSTEM_PROMPT = `You are an Answer Engine Optimization (AEO) specialist. Rewrite the provided content to maximize AI engine citation probability.
21
-
22
- Rules:
23
- 1. Open with a direct 40-60 word answer to the target query (BLUF - Bottom Line Up Front).
24
- 2. Structure body content into FAQ format: H3 questions ending in "?" followed by 40-60 word answers.
25
- 3. Include at least one ordered list for procedural content.
26
- 4. Define key technical terms inline (e.g., "X is a type of Y that...").
27
- 5. Cite statistics with year and source where present.
28
- 6. End with a "Key Takeaways" or "Summary" section.
29
- 7. No em-dashes. No filler phrases ("In conclusion", "It is important to note").
30
- 8. Keep within the max_words limit.
31
- 9. For howto format: use numbered HowToStep structure.
32
- 10. For comparison format: include a comparison table.
33
-
20
+ const AEO_SYSTEM_PROMPT = `You are an Answer Engine Optimization (AEO) specialist. Rewrite the provided content to maximize AI engine citation probability.
21
+
22
+ Rules:
23
+ 1. Open with a direct 40-60 word answer to the target query (BLUF - Bottom Line Up Front).
24
+ 2. Structure body content into FAQ format: H3 questions ending in "?" followed by 40-60 word answers.
25
+ 3. Include at least one ordered list for procedural content.
26
+ 4. Define key technical terms inline (e.g., "X is a type of Y that...").
27
+ 5. Cite statistics with year and source where present.
28
+ 6. End with a "Key Takeaways" or "Summary" section.
29
+ 7. No em-dashes. No filler phrases ("In conclusion", "It is important to note").
30
+ 8. Keep within the max_words limit.
31
+ 9. For howto format: use numbered HowToStep structure.
32
+ 10. For comparison format: include a comparison table.
33
+
34
34
  Also generate a JSON-LD schema block appropriate for the content type and format.`;
35
35
  export async function rewriteForAeo(input, hostDelays, robotsCache, server) {
36
36
  // Fetch URL if provided
@@ -47,18 +47,18 @@ export async function rewriteForAeo(input, hostDelays, robotsCache, server) {
47
47
  // Compute before score
48
48
  const beforeResult = await scoreCitationWorthiness({ text: originalText, target_query: input.target_query, respect_robots: false }, hostDelays, robotsCache);
49
49
  const before_score = beforeResult.overall_score;
50
- const userMessage = `Target query: "${input.target_query}"
51
- Format: ${input.format}
52
- Max words: ${input.max_words}
53
-
54
- Original content:
55
- ---
56
- ${originalText.substring(0, 4000)}
57
- ---
58
-
59
- Rewrite this content for AEO. Return your response as JSON with these fields:
60
- - rewritten_text: the rewritten content (Markdown)
61
- - schema_additions: JSON-LD string to add to the page <head>
50
+ const userMessage = `Target query: "${input.target_query}"
51
+ Format: ${input.format}
52
+ Max words: ${input.max_words}
53
+
54
+ Original content:
55
+ ---
56
+ ${originalText.substring(0, 4000)}
57
+ ---
58
+
59
+ Rewrite this content for AEO. Return your response as JSON with these fields:
60
+ - rewritten_text: the rewritten content (Markdown)
61
+ - schema_additions: JSON-LD string to add to the page <head>
62
62
  - changes_made: array of strings describing each change applied`;
63
63
  // Attempt MCP sampling
64
64
  if (server) {
@@ -102,8 +102,8 @@ Rewrite this content for AEO. Return your response as JSON with these fields:
102
102
  }
103
103
  }
104
104
  // Prompt template fallback
105
- const promptTemplate = `${AEO_SYSTEM_PROMPT}
106
-
105
+ const promptTemplate = `${AEO_SYSTEM_PROMPT}
106
+
107
107
  ${userMessage}`;
108
108
  return {
109
109
  rewritten_text: promptTemplate,
@@ -16,19 +16,19 @@ export const rewriteForGeoInputSchema = z
16
16
  .refine((d) => d.url !== undefined || d.text !== undefined, {
17
17
  message: "One of url or text is required",
18
18
  });
19
- const GEO_SYSTEM_PROMPT = `You are a Generative Engine Optimization (GEO) specialist focused on Google AI Overviews and multi-source synthesis engines.
20
-
21
- Rules:
22
- 1. Define every key entity inline on first mention: "X (also known as Y) is a type of Z that...".
23
- 2. Include authoritative external citations with hyperlinks (Wikipedia, official docs, research papers).
24
- 3. Add a comparison table if requested or if the query implies comparison.
25
- 4. Use numbered feature lists for technical capabilities.
26
- 5. Structure for multi-source synthesis: each section should be independently citable without reading the full article.
27
- 6. Cite statistics with source, year, and context.
28
- 7. Add a "Related entities" section at the end listing key entities with sameAs links.
29
- 8. No em-dashes. No filler phrases.
30
- 9. Keep within the max_words limit.
31
-
19
+ const GEO_SYSTEM_PROMPT = `You are a Generative Engine Optimization (GEO) specialist focused on Google AI Overviews and multi-source synthesis engines.
20
+
21
+ Rules:
22
+ 1. Define every key entity inline on first mention: "X (also known as Y) is a type of Z that...".
23
+ 2. Include authoritative external citations with hyperlinks (Wikipedia, official docs, research papers).
24
+ 3. Add a comparison table if requested or if the query implies comparison.
25
+ 4. Use numbered feature lists for technical capabilities.
26
+ 5. Structure for multi-source synthesis: each section should be independently citable without reading the full article.
27
+ 6. Cite statistics with source, year, and context.
28
+ 7. Add a "Related entities" section at the end listing key entities with sameAs links.
29
+ 8. No em-dashes. No filler phrases.
30
+ 9. Keep within the max_words limit.
31
+
32
32
  Generate JSON-LD schema for all key entities mentioned (Organization, Person, Product, SoftwareApplication as appropriate) with sameAs links.`;
33
33
  export async function rewriteForGeo(input, hostDelays, robotsCache, server) {
34
34
  let originalText = input.text ?? "";
@@ -43,19 +43,19 @@ export async function rewriteForGeo(input, hostDelays, robotsCache, server) {
43
43
  }
44
44
  const beforeResult = await scoreCitationWorthiness({ text: originalText, target_query: input.target_query, respect_robots: false }, hostDelays, robotsCache);
45
45
  const before_score = beforeResult.overall_score;
46
- const userMessage = `Target query: "${input.target_query}"
47
- Add comparison table: ${input.add_comparison_table}
48
- Max words: ${input.max_words}
49
-
50
- Original content:
51
- ---
52
- ${originalText.substring(0, 4000)}
53
- ---
54
-
55
- Rewrite this content for GEO. Return JSON with:
56
- - rewritten_text: Markdown content
57
- - schema_additions: JSON-LD for key entities
58
- - changes_made: array of changes applied
46
+ const userMessage = `Target query: "${input.target_query}"
47
+ Add comparison table: ${input.add_comparison_table}
48
+ Max words: ${input.max_words}
49
+
50
+ Original content:
51
+ ---
52
+ ${originalText.substring(0, 4000)}
53
+ ---
54
+
55
+ Rewrite this content for GEO. Return JSON with:
56
+ - rewritten_text: Markdown content
57
+ - schema_additions: JSON-LD for key entities
58
+ - changes_made: array of changes applied
59
59
  - entities_added: array of entity names you defined or linked`;
60
60
  if (server) {
61
61
  try {
@@ -97,8 +97,8 @@ Rewrite this content for GEO. Return JSON with:
97
97
  // sampling unavailable
98
98
  }
99
99
  }
100
- const promptTemplate = `${GEO_SYSTEM_PROMPT}
101
-
100
+ const promptTemplate = `${GEO_SYSTEM_PROMPT}
101
+
102
102
  ${userMessage}`;
103
103
  return {
104
104
  rewritten_text: promptTemplate,
@@ -5,9 +5,9 @@ import { z } from "zod";
5
5
  import { writeFile, mkdir } from "node:fs/promises";
6
6
  import { dirname, isAbsolute, resolve, sep, relative } from "node:path";
7
7
  export const saveAuditReportInputSchema = z.object({
8
- audit_result: z.unknown().describe("The return value of audit_page or audit_site"),
9
- path: z.string().min(1).describe("Target file path. May be relative to MCP_WORKSPACE_ROOT (or cwd)."),
10
- overwrite: z.boolean().optional().default(true),
8
+ audit_result: z.unknown().describe("The return value of `audit.page` or `audit.site`. Pass the structured result verbatim - the tool detects which shape it is and renders the matching Markdown report."),
9
+ path: z.string().min(1).describe("Target file path. May be relative to MCP_WORKSPACE_ROOT (or cwd if unset). Paths that escape the workspace root are rejected."),
10
+ overwrite: z.boolean().optional().default(true).describe("If true (default), overwrite an existing file. If false, the write fails when the target already exists."),
11
11
  });
12
12
  function severityEmoji(s) {
13
13
  return s === "critical" ? "🔴" : s === "warning" ? "🟡" : "🔵";
@@ -1 +1 @@
1
- {"version":3,"file":"save-audit-report.js","sourceRoot":"","sources":["../../src/tools/save-audit-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save-audit-report.js","sourceRoot":"","sources":["../../src/tools/save-audit-report.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automatelab/ai-seo-mcp",
3
- "version": "0.3.4",
3
+ "version": "0.5.0",
4
4
  "mcpName": "io.github.AutomateLab-tech/ai-seo-mcp",
5
5
  "description": "AI Citation Toolkit - audit, score, and rewrite web pages for AI-citation eligibility. AEO/GEO/LLM visibility for any MCP client.",
6
6
  "license": "MIT",
@@ -10,7 +10,9 @@
10
10
  "type": "git",
11
11
  "url": "https://github.com/AutomateLab-tech/ai-seo-mcp.git"
12
12
  },
13
- "engines": { "node": ">=20" },
13
+ "engines": {
14
+ "node": ">=20"
15
+ },
14
16
  "type": "module",
15
17
  "bin": {
16
18
  "ai-seo-mcp": "dist/index.js",
@@ -38,7 +40,9 @@
38
40
  "playwright-core": "^1.49.0"
39
41
  },
40
42
  "peerDependenciesMeta": {
41
- "playwright-core": { "optional": true }
43
+ "playwright-core": {
44
+ "optional": true
45
+ }
42
46
  },
43
47
  "devDependencies": {
44
48
  "@types/node": "22.19.19",
@@ -51,6 +55,7 @@
51
55
  "src/lib/crawlers.json",
52
56
  "src/lib/schema-types.json",
53
57
  "action.yml",
58
+ "smithery.yaml",
54
59
  "README.md",
55
60
  "LICENSE"
56
61
  ],
package/smithery.yaml ADDED
@@ -0,0 +1,13 @@
1
+ startCommand:
2
+ type: stdio
3
+
4
+ configSchema:
5
+ type: object
6
+ properties: {}
7
+ required: []
8
+
9
+ commandFunction: |-
10
+ () => ({
11
+ command: "npx",
12
+ args: ["-y", "@automatelab/ai-seo-mcp"]
13
+ })
@@ -1,6 +1,6 @@
1
- {
2
- "training": ["GPTBot", "ClaudeBot", "CCBot", "Meta-ExternalAgent", "Amazonbot"],
3
- "search": ["OAI-SearchBot", "Claude-SearchBot", "PerplexityBot", "Bingbot", "DuckAssistBot"],
4
- "user_triggered": ["ChatGPT-User", "Claude-User", "Google-Agent"],
5
- "robots_token_only": ["Google-Extended", "Applebot-Extended"]
6
- }
1
+ {
2
+ "training": ["GPTBot", "ClaudeBot", "CCBot", "Meta-ExternalAgent", "Amazonbot"],
3
+ "search": ["OAI-SearchBot", "Claude-SearchBot", "PerplexityBot", "Bingbot", "DuckAssistBot"],
4
+ "user_triggered": ["ChatGPT-User", "Claude-User", "Google-Agent"],
5
+ "robots_token_only": ["Google-Extended", "Applebot-Extended"]
6
+ }
@@ -1,56 +1,56 @@
1
- [
2
- "Article",
3
- "BlogPosting",
4
- "NewsArticle",
5
- "FAQPage",
6
- "Question",
7
- "Answer",
8
- "HowTo",
9
- "HowToStep",
10
- "HowToSection",
11
- "HowToTool",
12
- "HowToSupply",
13
- "Organization",
14
- "LocalBusiness",
15
- "Person",
16
- "Product",
17
- "Offer",
18
- "AggregateOffer",
19
- "Review",
20
- "AggregateRating",
21
- "Rating",
22
- "BreadcrumbList",
23
- "ListItem",
24
- "SoftwareApplication",
25
- "WebApplication",
26
- "MobileApplication",
27
- "WebSite",
28
- "WebPage",
29
- "ItemPage",
30
- "AboutPage",
31
- "ContactPage",
32
- "SearchResultsPage",
33
- "ImageObject",
34
- "VideoObject",
35
- "AudioObject",
36
- "MediaObject",
37
- "Event",
38
- "CreativeWork",
39
- "Book",
40
- "Course",
41
- "Recipe",
42
- "Dataset",
43
- "SpeakableSpecification",
44
- "SearchAction",
45
- "EntryPoint",
46
- "PostalAddress",
47
- "GeoCoordinates",
48
- "OpeningHoursSpecification",
49
- "PriceSpecification",
50
- "MonetaryAmount",
51
- "ContactPoint",
52
- "Brand",
53
- "Intangible",
54
- "Thing",
55
- "Place"
56
- ]
1
+ [
2
+ "Article",
3
+ "BlogPosting",
4
+ "NewsArticle",
5
+ "FAQPage",
6
+ "Question",
7
+ "Answer",
8
+ "HowTo",
9
+ "HowToStep",
10
+ "HowToSection",
11
+ "HowToTool",
12
+ "HowToSupply",
13
+ "Organization",
14
+ "LocalBusiness",
15
+ "Person",
16
+ "Product",
17
+ "Offer",
18
+ "AggregateOffer",
19
+ "Review",
20
+ "AggregateRating",
21
+ "Rating",
22
+ "BreadcrumbList",
23
+ "ListItem",
24
+ "SoftwareApplication",
25
+ "WebApplication",
26
+ "MobileApplication",
27
+ "WebSite",
28
+ "WebPage",
29
+ "ItemPage",
30
+ "AboutPage",
31
+ "ContactPage",
32
+ "SearchResultsPage",
33
+ "ImageObject",
34
+ "VideoObject",
35
+ "AudioObject",
36
+ "MediaObject",
37
+ "Event",
38
+ "CreativeWork",
39
+ "Book",
40
+ "Course",
41
+ "Recipe",
42
+ "Dataset",
43
+ "SpeakableSpecification",
44
+ "SearchAction",
45
+ "EntryPoint",
46
+ "PostalAddress",
47
+ "GeoCoordinates",
48
+ "OpeningHoursSpecification",
49
+ "PriceSpecification",
50
+ "MonetaryAmount",
51
+ "ContactPoint",
52
+ "Brand",
53
+ "Intangible",
54
+ "Thing",
55
+ "Place"
56
+ ]