@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 +38 -7
- package/dist/client.d.ts +3 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +30 -6
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +31 -8
- package/dist/index.js.map +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/tenscore.d.ts +10 -0
- package/dist/tools/tenscore.d.ts.map +1 -0
- package/dist/tools/tenscore.js +142 -0
- package/dist/tools/tenscore.js.map +1 -0
- package/dist/tools/webintel.d.ts +11 -0
- package/dist/tools/webintel.d.ts.map +1 -0
- package/dist/tools/webintel.js +161 -0
- package/dist/tools/webintel.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/server.json +50 -3
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# @vanmoose/mcp-server
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
197 MCP tools from 74 developer utility APIs — one key, one server.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@vanmoose/mcp-server)
|
|
6
6
|
|
|
7
7
|
## What This Does
|
|
8
8
|
|
|
9
|
-
This MCP server exposes **
|
|
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
|
|
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
|
|
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 (
|
|
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
|
|
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
|
|
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
|
-
|
|
9
|
-
|
|
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
|
package/dist/client.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
58
|
+
body = JSON.stringify(remainingParams);
|
|
35
59
|
}
|
|
36
60
|
const controller = new AbortController();
|
|
37
61
|
const timeout = setTimeout(() => controller.abort(), TIMEOUT_MS);
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAsB,MAAM,YAAY,CAAC;AAE7D,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,MAAM,OAAO,cAAc;IACjB,MAAM,CAAS;
|
|
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 —
|
|
3
|
+
* @vanmoose/mcp-server — 197 MCP tools from 74 developer utility APIs
|
|
4
4
|
*
|
|
5
|
-
* One key. One server.
|
|
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 —
|
|
3
|
+
* @vanmoose/mcp-server — 197 MCP tools from 74 developer utility APIs
|
|
4
4
|
*
|
|
5
|
-
* One key. One server.
|
|
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
|
-
|
|
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.
|
|
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 ${
|
|
166
|
+
description: `Catalog of ${allRegisteredTools.length} APIs available with this key`,
|
|
144
167
|
mimeType: "application/json",
|
|
145
168
|
}, async () => {
|
|
146
|
-
const catalog =
|
|
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
|
|
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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
package/dist/tools/index.js
CHANGED
|
@@ -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;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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.
|
|
5
|
-
"description": "
|
|
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 —
|
|
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.
|
|
9
|
+
"version": "1.2.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@vanmoose/mcp-server",
|
|
14
|
-
"version": "1.
|
|
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
|
}
|