@heyseo/mcp-server 0.2.0 → 0.2.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.
Files changed (51) hide show
  1. package/README.md +133 -56
  2. package/dist/index.js +492 -293
  3. package/dist/index.js.map +1 -1
  4. package/dist/prompts/index.d.ts.map +1 -1
  5. package/dist/prompts/index.js +93 -0
  6. package/dist/prompts/index.js.map +1 -1
  7. package/dist/resources/index.d.ts +1 -1
  8. package/dist/resources/index.d.ts.map +1 -1
  9. package/dist/resources/index.js +135 -4
  10. package/dist/resources/index.js.map +1 -1
  11. package/dist/tools/comparison.d.ts +1 -1
  12. package/dist/tools/index.d.ts +37 -458
  13. package/dist/tools/index.d.ts.map +1 -1
  14. package/dist/tools/index.js +56 -1
  15. package/dist/tools/index.js.map +1 -1
  16. package/dist/tools/indexing.d.ts +94 -0
  17. package/dist/tools/indexing.d.ts.map +1 -0
  18. package/dist/tools/indexing.js +99 -0
  19. package/dist/tools/indexing.js.map +1 -0
  20. package/dist/tools/insights.d.ts +38 -0
  21. package/dist/tools/insights.d.ts.map +1 -0
  22. package/dist/tools/insights.js +58 -0
  23. package/dist/tools/insights.js.map +1 -0
  24. package/dist/tools/memory.d.ts +329 -0
  25. package/dist/tools/memory.d.ts.map +1 -0
  26. package/dist/tools/memory.js +242 -0
  27. package/dist/tools/memory.js.map +1 -0
  28. package/dist/tools/onpage.d.ts +37 -0
  29. package/dist/tools/onpage.d.ts.map +1 -0
  30. package/dist/tools/onpage.js +46 -0
  31. package/dist/tools/onpage.js.map +1 -0
  32. package/dist/tools/reports.d.ts +74 -0
  33. package/dist/tools/reports.d.ts.map +1 -0
  34. package/dist/tools/reports.js +92 -0
  35. package/dist/tools/reports.js.map +1 -0
  36. package/dist/tools/serp.d.ts +55 -0
  37. package/dist/tools/serp.d.ts.map +1 -0
  38. package/dist/tools/serp.js +47 -0
  39. package/dist/tools/serp.js.map +1 -0
  40. package/dist/tools/sitemaps.d.ts +30 -0
  41. package/dist/tools/sitemaps.d.ts.map +1 -0
  42. package/dist/tools/sitemaps.js +44 -0
  43. package/dist/tools/sitemaps.js.map +1 -0
  44. package/dist/tools/tasks.d.ts +14 -14
  45. package/dist/types.d.ts +138 -0
  46. package/dist/types.d.ts.map +1 -1
  47. package/dist/utils/api-client.d.ts +55 -1
  48. package/dist/utils/api-client.d.ts.map +1 -1
  49. package/dist/utils/api-client.js +126 -1
  50. package/dist/utils/api-client.js.map +1 -1
  51. package/package.json +2 -1
package/README.md CHANGED
@@ -3,7 +3,9 @@
3
3
 
4
4
  # HeySeo MCP Server
5
5
 
6
- Connect your LLM to your SEO data. Query Google Search Console, Google Analytics 4, and PageSpeed Insights directly from Claude, ChatGPT, Cursor, or any MCP-compatible client.
6
+ Connect your LLM to your SEO data. Query Google Search Console, Google Analytics 4, PageSpeed Insights, SERP data, indexing health, AI insights, and more — directly from Claude, ChatGPT, Cursor, or any MCP-compatible client.
7
+
8
+ **35 tools** | **10 resources** | **12 prompts**
7
9
  </div>
8
10
 
9
11
  ## Quick Start
@@ -202,6 +204,56 @@ Restart Claude Desktop, Cursor, or your MCP client to load the new server.
202
204
  | `heyseo_bulk_create_tasks` | Create multiple tasks at once (up to 10) |
203
205
  | `heyseo_bulk_update_tasks` | Update multiple tasks at once (up to 10) |
204
206
 
207
+ ### Reports
208
+
209
+ | Tool | Description |
210
+ |------|-------------|
211
+ | `heyseo_list_reports` | List AI-generated SEO reports (weekly/monthly) |
212
+ | `heyseo_get_report` | Get full report details including metrics and AI analysis |
213
+
214
+ ### Indexing Health
215
+
216
+ | Tool | Description |
217
+ |------|-------------|
218
+ | `heyseo_indexing_status` | Get indexing health summary (indexed/not-indexed counts, health score) |
219
+ | `heyseo_indexing_pages` | List pages with their indexing verdict and coverage state |
220
+ | `heyseo_submit_for_indexing` | Submit a page to Google's Indexing API for faster indexing |
221
+
222
+ ### SEO Memory
223
+
224
+ | Tool | Description |
225
+ |------|-------------|
226
+ | `heyseo_get_memory` | Get full SEO memory context (strategy, goals, learnings, health trend) |
227
+ | `heyseo_update_strategy` | Update SEO strategy summary, create goals, or update goal progress |
228
+ | `heyseo_record_action` | Record an SEO action taken on the site with hypothesis and metrics to track |
229
+ | `heyseo_add_learning` | Add a key fact or success pattern to the site's learning memory |
230
+
231
+ ### AI Insights
232
+
233
+ | Tool | Description |
234
+ |------|-------------|
235
+ | `heyseo_get_insights` | Get AI-generated insights (anomalies, opportunities, alerts, trends, milestones) |
236
+
237
+ ### On-Page Audit
238
+
239
+ | Tool | Description |
240
+ |------|-------------|
241
+ | `heyseo_onpage_audit` | Run a full on-page SEO audit on any URL (score, meta tags, headings, links, images, issues) |
242
+
243
+ ### SERP Analysis
244
+
245
+ | Tool | Description |
246
+ |------|-------------|
247
+ | `heyseo_serp_search` | Search Google SERP for a keyword with organic results, featured snippets, and PAA |
248
+
249
+ ### Sitemaps
250
+
251
+ | Tool | Description |
252
+ |------|-------------|
253
+ | `heyseo_list_sitemaps` | List sitemaps registered in Google Search Console with status and errors |
254
+
255
+ ---
256
+
205
257
  ## Resources
206
258
 
207
259
  Access your SEO data as readable resources:
@@ -210,9 +262,16 @@ Access your SEO data as readable resources:
210
262
  |-----|-------------|
211
263
  | `heyseo://sites` | List all connected sites |
212
264
  | `heyseo://sites/{id}` | Site details |
213
- | `heyseo://sites/{id}/overview` | Current metrics overview |
265
+ | `heyseo://sites/{id}/overview` | Current metrics overview (last 28 days) |
214
266
  | `heyseo://sites/{id}/keywords` | Top 50 keywords |
215
267
  | `heyseo://sites/{id}/pages` | Top 50 pages |
268
+ | `heyseo://sites/{id}/reports` | Recent AI-generated SEO reports |
269
+ | `heyseo://sites/{id}/indexing` | Indexing health summary |
270
+ | `heyseo://sites/{id}/insights` | AI-generated insights |
271
+ | `heyseo://sites/{id}/memory` | SEO memory context (strategy, goals, learnings) |
272
+ | `heyseo://sites/{id}/sitemaps` | GSC sitemaps |
273
+
274
+ ---
216
275
 
217
276
  ## Prompts
218
277
 
@@ -228,7 +287,10 @@ Pre-built prompts for common SEO tasks:
228
287
  | `traffic_analysis` | Traffic patterns and sources |
229
288
  | `quick_wins` | Low-effort, high-impact opportunities |
230
289
  | `ranking_changes` | Recent ranking changes analysis |
231
- | `task_review` | Review and prioritize SEO tasks for a site |
290
+ | `task_review` | Review and prioritize SEO tasks |
291
+ | `indexing_audit` | Indexing health audit with fix recommendations |
292
+ | `strategy_review` | Review and update SEO strategy based on memory |
293
+ | `insights_briefing` | Summarize recent insights and suggest actions |
232
294
 
233
295
  ---
234
296
 
@@ -243,80 +305,95 @@ Before performing any SEO operations, you must select a site:
243
305
 
244
306
  **Select a site:**
245
307
  > "Select the site with ID: abc123def456"
246
- >
247
- > Or ask Claude to list sites and select one for you
248
308
 
249
309
  **Check current site:**
250
310
  > "What site am I currently working with?"
251
311
 
252
- ### SEO Operations
312
+ ### Performance Analysis
253
313
 
254
- Once a site is selected, you can perform SEO operations:
255
-
256
- **Get top keywords:**
257
314
  > "What are my top 10 keywords this month?"
258
315
 
259
- **Run an SEO audit:**
260
- > "Run an SEO audit on my site"
261
-
262
- **Compare performance:**
263
316
  > "How did we do this week vs last week?"
264
317
 
265
- **Analyze page speed:**
266
318
  > "Check the page speed for our homepage"
267
319
 
268
- **Find opportunities:**
320
+ > "How has my ranking for 'best seo tools' changed over the last 30 days?"
321
+
322
+ ### Audits & Opportunities
323
+
324
+ > "Run an SEO audit on my site"
325
+
269
326
  > "Find quick win SEO opportunities"
270
327
 
271
- **Track keyword ranking history:**
272
- > "How has my ranking for 'best seo tools' changed over the last 30 days?"
328
+ > "Run an on-page audit on https://example.com/blog/post"
329
+
330
+ > "Search Google for 'best project management tools' and show me the SERP"
331
+
332
+ ### Indexing Health
333
+
334
+ > "What's my indexing health status?"
335
+
336
+ > "Show me pages that aren't indexed"
337
+
338
+ > "Submit my /new-landing-page for indexing"
339
+
340
+ ### Reports & Insights
341
+
342
+ > "Show me my latest SEO reports"
343
+
344
+ > "What AI insights do you have for my site?"
345
+
346
+ > "Give me an insights briefing"
347
+
348
+ ### Strategy & Memory
349
+
350
+ > "What's our current SEO strategy?"
351
+
352
+ > "Update the strategy summary to focus on technical SEO improvements"
353
+
354
+ > "Create a goal to increase organic clicks by 20% by Q3"
355
+
356
+ > "Record that we optimized all meta descriptions today"
357
+
358
+ > "Add a learning: long-form guides rank better for informational queries"
359
+
360
+ ### Task Management
273
361
 
274
- **Review and prioritize tasks:**
275
362
  > "Review my SEO tasks and help me prioritize them"
276
363
 
277
- **Create tasks from audit findings:**
278
364
  > "Create tasks for the top 5 issues you found in the audit"
279
365
 
280
- **Bulk update task status:**
281
366
  > "Mark all the technical tasks as done"
282
367
 
368
+ ### Sitemaps
369
+
370
+ > "List my sitemaps from Google Search Console"
371
+
283
372
  ---
284
373
 
285
- ## Site Selection Workflow
286
-
287
- The HeySeo MCP server uses explicit site selection to prevent data isolation issues:
288
-
289
- ### Typical Workflow
290
-
291
- 1. **Initialize**: User starts a conversation with Claude
292
- 2. **List Sites**: User asks to see available sites
293
- ```
294
- heyseo_list_sites
295
- Returns all available sites with IDs and connection status
296
- ```
297
- 3. **Select Site**: User chooses which site to work with
298
- ```
299
- heyseo_select_site { siteId: "your-site-id" }
300
- Confirms selection and shows site details
301
- ```
302
- 4. **Verify Selection**: (Optional) User confirms the current site
303
- ```
304
- heyseo_get_current_site
305
- Returns details of the selected site
306
- ```
307
- 5. **Perform Operations**: All subsequent SEO operations use the selected site
308
- ```
309
- → heyseo_query_gsc { siteId: <auto-filled>, ... }
310
- → heyseo_top_keywords { siteId: <auto-filled>, ... }
311
- → etc.
312
- ```
313
-
314
- ### Benefits
315
-
316
- - **Data Isolation**: Prevents accidentally querying wrong site's data
317
- - **Explicit Selection**: User clearly knows which site they're working with
318
- - **Session Persistence**: Selection persists across multiple operations
319
- - **Safety**: Perfect for users managing multiple sites
374
+ ## API Key Scopes
375
+
376
+ When creating an API key, you can restrict access to specific features:
377
+
378
+ | Scope | Description |
379
+ |-------|-------------|
380
+ | `sites:read` | Read site information |
381
+ | `gsc:read` | Read Google Search Console data |
382
+ | `ga4:read` | Read Google Analytics 4 data |
383
+ | `pagespeed:read` | Run PageSpeed analyses |
384
+ | `tasks:read` | Read tasks |
385
+ | `tasks:write` | Create, update, delete tasks |
386
+ | `reports:read` | Read AI-generated reports |
387
+ | `indexing:read` | Read indexing status and pages |
388
+ | `indexing:write` | Submit pages for indexing |
389
+ | `memory:read` | Read SEO memory context |
390
+ | `memory:write` | Update strategy, goals, actions, learnings |
391
+ | `insights:read` | Read AI-generated insights |
392
+ | `onpage:read` | Run on-page audits |
393
+ | `serp:read` | Search Google SERP |
394
+ | `sitemaps:read` | Read GSC sitemaps |
395
+
396
+ Use `all` scope for full access.
320
397
 
321
398
  ---
322
399
 
@@ -341,4 +418,4 @@ MIT
341
418
  ## Support
342
419
 
343
420
  - Website: [heyseo.app](https://heyseo.app)
344
- - Email: support@heyseo.app
421
+ - Email: hello@heyseo.app