@vanmoose/mcp-server 1.0.0 → 1.1.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 +25 -5
- 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 +25 -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/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 +30 -3
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# @vanmoose/mcp-server
|
|
2
2
|
|
|
3
|
-
73 developer utility APIs
|
|
3
|
+
197 MCP tools from 73 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 73 VanMoose APIs** to any MCP-compatible AI agent (Claude, GPT, Cursor, Windsurf, etc.).
|
|
10
10
|
|
|
11
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.
|
|
12
12
|
|
|
@@ -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 (197 total)
|
|
77
77
|
|
|
78
78
|
### Image Generation
|
|
79
79
|
| Tool | Description |
|
|
@@ -134,6 +134,15 @@ Add to `.claude/settings.json`:
|
|
|
134
134
|
| `vanmoose_cronparser` | Parse cron expressions |
|
|
135
135
|
| `vanmoose_dataconv` | Convert JSON ↔ CSV ↔ XML ↔ YAML |
|
|
136
136
|
|
|
137
|
+
### TenScore Analytics
|
|
138
|
+
| Tool | Description |
|
|
139
|
+
|------|-------------|
|
|
140
|
+
| `tenscore_track_event` | Track a single SaaS event |
|
|
141
|
+
| `tenscore_track_batch` | Track a batch of SaaS events |
|
|
142
|
+
| `tenscore_get_health` | Get project health score (0-100) |
|
|
143
|
+
| `tenscore_get_signals` | Get daily signals for a project |
|
|
144
|
+
| `tenscore_list_monitors` | List uptime monitors for a project |
|
|
145
|
+
|
|
137
146
|
*Plus 130+ more tools across network, converter, and data categories.*
|
|
138
147
|
|
|
139
148
|
## For Agent Builders
|
|
@@ -141,7 +150,7 @@ Add to `.claude/settings.json`:
|
|
|
141
150
|
```typescript
|
|
142
151
|
// An LLM orchestrator discovers tools via list_tools
|
|
143
152
|
const tools = await mcpClient.listTools();
|
|
144
|
-
// → Returns
|
|
153
|
+
// → Returns 197 tool definitions with inputSchemas
|
|
145
154
|
|
|
146
155
|
// Call any tool
|
|
147
156
|
const result = await mcpClient.callTool('vanmoose_emailverify_verify', {
|
|
@@ -160,6 +169,7 @@ All tools return structured JSON. Error responses include machine-readable codes
|
|
|
160
169
|
| Variable | Required | Description |
|
|
161
170
|
|----------|----------|-------------|
|
|
162
171
|
| `VANMOOSE_API_KEY` | Yes | Your `vm_live_` API key |
|
|
172
|
+
| `TENSCORE_API_KEY` | No | TenScore `ts_live_` key (enables 5 TenScore tools) |
|
|
163
173
|
|
|
164
174
|
## Development
|
|
165
175
|
|
|
@@ -184,6 +194,16 @@ VANMOOSE_API_KEY=vm_live_xxx node dist/index.js
|
|
|
184
194
|
- [All 73 APIs](https://vanmoose.cc/apis)
|
|
185
195
|
- [JavaScript SDK](https://www.npmjs.com/package/@vanmoose/sdk)
|
|
186
196
|
|
|
197
|
+
## Changelog
|
|
198
|
+
|
|
199
|
+
### v1.1.0
|
|
200
|
+
- Added 5 TenScore tools: `tenscore_track_event`, `tenscore_track_batch`, `tenscore_get_health`, `tenscore_get_signals`, `tenscore_list_monitors`
|
|
201
|
+
- Total tools: 197 (192 VanMoose + 5 TenScore)
|
|
202
|
+
- TenScore tools require `TENSCORE_API_KEY` env var
|
|
203
|
+
|
|
204
|
+
### v1.0.0
|
|
205
|
+
- Initial release: 192 tools from 73 APIs
|
|
206
|
+
|
|
187
207
|
## License
|
|
188
208
|
|
|
189
209
|
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 73 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 73 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,21 @@ 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";
|
|
15
16
|
// ============================================================================
|
|
16
17
|
// INITIALIZATION
|
|
17
18
|
// ============================================================================
|
|
18
19
|
const apiKey = getApiKey();
|
|
19
|
-
|
|
20
|
+
// Optional: TenScore API key for tenscore.cc tools
|
|
21
|
+
const tenscoreApiKey = process.env.TENSCORE_API_KEY;
|
|
22
|
+
const extraKeys = {};
|
|
23
|
+
if (tenscoreApiKey) {
|
|
24
|
+
extraKeys['tenscore.cc'] = tenscoreApiKey;
|
|
25
|
+
}
|
|
26
|
+
const client = new VanMooseClient(apiKey, extraKeys);
|
|
20
27
|
const server = new McpServer({
|
|
21
28
|
name: "@vanmoose/mcp-server",
|
|
22
|
-
version: "1.
|
|
29
|
+
version: "1.1.0",
|
|
23
30
|
});
|
|
24
31
|
// ============================================================================
|
|
25
32
|
// HELPER: Build zod schema from tool parameter definitions
|
|
@@ -85,7 +92,7 @@ function registerTool(tool) {
|
|
|
85
92
|
}
|
|
86
93
|
}
|
|
87
94
|
const requestParams = tool.method === 'GET' ? queryParams : bodyParams;
|
|
88
|
-
const result = await client.request(tool.domain, tool.path, tool.method, requestParams);
|
|
95
|
+
const result = await client.request(tool.domain, tool.path, tool.method, requestParams, tool.authType || 'vanmoose');
|
|
89
96
|
return {
|
|
90
97
|
content: [{
|
|
91
98
|
type: "text",
|
|
@@ -138,12 +145,22 @@ async function registerTools() {
|
|
|
138
145
|
for (const tool of filteredTools) {
|
|
139
146
|
registerTool(tool);
|
|
140
147
|
}
|
|
148
|
+
// Register TenScore tools if API key is configured
|
|
149
|
+
let tenscoreCount = 0;
|
|
150
|
+
if (tenscoreApiKey) {
|
|
151
|
+
for (const tool of tenscoreTools) {
|
|
152
|
+
registerTool(tool);
|
|
153
|
+
tenscoreCount++;
|
|
154
|
+
}
|
|
155
|
+
console.error(`[TenScore] ${tenscoreCount} tools registered`);
|
|
156
|
+
}
|
|
141
157
|
// Register catalog resource with filtered tools
|
|
158
|
+
const allRegisteredTools = [...filteredTools, ...(tenscoreApiKey ? tenscoreTools : [])];
|
|
142
159
|
server.registerResource("API Catalog", "vanmoose://catalog", {
|
|
143
|
-
description: `Catalog of ${
|
|
160
|
+
description: `Catalog of ${allRegisteredTools.length} APIs available with this key`,
|
|
144
161
|
mimeType: "application/json",
|
|
145
162
|
}, async () => {
|
|
146
|
-
const catalog =
|
|
163
|
+
const catalog = allRegisteredTools.map(t => ({
|
|
147
164
|
name: t.name,
|
|
148
165
|
title: t.title,
|
|
149
166
|
description: t.description,
|
|
@@ -158,7 +175,7 @@ async function registerTools() {
|
|
|
158
175
|
}],
|
|
159
176
|
};
|
|
160
177
|
});
|
|
161
|
-
return
|
|
178
|
+
return allRegisteredTools.length;
|
|
162
179
|
}
|
|
163
180
|
// ============================================================================
|
|
164
181
|
// 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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"}
|
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": "73 developer utility APIs
|
|
4
|
+
"version": "1.1.0",
|
|
5
|
+
"description": "197 MCP tools from 73 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 — 73 developer APIs with 197 tools. Screenshot capture, email validation, NLP, WHOIS, tech stack detection, PDF generation, 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.1.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@vanmoose/mcp-server",
|
|
14
|
-
"version": "1.
|
|
14
|
+
"version": "1.1.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,26 @@
|
|
|
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"
|
|
789
816
|
}
|
|
790
817
|
]
|
|
791
818
|
}
|