@superagnt/seo-data 2.0.4 → 2.0.6

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 CHANGED
@@ -10,17 +10,11 @@ openclaw plugins install @superagnt/seo-data
10
10
 
11
11
  This package is the official **OpenClaw** plugin for **SEO** social and public data via [superagnt](https://superagnt.com). Pair it with the [documentation](https://superagnt.com/docs) and your superagnt API key.
12
12
 
13
- ## Want the live MCP surface instead?
13
+ ## What this plugin contains
14
14
 
15
- This plugin ships a fixed, baked-in toolset that only needs your
16
- `SUPERAGNT_API_KEY`. For the live workspace tool surface — the full value
17
- layer (data sources plus workspace Postgres, schedules, canvases,
18
- enrichment), growing server-side with no plugin update — install the
19
- primary superagnt plugin instead:
15
+ A fixed, baked-in toolset for the **SEO** endpoints listed below — nothing else. It authenticates with your `SUPERAGNT_API_KEY` and calls the superagnt REST API directly. It does not add tools for other platforms and does not change after install; new capabilities only arrive through an explicit plugin update.
20
16
 
21
- ```bash
22
- openclaw plugins install @superagnt/superagnt
23
- ```
17
+ Prefer MCP? The `@superagnt/superagnt` plugin connects the workspace MCP server instead, whose tool surface is managed by the user in the dashboard.
24
18
 
25
19
  ## Overview
26
20
 
@@ -67,8 +61,8 @@ Use a single **superagnt API key** (Bearer token). Set `SUPERAGNT_API_KEY` in yo
67
61
 
68
62
  ## Related
69
63
 
70
- - **Skill (curl-oriented):** `clawhub install seo-data` on [ClawHub](https://clawhub.ai/superagnt/skills/seo-data)
71
- - **All platforms plugin:** `@superagnt/openclaw-agnt-data` if you need LinkedIn, YouTube, TikTok, X, Instagram, Reddit, and Facebook in one package.
64
+ - **Skill (curl-oriented):** `clawhub install superagnt/seo-data` on [ClawHub](https://clawhub.ai/superagnt/skills/seo-data)
65
+ - **All platforms plugin:** `@superagnt/social-data` if you need LinkedIn, YouTube, TikTok, X, Instagram, Reddit, and Facebook in one package.
72
66
 
73
67
  ## License
74
68
 
package/index.js CHANGED
@@ -7,7 +7,8 @@ import { homedir as _homedir } from 'node:os'
7
7
  import { join as _join } from 'node:path'
8
8
  import { existsSync as _existsSync, readFileSync as _readFileSync } from 'node:fs'
9
9
 
10
- const BASE_URL = 'https://api.superagnt.com/v1/data/seo'
10
+ // SUPERAGNT_API_URL overrides the API origin (QA/staging); customers never set it.
11
+ const BASE_URL = (process.env.SUPERAGNT_API_URL || 'https://api.superagnt.com') + '/v1/data/seo'
11
12
 
12
13
 
13
14
  // ── Auth Module (inlined) ────────────────────────────────────────────────────
@@ -123,7 +124,7 @@ export default function register(api) {
123
124
  "keyword"
124
125
  ]
125
126
  },
126
- execute: async (input) => {
127
+ execute: async (_toolCallId, input) => {
127
128
  const key = ensureApiKey()
128
129
  const params = parseToolInput(input)
129
130
  return callSuperagnt(key, 'POST', '/serp', undefined, params)
@@ -153,7 +154,7 @@ export default function register(api) {
153
154
  "keyword"
154
155
  ]
155
156
  },
156
- execute: async (input) => {
157
+ execute: async (_toolCallId, input) => {
157
158
  const key = ensureApiKey()
158
159
  const params = parseToolInput(input)
159
160
  return callSuperagnt(key, 'POST', '/serp-ai-mode', undefined, params)
@@ -199,7 +200,7 @@ export default function register(api) {
199
200
  "keywords"
200
201
  ]
201
202
  },
202
- execute: async (input) => {
203
+ execute: async (_toolCallId, input) => {
203
204
  const key = ensureApiKey()
204
205
  const params = parseToolInput(input)
205
206
  return callSuperagnt(key, 'POST', '/keyword-ideas', undefined, params)
@@ -229,7 +230,7 @@ export default function register(api) {
229
230
  "keywords"
230
231
  ]
231
232
  },
232
- execute: async (input) => {
233
+ execute: async (_toolCallId, input) => {
233
234
  const key = ensureApiKey()
234
235
  const params = parseToolInput(input)
235
236
  return callSuperagnt(key, 'POST', '/keyword-overview', undefined, params)
@@ -255,7 +256,7 @@ export default function register(api) {
255
256
  "keywords"
256
257
  ]
257
258
  },
258
- execute: async (input) => {
259
+ execute: async (_toolCallId, input) => {
259
260
  const key = ensureApiKey()
260
261
  const params = parseToolInput(input)
261
262
  return callSuperagnt(key, 'POST', '/search-intent', undefined, params)
@@ -301,7 +302,7 @@ export default function register(api) {
301
302
  "target"
302
303
  ]
303
304
  },
304
- execute: async (input) => {
305
+ execute: async (_toolCallId, input) => {
305
306
  const key = ensureApiKey()
306
307
  const params = parseToolInput(input)
307
308
  return callSuperagnt(key, 'POST', '/ranked-keywords', undefined, params)
@@ -352,7 +353,7 @@ export default function register(api) {
352
353
  "target2"
353
354
  ]
354
355
  },
355
- execute: async (input) => {
356
+ execute: async (_toolCallId, input) => {
356
357
  const key = ensureApiKey()
357
358
  const params = parseToolInput(input)
358
359
  return callSuperagnt(key, 'POST', '/keyword-gap', undefined, params)
@@ -394,7 +395,7 @@ export default function register(api) {
394
395
  "target"
395
396
  ]
396
397
  },
397
- execute: async (input) => {
398
+ execute: async (_toolCallId, input) => {
398
399
  const key = ensureApiKey()
399
400
  const params = parseToolInput(input)
400
401
  return callSuperagnt(key, 'POST', '/competitors', undefined, params)
@@ -424,7 +425,7 @@ export default function register(api) {
424
425
  "target"
425
426
  ]
426
427
  },
427
- execute: async (input) => {
428
+ execute: async (_toolCallId, input) => {
428
429
  const key = ensureApiKey()
429
430
  const params = parseToolInput(input)
430
431
  return callSuperagnt(key, 'POST', '/domain-overview', undefined, params)
@@ -454,7 +455,7 @@ export default function register(api) {
454
455
  "target"
455
456
  ]
456
457
  },
457
- execute: async (input) => {
458
+ execute: async (_toolCallId, input) => {
458
459
  const key = ensureApiKey()
459
460
  const params = parseToolInput(input)
460
461
  return callSuperagnt(key, 'POST', '/backlinks-summary', undefined, params)
@@ -496,7 +497,7 @@ export default function register(api) {
496
497
  "target"
497
498
  ]
498
499
  },
499
- execute: async (input) => {
500
+ execute: async (_toolCallId, input) => {
500
501
  const key = ensureApiKey()
501
502
  const params = parseToolInput(input)
502
503
  return callSuperagnt(key, 'POST', '/referring-domains', undefined, params)
@@ -538,7 +539,7 @@ export default function register(api) {
538
539
  "targets"
539
540
  ]
540
541
  },
541
- execute: async (input) => {
542
+ execute: async (_toolCallId, input) => {
542
543
  const key = ensureApiKey()
543
544
  const params = parseToolInput(input)
544
545
  return callSuperagnt(key, 'POST', '/backlink-gap', undefined, params)
@@ -564,7 +565,7 @@ export default function register(api) {
564
565
  "url"
565
566
  ]
566
567
  },
567
- execute: async (input) => {
568
+ execute: async (_toolCallId, input) => {
568
569
  const key = ensureApiKey()
569
570
  const params = parseToolInput(input)
570
571
  return callSuperagnt(key, 'POST', '/page-audit', undefined, params)
@@ -591,7 +592,7 @@ export default function register(api) {
591
592
  }
592
593
  }
593
594
  },
594
- execute: async (input) => {
595
+ execute: async (_toolCallId, input) => {
595
596
  const key = ensureApiKey()
596
597
  const params = parseToolInput(input)
597
598
  return callSuperagnt(key, 'POST', '/ai-visibility', undefined, params)
@@ -613,7 +614,7 @@ export default function register(api) {
613
614
  "target"
614
615
  ]
615
616
  },
616
- execute: async (input) => {
617
+ execute: async (_toolCallId, input) => {
617
618
  const key = ensureApiKey()
618
619
  const params = parseToolInput(input)
619
620
  return callSuperagnt(key, 'POST', '/tech-stack', undefined, params)
@@ -651,7 +652,7 @@ export default function register(api) {
651
652
  "technologies"
652
653
  ]
653
654
  },
654
- execute: async (input) => {
655
+ execute: async (_toolCallId, input) => {
655
656
  const key = ensureApiKey()
656
657
  const params = parseToolInput(input)
657
658
  return callSuperagnt(key, 'POST', '/tech-search', undefined, params)
@@ -2,7 +2,7 @@
2
2
  "id": "seo-data",
3
3
  "name": "SEO Data",
4
4
  "description": "SEO and search intelligence through the superagnt unified API.",
5
- "version": "2.0.4",
5
+ "version": "2.0.6",
6
6
  "contracts": {
7
7
  "tools": [
8
8
  "superagnt_seo_google_search",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superagnt/seo-data",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "type": "module",
5
5
  "description": "SEO and search intelligence through the superagnt unified API.",
6
6
  "main": "index.js",