@rankcli/mcp-server 0.0.1 → 0.0.2

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.
Files changed (3) hide show
  1. package/README.md +41 -90
  2. package/dist/index.js +5 -0
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -1,24 +1,12 @@
1
1
  # @rankcli/mcp-server
2
2
 
3
- **MCP Server for AI Assistants to perform SEO analysis.**
4
-
5
- The industry's first SEO tool accessible via Model Context Protocol. Let Claude, GPT, and other AI assistants run comprehensive SEO audits directly.
6
-
7
- ## What is MCP?
8
-
9
- [Model Context Protocol](https://modelcontextprotocol.io) (MCP) is Anthropic's standard for connecting AI assistants to external tools. This server exposes RankCLI's full SEO analysis capabilities to AI.
10
-
11
- ## Installation
3
+ Free, local SEO + GEO (AI-search-citation) analysis as an MCP tool. No signup, no API key, nothing sent to RankCLI's servers — it runs entirely inside your MCP host (Claude Code, Claude Desktop, Cursor, etc.) against HTML you already have or that your host fetches for you.
12
4
 
13
5
  ```bash
14
- npm install -g @rankcli/mcp-server
6
+ npx @rankcli/mcp-server
15
7
  ```
16
8
 
17
- ## Configuration
18
-
19
- ### Claude Desktop
20
-
21
- Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
9
+ **Claude Desktop config** (`~/Library/Application Support/Claude/claude_desktop_config.json`):
22
10
 
23
11
  ```json
24
12
  {
@@ -31,90 +19,53 @@ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_
31
19
  }
32
20
  ```
33
21
 
34
- Restart Claude Desktop. You'll now have SEO tools available.
35
-
36
- ### Other MCP Clients
37
-
38
- Run the server directly:
39
-
40
- ```bash
41
- npx @rankcli/mcp-server
42
- ```
43
-
44
- The server communicates via stdio using JSON-RPC.
45
-
46
22
  ## Available Tools
47
23
 
48
- ### `seo_analyze`
49
- **Full comprehensive SEO audit.** Returns scores for GEO, Core Web Vitals, Security, Structured Data, Images, Links, and Mobile.
50
-
51
- ### `seo_geo_check`
52
- **GEO (Generative Engine Optimization).** Check AI crawler access, JS rendering, LLM signals, citation readiness.
53
-
54
- ### `seo_robots_ai`
55
- **Analyze robots.txt for AI crawlers.** Shows which AI crawlers (GPTBot, ClaudeBot, PerplexityBot) are allowed/blocked.
56
-
57
- ### `seo_generate_robots`
58
- **Generate AI-friendly robots.txt.** Creates rules allowing all major AI crawlers.
59
-
60
- ### `seo_core_web_vitals`
61
- **Estimate Core Web Vitals.** LCP, CLS, INP, TTFB from HTML analysis.
62
-
63
- ### `seo_structured_data`
64
- **Validate JSON-LD schemas.** Check Article, Product, FAQ, HowTo, LocalBusiness, BreadcrumbList.
24
+ | Tool | Description |
25
+ |------|-------------|
26
+ | `seo_analyze` | Full SEO analysis: GEO, Core Web Vitals, structured data, security headers, mobile, images, internal linking |
27
+ | `seo_geo_check` | AI search visibility (GEO) — crawler access, LLM content signals, citation readiness |
28
+ | `seo_robots_ai` | Which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, etc.) your robots.txt allows or blocks |
29
+ | `seo_generate_robots` | Generate an AI-crawler-friendly robots.txt |
30
+ | `seo_core_web_vitals` | Estimate LCP, CLS, INP, TTFB from HTML |
31
+ | `seo_structured_data` | Validate JSON-LD / Schema.org markup |
32
+ | `seo_generate_schema` | Generate a JSON-LD template for a page type |
33
+ | `seo_security_headers` | Grade HTTPS, HSTS, CSP, and related headers |
34
+ | `seo_generate_security_headers` | Generate recommended security header config |
35
+ | `seo_images` | Alt text, dimensions, formats, lazy loading |
36
+ | `seo_internal_links` | Anchor text quality, orphan-page risk |
37
+ | `seo_mobile` | Viewport, touch targets, PWA readiness |
38
+ | `seo_ai_crawlers` | Reference list of known AI crawler user agents |
65
39
 
66
- ### `seo_generate_schema`
67
- **Generate schema templates.** For article, product, faq, local-business, website.
40
+ ## Example
68
41
 
69
- ### `seo_security_headers`
70
- **Analyze security headers.** HTTPS, HSTS, CSP with A+ to F grading.
42
+ Just ask Claude:
71
43
 
72
- ### `seo_generate_security_headers`
73
- **Generate recommended security headers.**
44
+ > "Run an SEO audit on https://example.com"
74
45
 
75
- ### `seo_images`
76
- **Image optimization analysis.** Alt text, dimensions, formats, lazy loading.
46
+ Your MCP host fetches the page and Claude calls these tools directly — nothing round-trips through RankCLI.
77
47
 
78
- ### `seo_internal_links`
79
- **Internal linking analysis.** Anchor text quality, orphan detection.
48
+ ## Want more?
80
49
 
81
- ### `seo_mobile`
82
- **Mobile SEO analysis.** Viewport, touch targets, PWA readiness.
50
+ This local server works from HTML/robots.txt you or your MCP host supply. For **URL-only tools that fetch and crawl for you** (`seo_audit`, `seo_geo_check`, `seo_robots_check`, `seo_compare`), plus the newer Cloudflare AI-crawler-gating compliance check, CI/CD scheduling, and auto-fix PRs, see the hosted endpoint and paid tiers:
83
51
 
84
- ### `seo_ai_crawlers`
85
- **AI crawler reference.** Information about all known AI crawlers.
86
-
87
- ## Example Usage
88
-
89
- Once configured, ask Claude:
90
-
91
- > "Run a comprehensive SEO audit on https://example.com"
92
-
93
- > "Check if my site is visible to ChatGPT and other AI search engines"
94
-
95
- > "Generate an AI-friendly robots.txt for my domain"
96
-
97
- > "What structured data should I add to my blog posts?"
98
-
99
- Claude will use the appropriate tools to analyze and respond.
100
-
101
- ## Why This Matters
102
-
103
- 1. **AI doing SEO**: Your AI assistant can now audit sites, generate fixes, and monitor SEO.
104
- 2. **Meta-optimization**: Make sure YOUR site is visible to AI crawlers—checked by AI.
105
- 3. **Developer workflow**: Ask Claude to audit during code review or deployment.
106
-
107
- ## Requirements
108
-
109
- - Node.js 18+
110
- - An MCP-compatible AI assistant (Claude Desktop, etc.)
111
-
112
- ## Related
52
+ ```json
53
+ {
54
+ "mcpServers": {
55
+ "rankcli-hosted": {
56
+ "url": "https://rankcli-audit-worker.fly.dev/mcp",
57
+ "headers": {
58
+ "Authorization": "Bearer YOUR_API_KEY"
59
+ }
60
+ }
61
+ }
62
+ }
63
+ ```
113
64
 
114
- - [RankCLI CLI](https://www.npmjs.com/package/@rankcli/cli) - Command-line SEO tool
115
- - [RankCLI Website](https://rankcli.dev) - Full documentation
116
- - [MCP Protocol](https://modelcontextprotocol.io) - Model Context Protocol
65
+ Get a free API key at [rankcli.dev/dashboard](https://rankcli.dev/dashboard).
117
66
 
118
- ## License
67
+ ## Links
119
68
 
120
- MIT
69
+ - **Main package**: [@rankcli/cli](https://www.npmjs.com/package/@rankcli/cli)
70
+ - **Docs**: [rankcli.dev/docs](https://rankcli.dev/docs)
71
+ - **Dashboard**: [rankcli.dev/dashboard](https://rankcli.dev/dashboard)
package/dist/index.js CHANGED
@@ -460,6 +460,9 @@ ${Object.entries(headers).map(([k, v]) => `**${k}:**
460
460
  };
461
461
  }
462
462
  });
463
+ var BRIDGE_FOOTER = `
464
+ ---
465
+ *This ran locally with no signup. For GitHub auto-fix PRs, scheduled monitoring, and a dashboard with history across audits, create a free account at [rankcli.dev](https://rankcli.dev).*`;
463
466
  function formatComprehensiveResult(result) {
464
467
  const criticalIssues = result.allIssues.filter((i) => i.severity === "critical");
465
468
  const warnings = result.allIssues.filter((i) => i.severity === "warning");
@@ -495,6 +498,7 @@ ${warnings.slice(0, 5).map((i) => `- **${i.title}:** ${i.description}`).join("\n
495
498
  ## Priority Recommendations
496
499
 
497
500
  ${result.prioritizedRecommendations.map((r, i) => `${i + 1}. ${r}`).join("\n")}
501
+ ${BRIDGE_FOOTER}
498
502
  `;
499
503
  }
500
504
  function formatGEOResult(result) {
@@ -535,6 +539,7 @@ Trust Signals: ${result.citationReadiness.trustSignals.join(", ") || "None detec
535
539
  ## Recommendations
536
540
 
537
541
  ${result.recommendations.map((r) => `- ${r}`).join("\n")}
542
+ ${BRIDGE_FOOTER}
538
543
  `;
539
544
  }
540
545
  function formatCWVResult(result) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rankcli/mcp-server",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "MCP (Model Context Protocol) server for RankCLI SEO analysis",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,7 +27,7 @@
27
27
  "license": "MIT",
28
28
  "dependencies": {
29
29
  "@modelcontextprotocol/sdk": "^1.0.0",
30
- "@rankcli/agent-runtime": "^0.0.11"
30
+ "@rankcli/agent-runtime": "^0.0.17"
31
31
  },
32
32
  "devDependencies": {
33
33
  "tsup": "^8.0.0",