@vanmoose/mcp-server 1.0.0 → 1.2.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 CHANGED
@@ -1,14 +1,14 @@
1
1
  # @vanmoose/mcp-server
2
2
 
3
- 73 developer utility APIs as MCP tools — one key, one server.
3
+ 197 MCP tools from 74 developer utility APIs — one key, one server.
4
4
 
5
5
  [![npm version](https://badge.fury.io/js/@vanmoose%2Fmcp-server.svg)](https://www.npmjs.com/package/@vanmoose/mcp-server)
6
6
 
7
7
  ## What This Does
8
8
 
9
- This MCP server exposes **192 tools from 73 VanMoose APIs** to any MCP-compatible AI agent (Claude, GPT, Cursor, Windsurf, etc.).
9
+ This MCP server exposes **197 tools from 74 VanMoose APIs** to any MCP-compatible AI agent (Claude, GPT, Cursor, Windsurf, etc.).
10
10
 
11
- One API key. One server. Screenshot capture, email validation, NLP, WHOIS, tech stack detection, PDF generation, and 66 more — all callable as native tools.
11
+ One API key. One server. Screenshot capture, email validation, NLP, WHOIS, tech stack detection, PDF generation, web intelligence, and 67 more — all callable as native tools.
12
12
 
13
13
  ## Quick Start
14
14
 
@@ -35,7 +35,7 @@ Sign up free at [vanmoose.cc](https://vanmoose.cc/sign-up) — a key is auto-iss
35
35
  }
36
36
  ```
37
37
 
38
- Restart Claude Desktop. You'll see 192 tools available.
38
+ Restart Claude Desktop. You'll see 197 tools available.
39
39
 
40
40
  ### 3. Configure Cursor / Windsurf
41
41
 
@@ -73,7 +73,7 @@ Add to `.claude/settings.json`:
73
73
  }
74
74
  ```
75
75
 
76
- ## Available Tools (190 total)
76
+ ## Available Tools (204 total)
77
77
 
78
78
  ### Image Generation
79
79
  | Tool | Description |
@@ -102,6 +102,13 @@ Add to `.claude/settings.json`:
102
102
  | `vanmoose_sitemap_parse` | Parse XML sitemaps |
103
103
  | `vanmoose_linkcheck_check` | Check if URLs are alive, dead, or redirecting |
104
104
  | `vanmoose_changecheck` | Detect website content changes |
105
+ | `vanmoose_webintel_scrape` | Scrape a URL with CSS selector extraction |
106
+ | `vanmoose_webintel_content` | Extract clean content stripped of boilerplate |
107
+ | `vanmoose_webintel_markdown` | Convert web page to Markdown for LLM consumption |
108
+ | `vanmoose_webintel_json` | AI-powered structured data extraction |
109
+ | `vanmoose_webintel_links` | Extract links with internal/external classification |
110
+ | `vanmoose_webintel_crawl` | Start async multi-page website crawl |
111
+ | `vanmoose_webintel_crawl_status` | Check crawl job status and retrieve results |
105
112
 
106
113
  ### Validation
107
114
  | Tool | Description |
@@ -134,6 +141,15 @@ Add to `.claude/settings.json`:
134
141
  | `vanmoose_cronparser` | Parse cron expressions |
135
142
  | `vanmoose_dataconv` | Convert JSON ↔ CSV ↔ XML ↔ YAML |
136
143
 
144
+ ### TenScore Analytics
145
+ | Tool | Description |
146
+ |------|-------------|
147
+ | `tenscore_track_event` | Track a single SaaS event |
148
+ | `tenscore_track_batch` | Track a batch of SaaS events |
149
+ | `tenscore_get_health` | Get project health score (0-100) |
150
+ | `tenscore_get_signals` | Get daily signals for a project |
151
+ | `tenscore_list_monitors` | List uptime monitors for a project |
152
+
137
153
  *Plus 130+ more tools across network, converter, and data categories.*
138
154
 
139
155
  ## For Agent Builders
@@ -141,7 +157,7 @@ Add to `.claude/settings.json`:
141
157
  ```typescript
142
158
  // An LLM orchestrator discovers tools via list_tools
143
159
  const tools = await mcpClient.listTools();
144
- // → Returns 190 tool definitions with inputSchemas
160
+ // → Returns 197 tool definitions with inputSchemas
145
161
 
146
162
  // Call any tool
147
163
  const result = await mcpClient.callTool('vanmoose_emailverify_verify', {
@@ -160,6 +176,7 @@ All tools return structured JSON. Error responses include machine-readable codes
160
176
  | Variable | Required | Description |
161
177
  |----------|----------|-------------|
162
178
  | `VANMOOSE_API_KEY` | Yes | Your `vm_live_` API key |
179
+ | `TENSCORE_API_KEY` | No | TenScore `ts_live_` key (enables 5 TenScore tools) |
163
180
 
164
181
  ## Development
165
182
 
@@ -181,9 +198,23 @@ VANMOOSE_API_KEY=vm_live_xxx node dist/index.js
181
198
 
182
199
  - [Van Moose API Platform](https://vanmoose.cc)
183
200
  - [Get API Key](https://vanmoose.cc/dashboard)
184
- - [All 73 APIs](https://vanmoose.cc/apis)
201
+ - [All 74 APIs](https://vanmoose.cc/apis)
185
202
  - [JavaScript SDK](https://www.npmjs.com/package/@vanmoose/sdk)
186
203
 
204
+ ## Changelog
205
+
206
+ ### v1.2.0
207
+ - Added 5 WebIntel tools: `vanmoose_webintel_scrape`, `vanmoose_webintel_content`, `vanmoose_webintel_markdown`, `vanmoose_webintel_json`, `vanmoose_webintel_links`
208
+ - Total tools: 197 (192 VanMoose + 5 WebIntel, plus 5 TenScore with optional key)
209
+
210
+ ### v1.1.0
211
+ - Added 5 TenScore tools: `tenscore_track_event`, `tenscore_track_batch`, `tenscore_get_health`, `tenscore_get_signals`, `tenscore_list_monitors`
212
+ - Total tools: 197 (192 VanMoose + 5 TenScore)
213
+ - TenScore tools require `TENSCORE_API_KEY` env var
214
+
215
+ ### v1.0.0
216
+ - Initial release: 192 tools from 73 APIs
217
+
187
218
  ## License
188
219
 
189
220
  MIT — [Van Moose BV](https://vanmoose.com), Amsterdam
package/dist/client.d.ts CHANGED
@@ -5,8 +5,9 @@
5
5
  */
6
6
  export declare class VanMooseClient {
7
7
  private apiKey;
8
- constructor(apiKey: string);
9
- request(domain: string, path: string, method: 'GET' | 'POST', params: Record<string, unknown>): Promise<unknown>;
8
+ private extraKeys;
9
+ constructor(apiKey: string, extraKeys?: Record<string, string>);
10
+ request(domain: string, path: string, method: 'GET' | 'POST', params: Record<string, unknown>, authType?: 'vanmoose' | 'bearer'): Promise<unknown>;
10
11
  private mapError;
11
12
  }
12
13
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAIpB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,KAAK,GAAG,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC;IA0EnB,OAAO,CAAC,QAAQ;CAkCjB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAyB;gBAE9B,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAK5D,OAAO,CACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,KAAK,GAAG,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,GAAE,UAAU,GAAG,QAAqB,GAC3C,OAAO,CAAC,OAAO,CAAC;IAkGnB,OAAO,CAAC,QAAQ;CAkCjB"}
package/dist/client.js CHANGED
@@ -7,18 +7,42 @@ import { ERROR_CODES } from './types.js';
7
7
  const TIMEOUT_MS = 30_000;
8
8
  export class VanMooseClient {
9
9
  apiKey;
10
- constructor(apiKey) {
10
+ extraKeys;
11
+ constructor(apiKey, extraKeys = {}) {
11
12
  this.apiKey = apiKey;
13
+ this.extraKeys = extraKeys;
12
14
  }
13
- async request(domain, path, method, params) {
14
- const url = new URL(`https://${domain}${path}`);
15
+ async request(domain, path, method, params, authType = 'vanmoose') {
16
+ // Interpolate path parameters (e.g. /api/projects/{projectId}/health)
17
+ let resolvedPath = path;
18
+ const usedPathParams = new Set();
19
+ resolvedPath = resolvedPath.replace(/\{(\w+)\}/g, (_, key) => {
20
+ usedPathParams.add(key);
21
+ return encodeURIComponent(String(params[key] ?? ''));
22
+ });
23
+ // Remove consumed path params from the params object
24
+ const remainingParams = {};
25
+ for (const [key, value] of Object.entries(params)) {
26
+ if (!usedPathParams.has(key)) {
27
+ remainingParams[key] = value;
28
+ }
29
+ }
30
+ const url = new URL(`https://${domain}${resolvedPath}`);
15
31
  const headers = {
16
- 'X-VanMoose-Key': this.apiKey,
17
32
  'User-Agent': '@vanmoose/mcp-server/1.0.0',
18
33
  };
34
+ if (authType === 'bearer') {
35
+ const bearerKey = this.extraKeys[domain];
36
+ if (bearerKey) {
37
+ headers['Authorization'] = `Bearer ${bearerKey}`;
38
+ }
39
+ }
40
+ else {
41
+ headers['X-VanMoose-Key'] = this.apiKey;
42
+ }
19
43
  let body;
20
44
  if (method === 'GET') {
21
- for (const [key, value] of Object.entries(params)) {
45
+ for (const [key, value] of Object.entries(remainingParams)) {
22
46
  if (value !== undefined && value !== null) {
23
47
  if (Array.isArray(value)) {
24
48
  url.searchParams.set(key, value.join(','));
@@ -31,7 +55,7 @@ export class VanMooseClient {
31
55
  }
32
56
  else {
33
57
  headers['Content-Type'] = 'application/json';
34
- body = JSON.stringify(params);
58
+ body = JSON.stringify(remainingParams);
35
59
  }
36
60
  const controller = new AbortController();
37
61
  const timeout = setTimeout(() => controller.abort(), TIMEOUT_MS);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @vanmoose/mcp-server — 72 developer utility APIs as MCP tools
3
+ * @vanmoose/mcp-server — 197 MCP tools from 74 developer utility APIs
4
4
  *
5
- * One key. One server. 72 tools for any AI agent.
5
+ * One key. One server. 197 tools for any AI agent.
6
6
  * https://vanmoose.cc
7
7
  */
8
8
  export {};
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @vanmoose/mcp-server — 72 developer utility APIs as MCP tools
3
+ * @vanmoose/mcp-server — 197 MCP tools from 74 developer utility APIs
4
4
  *
5
- * One key. One server. 72 tools for any AI agent.
5
+ * One key. One server. 197 tools for any AI agent.
6
6
  * https://vanmoose.cc
7
7
  */
8
8
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
@@ -12,14 +12,22 @@ import { getApiKey } from "./auth.js";
12
12
  import { VanMooseClient } from "./client.js";
13
13
  import { getKeyScope } from "./scope.js";
14
14
  import { tools } from "./tools/index.js";
15
+ import { tenscoreTools } from "./tools/tenscore.js";
16
+ import { webintelTools } from "./tools/webintel.js";
15
17
  // ============================================================================
16
18
  // INITIALIZATION
17
19
  // ============================================================================
18
20
  const apiKey = getApiKey();
19
- const client = new VanMooseClient(apiKey);
21
+ // Optional: TenScore API key for tenscore.cc tools
22
+ const tenscoreApiKey = process.env.TENSCORE_API_KEY;
23
+ const extraKeys = {};
24
+ if (tenscoreApiKey) {
25
+ extraKeys['tenscore.cc'] = tenscoreApiKey;
26
+ }
27
+ const client = new VanMooseClient(apiKey, extraKeys);
20
28
  const server = new McpServer({
21
29
  name: "@vanmoose/mcp-server",
22
- version: "1.0.0",
30
+ version: "1.2.0",
23
31
  });
24
32
  // ============================================================================
25
33
  // HELPER: Build zod schema from tool parameter definitions
@@ -85,7 +93,7 @@ function registerTool(tool) {
85
93
  }
86
94
  }
87
95
  const requestParams = tool.method === 'GET' ? queryParams : bodyParams;
88
- const result = await client.request(tool.domain, tool.path, tool.method, requestParams);
96
+ const result = await client.request(tool.domain, tool.path, tool.method, requestParams, tool.authType || 'vanmoose');
89
97
  return {
90
98
  content: [{
91
99
  type: "text",
@@ -138,12 +146,27 @@ async function registerTools() {
138
146
  for (const tool of filteredTools) {
139
147
  registerTool(tool);
140
148
  }
149
+ // Register TenScore tools if API key is configured
150
+ let tenscoreCount = 0;
151
+ if (tenscoreApiKey) {
152
+ for (const tool of tenscoreTools) {
153
+ registerTool(tool);
154
+ tenscoreCount++;
155
+ }
156
+ console.error(`[TenScore] ${tenscoreCount} tools registered`);
157
+ }
158
+ // Register WebIntel tools (uses standard VanMoose API key)
159
+ for (const tool of webintelTools) {
160
+ registerTool(tool);
161
+ }
162
+ console.error(`[WebIntel] ${webintelTools.length} tools registered`);
141
163
  // Register catalog resource with filtered tools
164
+ const allRegisteredTools = [...filteredTools, ...(tenscoreApiKey ? tenscoreTools : []), ...webintelTools];
142
165
  server.registerResource("API Catalog", "vanmoose://catalog", {
143
- description: `Catalog of ${filteredTools.length} VanMoose APIs available with this key`,
166
+ description: `Catalog of ${allRegisteredTools.length} APIs available with this key`,
144
167
  mimeType: "application/json",
145
168
  }, async () => {
146
- const catalog = filteredTools.map(t => ({
169
+ const catalog = allRegisteredTools.map(t => ({
147
170
  name: t.name,
148
171
  title: t.title,
149
172
  description: t.description,
@@ -158,7 +181,7 @@ async function registerTools() {
158
181
  }],
159
182
  };
160
183
  });
161
- return filteredTools.length;
184
+ return allRegisteredTools.length;
162
185
  }
163
186
  // ============================================================================
164
187
  // TRANSPORT
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC3B,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,+EAA+E;AAC/E,2DAA2D;AAC3D,+EAA+E;AAE/E,SAAS,cAAc,CAAC,MAAuB;IAC7C,MAAM,KAAK,GAAiC,EAAE,CAAC;IAE/C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,MAAoB,CAAC;QAEzB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACZ,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBACvD,MAAM;YACR;gBACE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;QAED,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,SAAS,YAAY,CAAC,IAAoB;IACxC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAE9C,MAAM,CAAC,YAAY,CACjB,IAAI,CAAC,IAAI,EACT;QACE,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW;QACX,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,MAA+B,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,2DAA2D;YAC3D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAElE,MAAM,WAAW,GAA4B,EAAE,CAAC;YAChD,MAAM,UAAU,GAA4B,EAAE,CAAC;YAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS;oBAAE,SAAS;gBAClC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;YACvE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CACjC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAwB,EAC7B,aAAa,CACd,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtC,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAsB,CAAC;YACvC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,KAAK,EAAE,OAAO,CAAC,IAAI;gCACnB,OAAO,EAAE,OAAO,CAAC,OAAO;gCACxB,MAAM,EAAE,OAAO,CAAC,MAAM;6BACvB,CAAC;yBACH,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,iBAAiB,IAAI,CAAC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC9F,CAAC;aACH,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,KAAK,UAAU,aAAa;IAC1B,mDAAmD;IACnD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/C,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QACxH,CAAC;aAAM,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,8BAA8B,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,gDAAgD;IAChD,MAAM,CAAC,gBAAgB,CACrB,aAAa,EACb,oBAAoB,EACpB;QACE,WAAW,EAAE,cAAc,aAAa,CAAC,MAAM,wCAAwC;QACvF,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,IAAI,EAAE;QACT,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC,CAAC;QACJ,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,GAAG,EAAE,oBAAoB;oBACzB,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvC,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,OAAO,aAAa,CAAC,MAAM,CAAC;AAC9B,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,kCAAkC,SAAS,mBAAmB,CAAC,CAAC;AAChF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated tool definitions for @vanmoose/mcp-server
3
- * Generated: 2026-03-17T19:05:16.421Z
3
+ * Generated: 2026-03-27T15:42:36.111Z
4
4
  * Total: 192 tools from 73 APIs
5
5
  *
6
6
  * DO NOT EDIT — run `npm run generate` to regenerate.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated tool definitions for @vanmoose/mcp-server
3
- * Generated: 2026-03-17T19:05:16.421Z
3
+ * Generated: 2026-03-27T15:42:36.111Z
4
4
  * Total: 192 tools from 73 APIs
5
5
  *
6
6
  * DO NOT EDIT — run `npm run generate` to regenerate.
@@ -0,0 +1,10 @@
1
+ /**
2
+ * TenScore API tools for @vanmoose/mcp-server
3
+ *
4
+ * SaaS health analytics — ingest events, get health scores, daily signals, and monitors.
5
+ * Auth: Bearer token with ts_live_ API keys via TENSCORE_API_KEY env var.
6
+ * Docs: https://tenscore.cc/.well-known/openapi.json
7
+ */
8
+ import type { ToolDefinition } from '../types.js';
9
+ export declare const tenscoreTools: ToolDefinition[];
10
+ //# sourceMappingURL=tenscore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenscore.d.ts","sourceRoot":"","sources":["../../src/tools/tenscore.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,aAAa,EAAE,cAAc,EAqIzC,CAAC"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * TenScore API tools for @vanmoose/mcp-server
3
+ *
4
+ * SaaS health analytics — ingest events, get health scores, daily signals, and monitors.
5
+ * Auth: Bearer token with ts_live_ API keys via TENSCORE_API_KEY env var.
6
+ * Docs: https://tenscore.cc/.well-known/openapi.json
7
+ */
8
+ export const tenscoreTools = [
9
+ {
10
+ "name": "tenscore_track_event",
11
+ "title": "Track a single SaaS event",
12
+ "description": "Ingest a single canonical SaaS event (e.g. user_signed_up, subscription_created). Sent to the TenScore analytics pipeline for health scoring across 7 dimensions.",
13
+ "apiId": "tenscore",
14
+ "domain": "tenscore.cc",
15
+ "path": "/api/ingest",
16
+ "method": "POST",
17
+ "parameters": [],
18
+ "bodyParameters": [
19
+ {
20
+ "name": "event",
21
+ "type": "string",
22
+ "description": "Canonical event name: user_signed_up, user_activated, feature_used, session_started, trial_started, subscription_created, subscription_renewed, subscription_churned, subscription_expanded, user_referred",
23
+ "required": true
24
+ },
25
+ {
26
+ "name": "distinct_id",
27
+ "type": "string",
28
+ "description": "Unique user identifier",
29
+ "required": true
30
+ },
31
+ {
32
+ "name": "timestamp",
33
+ "type": "string",
34
+ "description": "Event timestamp in ISO 8601 format (defaults to now)",
35
+ "required": false
36
+ },
37
+ {
38
+ "name": "tier",
39
+ "type": "string",
40
+ "description": "User pricing tier (e.g. 'free', 'pro')",
41
+ "required": false
42
+ },
43
+ {
44
+ "name": "days_since_signup",
45
+ "type": "integer",
46
+ "description": "Days since the user first signed up",
47
+ "required": false
48
+ },
49
+ {
50
+ "name": "session_number",
51
+ "type": "integer",
52
+ "description": "Sequential session count for this user",
53
+ "required": false
54
+ }
55
+ ],
56
+ "authType": "bearer"
57
+ },
58
+ {
59
+ "name": "tenscore_track_batch",
60
+ "title": "Track a batch of SaaS events",
61
+ "description": "Ingest multiple canonical SaaS events in a single request. Max batch size: 1000. Each event requires 'event' and 'distinct_id' fields.",
62
+ "apiId": "tenscore",
63
+ "domain": "tenscore.cc",
64
+ "path": "/api/ingest",
65
+ "method": "POST",
66
+ "parameters": [],
67
+ "bodyParameters": [
68
+ {
69
+ "name": "batch",
70
+ "type": "array",
71
+ "description": "Array of event objects, each with 'event' (canonical name) and 'distinct_id' (user ID). Optional fields: timestamp, tier, days_since_signup, session_number.",
72
+ "required": true,
73
+ "items": { "type": "object" }
74
+ }
75
+ ],
76
+ "authType": "bearer"
77
+ },
78
+ {
79
+ "name": "tenscore_get_health",
80
+ "title": "Get project health score",
81
+ "description": "Computes a 0-100 health score across 7 weighted dimensions (acquisition, activation, engagement, retention, conversion, revenue retention, virality) with letter grade (A-F) and period-over-period trend.",
82
+ "apiId": "tenscore",
83
+ "domain": "tenscore.cc",
84
+ "path": "/api/projects/{projectId}/health",
85
+ "method": "GET",
86
+ "parameters": [
87
+ {
88
+ "name": "projectId",
89
+ "type": "string",
90
+ "description": "TenScore project ID",
91
+ "required": true
92
+ },
93
+ {
94
+ "name": "period",
95
+ "type": "string",
96
+ "description": "Lookback period: 7d, 30d, or 90d (default: 30d)",
97
+ "required": false
98
+ }
99
+ ],
100
+ "bodyParameters": [],
101
+ "authType": "bearer"
102
+ },
103
+ {
104
+ "name": "tenscore_get_signals",
105
+ "title": "Get daily signals for a project",
106
+ "description": "Returns today-vs-yesterday metric deltas with warn/ok/info classifications. Requires at least 20 ingested events to generate meaningful signals.",
107
+ "apiId": "tenscore",
108
+ "domain": "tenscore.cc",
109
+ "path": "/api/projects/{projectId}/signals",
110
+ "method": "GET",
111
+ "parameters": [
112
+ {
113
+ "name": "projectId",
114
+ "type": "string",
115
+ "description": "TenScore project ID",
116
+ "required": true
117
+ }
118
+ ],
119
+ "bodyParameters": [],
120
+ "authType": "bearer"
121
+ },
122
+ {
123
+ "name": "tenscore_list_monitors",
124
+ "title": "List uptime monitors for a project",
125
+ "description": "Returns all Sentinel Pro uptime monitors for a project, including last check status (up/down), response time, and incident count.",
126
+ "apiId": "tenscore",
127
+ "domain": "tenscore.cc",
128
+ "path": "/api/monitors",
129
+ "method": "GET",
130
+ "parameters": [
131
+ {
132
+ "name": "projectId",
133
+ "type": "string",
134
+ "description": "TenScore project ID",
135
+ "required": true
136
+ }
137
+ ],
138
+ "bodyParameters": [],
139
+ "authType": "bearer"
140
+ }
141
+ ];
142
+ //# sourceMappingURL=tenscore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenscore.js","sourceRoot":"","sources":["../../src/tools/tenscore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WebIntel API tools for @vanmoose/mcp-server
3
+ *
4
+ * Web intelligence — scrape, extract content, convert to Markdown, extract structured
5
+ * data with AI, and discover links.
6
+ * Auth: X-VanMoose-Key header via VANMOOSE_API_KEY env var.
7
+ * Docs: https://webintel.vanmoose.cc/v1/docs
8
+ */
9
+ import type { ToolDefinition } from '../types.js';
10
+ export declare const webintelTools: ToolDefinition[];
11
+ //# sourceMappingURL=webintel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webintel.d.ts","sourceRoot":"","sources":["../../src/tools/webintel.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,aAAa,EAAE,cAAc,EAuJzC,CAAC"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * WebIntel API tools for @vanmoose/mcp-server
3
+ *
4
+ * Web intelligence — scrape, extract content, convert to Markdown, extract structured
5
+ * data with AI, and discover links.
6
+ * Auth: X-VanMoose-Key header via VANMOOSE_API_KEY env var.
7
+ * Docs: https://webintel.vanmoose.cc/v1/docs
8
+ */
9
+ export const webintelTools = [
10
+ {
11
+ "name": "vanmoose_webintel_scrape",
12
+ "title": "Scrape a URL",
13
+ "description": "Scrape a URL and return the raw HTML content. Optionally wait for a CSS selector before returning.",
14
+ "apiId": "webintel",
15
+ "domain": "webintel.vanmoose.cc",
16
+ "path": "/v1/scrape",
17
+ "method": "POST",
18
+ "parameters": [],
19
+ "bodyParameters": [
20
+ {
21
+ "name": "url",
22
+ "type": "string",
23
+ "description": "The URL to scrape",
24
+ "required": true
25
+ },
26
+ {
27
+ "name": "selectors",
28
+ "type": "object",
29
+ "description": "Map of key to CSS selector for targeted extraction (e.g. { \"title\": \"h1\", \"price\": \".price\" })",
30
+ "required": false
31
+ },
32
+ {
33
+ "name": "timeout",
34
+ "type": "integer",
35
+ "description": "Timeout in milliseconds (default 30000)",
36
+ "required": false
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ "name": "vanmoose_webintel_content",
42
+ "title": "Extract clean content from a URL",
43
+ "description": "Extract the main content from a URL, removing navigation, ads, and boilerplate. Returns cleaned text or HTML.",
44
+ "apiId": "webintel",
45
+ "domain": "webintel.vanmoose.cc",
46
+ "path": "/v1/content",
47
+ "method": "POST",
48
+ "parameters": [],
49
+ "bodyParameters": [
50
+ {
51
+ "name": "url",
52
+ "type": "string",
53
+ "description": "The URL to extract content from",
54
+ "required": true
55
+ },
56
+ {
57
+ "name": "format",
58
+ "type": "string",
59
+ "description": "Output format: \"html\" or \"text\" (default: \"text\")",
60
+ "required": false
61
+ },
62
+ {
63
+ "name": "timeout",
64
+ "type": "integer",
65
+ "description": "Timeout in milliseconds (default 30000)",
66
+ "required": false
67
+ }
68
+ ]
69
+ },
70
+ {
71
+ "name": "vanmoose_webintel_markdown",
72
+ "title": "Convert a web page to Markdown",
73
+ "description": "Convert a web page to clean markdown format, optimized for LLM consumption. Strips images and embeds by default.",
74
+ "apiId": "webintel",
75
+ "domain": "webintel.vanmoose.cc",
76
+ "path": "/v1/markdown",
77
+ "method": "POST",
78
+ "parameters": [],
79
+ "bodyParameters": [
80
+ {
81
+ "name": "url",
82
+ "type": "string",
83
+ "description": "The URL to convert to markdown",
84
+ "required": true
85
+ },
86
+ {
87
+ "name": "timeout",
88
+ "type": "integer",
89
+ "description": "Timeout in milliseconds (default 30000)",
90
+ "required": false
91
+ }
92
+ ]
93
+ },
94
+ {
95
+ "name": "vanmoose_webintel_json",
96
+ "title": "AI-powered structured data extraction",
97
+ "description": "Extract structured JSON data from a URL using AI. Define a schema describing what to extract and get structured data back with confidence scoring.",
98
+ "apiId": "webintel",
99
+ "domain": "webintel.vanmoose.cc",
100
+ "path": "/v1/json",
101
+ "method": "POST",
102
+ "parameters": [],
103
+ "bodyParameters": [
104
+ {
105
+ "name": "url",
106
+ "type": "string",
107
+ "description": "The URL to extract data from",
108
+ "required": true
109
+ },
110
+ {
111
+ "name": "schema",
112
+ "type": "object",
113
+ "description": "JSON schema defining the structure to extract (e.g. { \"pricing\": \"array of pricing tiers\", \"icp\": \"who is this product for\" })",
114
+ "required": true
115
+ },
116
+ {
117
+ "name": "prompt",
118
+ "type": "string",
119
+ "description": "Additional instructions for the AI extraction",
120
+ "required": false
121
+ },
122
+ {
123
+ "name": "timeout",
124
+ "type": "integer",
125
+ "description": "Timeout in milliseconds (default 30000)",
126
+ "required": false
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "name": "vanmoose_webintel_links",
132
+ "title": "Extract links from a web page",
133
+ "description": "Extract all links from a web page with their text and attributes. Filter by internal, external, or all links.",
134
+ "apiId": "webintel",
135
+ "domain": "webintel.vanmoose.cc",
136
+ "path": "/v1/links",
137
+ "method": "POST",
138
+ "parameters": [],
139
+ "bodyParameters": [
140
+ {
141
+ "name": "url",
142
+ "type": "string",
143
+ "description": "The URL to extract links from",
144
+ "required": true
145
+ },
146
+ {
147
+ "name": "filter",
148
+ "type": "string",
149
+ "description": "Filter links: \"internal\", \"external\", or \"all\" (default: \"all\")",
150
+ "required": false
151
+ },
152
+ {
153
+ "name": "timeout",
154
+ "type": "integer",
155
+ "description": "Timeout in milliseconds (default 30000)",
156
+ "required": false
157
+ }
158
+ ]
159
+ }
160
+ ];
161
+ //# sourceMappingURL=webintel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webintel.js","sourceRoot":"","sources":["../../src/tools/webintel.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -11,6 +11,8 @@ export interface ToolDefinition {
11
11
  method: 'GET' | 'POST';
12
12
  parameters: ToolParameter[];
13
13
  bodyParameters: ToolParameter[];
14
+ /** Auth type: 'vanmoose' uses X-VanMoose-Key header, 'bearer' uses Authorization: Bearer header. Defaults to 'vanmoose'. */
15
+ authType?: 'vanmoose' | 'bearer';
14
16
  }
15
17
  export interface ToolParameter {
16
18
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,4HAA4H;IAC5H,QAAQ,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4BH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,qBAAqB;IACjC,cAAc,EAAE,yBAAyB;IACzC,gBAAgB,EAAE,2BAA2B;IAC7C,SAAS,EAAE,oBAAoB;IAC/B,YAAY,EAAE,uBAAuB;IACrC,OAAO,EAAE,kBAAkB;CACnB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8BH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,qBAAqB;IACjC,cAAc,EAAE,yBAAyB;IACzC,gBAAgB,EAAE,2BAA2B;IAC7C,SAAS,EAAE,oBAAoB;IAC/B,YAAY,EAAE,uBAAuB;IACrC,OAAO,EAAE,kBAAkB;CACnB,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@vanmoose/mcp-server",
3
3
  "mcpName": "cc.vanmoose/mcp-server",
4
- "version": "1.0.0",
5
- "description": "73 developer utility APIs as MCP tools — one key, one server",
4
+ "version": "1.2.0",
5
+ "description": "197 MCP tools from 74 developer utility APIs — one key, one server",
6
6
  "type": "module",
7
7
  "bin": {
8
8
  "vanmoose-mcp": "dist/index.js"
package/server.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "cc.vanmoose/mcp-server",
4
- "description": "MCP server for VanMoose API Centre — 72 developer APIs with 190 tools. Screenshot capture, email validation, NLP, WHOIS, tech stack detection, PDF generation, and more.",
4
+ "description": "MCP server for VanMoose API Centre — 74 developer APIs with 197 tools. Screenshot capture, email validation, NLP, WHOIS, tech stack detection, PDF generation, web intelligence, SaaS analytics, and more.",
5
5
  "repository": {
6
6
  "url": "https://github.com/vanmoose-apis/mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "1.0.0",
9
+ "version": "1.2.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@vanmoose/mcp-server",
14
- "version": "1.0.0",
14
+ "version": "1.2.0",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },
@@ -22,6 +22,13 @@
22
22
  "isRequired": true,
23
23
  "isSecret": true,
24
24
  "format": "string"
25
+ },
26
+ {
27
+ "name": "TENSCORE_API_KEY",
28
+ "description": "TenScore API key (enables 5 TenScore analytics tools)",
29
+ "isRequired": false,
30
+ "isSecret": true,
31
+ "format": "string"
25
32
  }
26
33
  ]
27
34
  }
@@ -786,6 +793,46 @@
786
793
  {
787
794
  "name": "vanmoose_pdfgenerate",
788
795
  "description": "Generate PDFs from HTML content or URLs via headless Chrome"
796
+ },
797
+ {
798
+ "name": "tenscore_track_event",
799
+ "description": "Track a single SaaS event"
800
+ },
801
+ {
802
+ "name": "tenscore_track_batch",
803
+ "description": "Track a batch of SaaS events"
804
+ },
805
+ {
806
+ "name": "tenscore_get_health",
807
+ "description": "Get project health score (0-100)"
808
+ },
809
+ {
810
+ "name": "tenscore_get_signals",
811
+ "description": "Get daily signals for a project"
812
+ },
813
+ {
814
+ "name": "tenscore_list_monitors",
815
+ "description": "List uptime monitors for a project"
816
+ },
817
+ {
818
+ "name": "vanmoose_webintel_scrape",
819
+ "description": "Scrape a URL with optional CSS selector extraction"
820
+ },
821
+ {
822
+ "name": "vanmoose_webintel_content",
823
+ "description": "Extract clean content from a URL, stripped of boilerplate"
824
+ },
825
+ {
826
+ "name": "vanmoose_webintel_markdown",
827
+ "description": "Convert a web page to clean Markdown for LLM consumption"
828
+ },
829
+ {
830
+ "name": "vanmoose_webintel_json",
831
+ "description": "AI-powered structured data extraction with confidence scoring"
832
+ },
833
+ {
834
+ "name": "vanmoose_webintel_links",
835
+ "description": "Extract all links from a URL with internal/external classification"
789
836
  }
790
837
  ]
791
838
  }