@revealui/mcp 0.1.11 → 0.3.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/LICENSE +104 -17
- package/README.md +18 -13
- package/dist/adapters/db.d.ts +16 -7
- package/dist/adapters/db.d.ts.map +1 -1
- package/dist/adapters/db.js +6 -24
- package/dist/adapters/db.js.map +1 -1
- package/dist/client.d.ts +307 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +492 -0
- package/dist/client.js.map +1 -0
- package/dist/hypervisor.d.ts +18 -0
- package/dist/hypervisor.d.ts.map +1 -1
- package/dist/hypervisor.js +83 -4
- package/dist/hypervisor.js.map +1 -1
- package/dist/index.d.ts +7 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -19
- package/dist/index.js.map +1 -1
- package/dist/metering.d.ts +59 -0
- package/dist/metering.d.ts.map +1 -0
- package/dist/metering.js +25 -0
- package/dist/metering.js.map +1 -0
- package/dist/oauth.d.ts +171 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +292 -0
- package/dist/oauth.js.map +1 -0
- package/dist/remote-client.d.ts +86 -0
- package/dist/remote-client.d.ts.map +1 -0
- package/dist/remote-client.js +130 -0
- package/dist/remote-client.js.map +1 -0
- package/dist/servers/adapter.d.ts.map +1 -1
- package/dist/servers/adapter.js +4 -0
- package/dist/servers/adapter.js.map +1 -1
- package/dist/servers/contracts.d.ts +23 -0
- package/dist/servers/contracts.d.ts.map +1 -0
- package/dist/servers/contracts.js +34 -0
- package/dist/servers/contracts.js.map +1 -0
- package/dist/servers/factories/contracts.d.ts +7272 -0
- package/dist/servers/factories/contracts.d.ts.map +1 -0
- package/dist/servers/factories/contracts.js +646 -0
- package/dist/servers/factories/contracts.js.map +1 -0
- package/dist/servers/factories/revealui-content.d.ts +85 -0
- package/dist/servers/factories/revealui-content.d.ts.map +1 -0
- package/dist/servers/factories/revealui-content.js +471 -0
- package/dist/servers/factories/revealui-content.js.map +1 -0
- package/dist/servers/neon.d.ts.map +1 -1
- package/dist/servers/neon.js +1 -5
- package/dist/servers/neon.js.map +1 -1
- package/dist/servers/next-devtools.d.ts.map +1 -1
- package/dist/servers/next-devtools.js +0 -4
- package/dist/servers/next-devtools.js.map +1 -1
- package/dist/servers/playwright.d.ts.map +1 -1
- package/dist/servers/playwright.js +0 -4
- package/dist/servers/playwright.js.map +1 -1
- package/dist/servers/revealui-content.d.ts +12 -18
- package/dist/servers/revealui-content.d.ts.map +1 -1
- package/dist/servers/revealui-content.js +14 -224
- package/dist/servers/revealui-content.js.map +1 -1
- package/dist/servers/revealui-email.d.ts.map +1 -1
- package/dist/servers/revealui-email.js +0 -6
- package/dist/servers/revealui-email.js.map +1 -1
- package/dist/servers/revealui-memory.d.ts +24 -0
- package/dist/servers/revealui-memory.d.ts.map +1 -0
- package/dist/servers/revealui-memory.js +335 -0
- package/dist/servers/revealui-memory.js.map +1 -0
- package/dist/servers/revealui-stripe.d.ts.map +1 -1
- package/dist/servers/revealui-stripe.js +0 -4
- package/dist/servers/revealui-stripe.js.map +1 -1
- package/dist/servers/stripe.d.ts.map +1 -1
- package/dist/servers/stripe.js +1 -5
- package/dist/servers/stripe.js.map +1 -1
- package/dist/servers/supabase.d.ts.map +1 -1
- package/dist/servers/supabase.js +0 -4
- package/dist/servers/supabase.js.map +1 -1
- package/dist/servers/vercel.d.ts.map +1 -1
- package/dist/servers/vercel.js +1 -5
- package/dist/servers/vercel.js.map +1 -1
- package/dist/streamable-http.d.ts +72 -0
- package/dist/streamable-http.d.ts.map +1 -0
- package/dist/streamable-http.js +120 -0
- package/dist/streamable-http.js.map +1 -0
- package/package.json +30 -12
- package/dist/stores/postgres-idempotency.d.ts +0 -32
- package/dist/stores/postgres-idempotency.d.ts.map +0 -1
- package/dist/stores/postgres-idempotency.js +0 -63
- package/dist/stores/postgres-idempotency.js.map +0 -1
package/dist/servers/neon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"neon.js","sourceRoot":"","sources":["../../src/servers/neon.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"neon.js","sourceRoot":"","sources":["../../src/servers/neon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-devtools.d.ts","sourceRoot":"","sources":["../../src/servers/next-devtools.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"next-devtools.d.ts","sourceRoot":"","sources":["../../src/servers/next-devtools.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAyMH;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3D"}
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
import { spawn } from 'node:child_process';
|
|
11
11
|
import { createServer } from 'node:net';
|
|
12
12
|
import { config } from 'dotenv';
|
|
13
|
-
import { checkMcpLicense } from '../index.js';
|
|
14
13
|
import { createLauncherLogger, ExitCode } from './_launcher-utils.js';
|
|
15
14
|
const logger = createLauncherLogger();
|
|
16
15
|
// Load environment variables
|
|
@@ -199,9 +198,6 @@ async function startNextDevToolsMCP() {
|
|
|
199
198
|
* Exported for programmatic use by the Hypervisor.
|
|
200
199
|
*/
|
|
201
200
|
export async function launchNextDevtoolsMcp() {
|
|
202
|
-
if (!(await checkMcpLicense())) {
|
|
203
|
-
throw new Error('MCP license check failed');
|
|
204
|
-
}
|
|
205
201
|
await startNextDevToolsMCP();
|
|
206
202
|
}
|
|
207
203
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-devtools.js","sourceRoot":"","sources":["../../src/servers/next-devtools.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"next-devtools.js","sourceRoot":"","sources":["../../src/servers/next-devtools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../../src/servers/playwright.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../../src/servers/playwright.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAiDH;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzD"}
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { spawn } from 'node:child_process';
|
|
11
11
|
import { config } from 'dotenv';
|
|
12
|
-
import { checkMcpLicense } from '../index.js';
|
|
13
12
|
import { createLauncherLogger, ExitCode } from './_launcher-utils.js';
|
|
14
13
|
const logger = createLauncherLogger();
|
|
15
14
|
// Load environment variables
|
|
@@ -52,9 +51,6 @@ async function startPlaywrightMCP() {
|
|
|
52
51
|
* Exported for programmatic use by the Hypervisor.
|
|
53
52
|
*/
|
|
54
53
|
export async function launchPlaywrightMcp() {
|
|
55
|
-
if (!(await checkMcpLicense())) {
|
|
56
|
-
throw new Error('MCP license check failed');
|
|
57
|
-
}
|
|
58
54
|
await startPlaywrightMCP();
|
|
59
55
|
}
|
|
60
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../src/servers/playwright.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../src/servers/playwright.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;AAEtC,6BAA6B;AAC7B,MAAM,EAAE,CAAC;AAET,KAAK,UAAU,kBAAkB;IAC/B,IAAI,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAEhD,kCAAkC;QAClC,kFAAkF;QAClF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,0CAA0C,CAAC,EAAE;YAC/E,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;aACf;SACF,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,0CAA0C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,kBAAkB,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,mBAAmB,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|
|
@@ -1,25 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* RevealUI Content MCP Server
|
|
3
|
+
* RevealUI Content MCP Server — stdio launcher.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* to
|
|
5
|
+
* Thin wrapper around `createRevealuiContentServer()` (see
|
|
6
|
+
* `./revealui-content-factory.ts` for the tool surface). This file exists
|
|
7
|
+
* purely to run the server as a stdio subprocess — the canonical deployment
|
|
8
|
+
* for local dev, Claude Code integration, and the hypervisor's
|
|
9
|
+
* `spawn()`-based tool-discovery pipeline.
|
|
8
10
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
11
|
+
* For HTTP / serverless / in-process deployment, import the factory
|
|
12
|
+
* directly and wrap it via `createNodeStreamableHttpHandler` from
|
|
13
|
+
* `@revealui/mcp/streamable-http`.
|
|
12
14
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* revealui_list_content - List content entries for a site and collection
|
|
16
|
-
* revealui_get_content - Fetch a single content entry by ID
|
|
17
|
-
* revealui_list_users - List users (admin only)
|
|
18
|
-
* revealui_site_stats - Get user + content counts for a site
|
|
15
|
+
* Re-exports `setCredentials` for hypervisor compatibility — existing
|
|
16
|
+
* tenant-scoped credential resolution continues to work unchanged.
|
|
19
17
|
*/
|
|
20
|
-
|
|
21
|
-
* Set credential overrides for this server.
|
|
22
|
-
* Called by the Hypervisor with resolved tenant credentials.
|
|
23
|
-
*/
|
|
24
|
-
export declare function setCredentials(creds: Record<string, string>): void;
|
|
18
|
+
export { setCredentials } from './factories/revealui-content.js';
|
|
25
19
|
//# sourceMappingURL=revealui-content.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revealui-content.d.ts","sourceRoot":"","sources":["../../src/servers/revealui-content.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"revealui-content.d.ts","sourceRoot":"","sources":["../../src/servers/revealui-content.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -1,236 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* RevealUI Content MCP Server
|
|
3
|
+
* RevealUI Content MCP Server — stdio launcher.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* to
|
|
5
|
+
* Thin wrapper around `createRevealuiContentServer()` (see
|
|
6
|
+
* `./revealui-content-factory.ts` for the tool surface). This file exists
|
|
7
|
+
* purely to run the server as a stdio subprocess — the canonical deployment
|
|
8
|
+
* for local dev, Claude Code integration, and the hypervisor's
|
|
9
|
+
* `spawn()`-based tool-discovery pipeline.
|
|
8
10
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
11
|
+
* For HTTP / serverless / in-process deployment, import the factory
|
|
12
|
+
* directly and wrap it via `createNodeStreamableHttpHandler` from
|
|
13
|
+
* `@revealui/mcp/streamable-http`.
|
|
12
14
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* revealui_list_content - List content entries for a site and collection
|
|
16
|
-
* revealui_get_content - Fetch a single content entry by ID
|
|
17
|
-
* revealui_list_users - List users (admin only)
|
|
18
|
-
* revealui_site_stats - Get user + content counts for a site
|
|
15
|
+
* Re-exports `setCredentials` for hypervisor compatibility — existing
|
|
16
|
+
* tenant-scoped credential resolution continues to work unchanged.
|
|
19
17
|
*/
|
|
20
|
-
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
21
18
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
22
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
23
19
|
import { logger } from '@revealui/core/observability/logger';
|
|
24
|
-
import {
|
|
25
|
-
|
|
26
|
-
// Credential overrides (set by Hypervisor before tool invocations)
|
|
27
|
-
// ---------------------------------------------------------------------------
|
|
28
|
-
let _credentialOverrides = {};
|
|
29
|
-
/**
|
|
30
|
-
* Set credential overrides for this server.
|
|
31
|
-
* Called by the Hypervisor with resolved tenant credentials.
|
|
32
|
-
*/
|
|
33
|
-
export function setCredentials(creds) {
|
|
34
|
-
_credentialOverrides = creds;
|
|
35
|
-
}
|
|
36
|
-
// ---------------------------------------------------------------------------
|
|
37
|
-
// API helpers
|
|
38
|
-
// ---------------------------------------------------------------------------
|
|
39
|
-
function apiHeaders(apiKey) {
|
|
40
|
-
return {
|
|
41
|
-
Authorization: `Bearer ${apiKey}`,
|
|
42
|
-
'Content-Type': 'application/json',
|
|
43
|
-
'User-Agent': 'RevealUI-MCP/1.0',
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
async function apiGet(baseUrl, apiKey, path, params) {
|
|
47
|
-
const url = new URL(`${baseUrl}${path}`);
|
|
48
|
-
if (params) {
|
|
49
|
-
for (const [k, v] of Object.entries(params))
|
|
50
|
-
url.searchParams.set(k, v);
|
|
51
|
-
}
|
|
52
|
-
const res = await fetch(url.toString(), { headers: apiHeaders(apiKey) });
|
|
53
|
-
const body = await res.json();
|
|
54
|
-
if (!res.ok) {
|
|
55
|
-
throw new Error(body.error ??
|
|
56
|
-
body.message ??
|
|
57
|
-
`API ${res.status}`);
|
|
58
|
-
}
|
|
59
|
-
return body;
|
|
60
|
-
}
|
|
61
|
-
// ---------------------------------------------------------------------------
|
|
62
|
-
// Server
|
|
63
|
-
// ---------------------------------------------------------------------------
|
|
64
|
-
const server = new Server({ name: 'revealui-content', version: '1.0.0' }, { capabilities: { tools: {} } });
|
|
65
|
-
const TOOLS = [
|
|
66
|
-
{
|
|
67
|
-
name: 'revealui_list_sites',
|
|
68
|
-
description: 'List all sites registered in the RevealUI instance.',
|
|
69
|
-
inputSchema: {
|
|
70
|
-
type: 'object',
|
|
71
|
-
properties: {
|
|
72
|
-
limit: { type: 'number', description: 'Max results to return (default: 20)', default: 20 },
|
|
73
|
-
page: {
|
|
74
|
-
type: 'number',
|
|
75
|
-
description: 'Page number for pagination (default: 1)',
|
|
76
|
-
default: 1,
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
name: 'revealui_list_content',
|
|
83
|
-
description: 'List content entries for a site from a given collection (e.g. posts, pages, products).',
|
|
84
|
-
inputSchema: {
|
|
85
|
-
type: 'object',
|
|
86
|
-
properties: {
|
|
87
|
-
site_id: { type: 'string', description: 'Site ID to query content from' },
|
|
88
|
-
collection: {
|
|
89
|
-
type: 'string',
|
|
90
|
-
description: 'Collection slug (e.g. "posts", "pages", "products")',
|
|
91
|
-
},
|
|
92
|
-
limit: { type: 'number', description: 'Max results (default: 20)', default: 20 },
|
|
93
|
-
page: { type: 'number', description: 'Page number (default: 1)', default: 1 },
|
|
94
|
-
status: { type: 'string', description: 'Filter by status: published, draft, archived' },
|
|
95
|
-
},
|
|
96
|
-
required: ['collection'],
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
name: 'revealui_get_content',
|
|
101
|
-
description: 'Fetch a single content entry by its ID.',
|
|
102
|
-
inputSchema: {
|
|
103
|
-
type: 'object',
|
|
104
|
-
properties: {
|
|
105
|
-
collection: { type: 'string', description: 'Collection slug (e.g. "posts")' },
|
|
106
|
-
id: { type: 'string', description: 'Content entry ID' },
|
|
107
|
-
},
|
|
108
|
-
required: ['collection', 'id'],
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
name: 'revealui_list_users',
|
|
113
|
-
description: 'List users registered in RevealUI. Requires admin API key. ' +
|
|
114
|
-
'Returns email, role, and account status.',
|
|
115
|
-
inputSchema: {
|
|
116
|
-
type: 'object',
|
|
117
|
-
properties: {
|
|
118
|
-
site_id: { type: 'string', description: 'Filter users by site ID' },
|
|
119
|
-
limit: { type: 'number', description: 'Max results (default: 20)', default: 20 },
|
|
120
|
-
page: { type: 'number', description: 'Page number (default: 1)', default: 1 },
|
|
121
|
-
},
|
|
122
|
-
},
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
name: 'revealui_site_stats',
|
|
126
|
-
description: 'Get aggregate stats for a RevealUI site: user count, content count per collection, and license tier.',
|
|
127
|
-
inputSchema: {
|
|
128
|
-
type: 'object',
|
|
129
|
-
properties: {
|
|
130
|
-
site_id: {
|
|
131
|
-
type: 'string',
|
|
132
|
-
description: 'Site ID to fetch stats for (omit for global stats)',
|
|
133
|
-
},
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
];
|
|
138
|
-
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
|
|
139
|
-
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
140
|
-
const startTime = Date.now();
|
|
141
|
-
const toolName = request.params.name;
|
|
142
|
-
const apiUrl = (_credentialOverrides.REVEALUI_API_URL ?? process.env.REVEALUI_API_URL)?.replace(/\/$/, '');
|
|
143
|
-
const apiKey = _credentialOverrides.REVEALUI_API_KEY ?? process.env.REVEALUI_API_KEY;
|
|
144
|
-
if (!(apiUrl && apiKey)) {
|
|
145
|
-
return {
|
|
146
|
-
content: [{ type: 'text', text: 'Error: REVEALUI_API_URL and REVEALUI_API_KEY must be set' }],
|
|
147
|
-
isError: true,
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
try {
|
|
151
|
-
let data;
|
|
152
|
-
switch (toolName) {
|
|
153
|
-
case 'revealui_list_sites': {
|
|
154
|
-
const { limit = 20, page = 1 } = request.params.arguments;
|
|
155
|
-
data = await apiGet(apiUrl, apiKey, '/api/sites', {
|
|
156
|
-
limit: String(limit),
|
|
157
|
-
page: String(page),
|
|
158
|
-
});
|
|
159
|
-
break;
|
|
160
|
-
}
|
|
161
|
-
case 'revealui_list_content': {
|
|
162
|
-
const { site_id, collection, limit = 20, page = 1, status, } = request.params.arguments;
|
|
163
|
-
const params = {
|
|
164
|
-
limit: String(limit),
|
|
165
|
-
page: String(page),
|
|
166
|
-
};
|
|
167
|
-
if (site_id)
|
|
168
|
-
params.siteId = site_id;
|
|
169
|
-
if (status)
|
|
170
|
-
params.status = status;
|
|
171
|
-
data = await apiGet(apiUrl, apiKey, `/api/${collection}`, params);
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
|
-
case 'revealui_get_content': {
|
|
175
|
-
const { collection, id } = request.params.arguments;
|
|
176
|
-
data = await apiGet(apiUrl, apiKey, `/api/${collection}/${id}`);
|
|
177
|
-
break;
|
|
178
|
-
}
|
|
179
|
-
case 'revealui_list_users': {
|
|
180
|
-
const { site_id, limit = 20, page = 1, } = request.params.arguments;
|
|
181
|
-
const params = {
|
|
182
|
-
limit: String(limit),
|
|
183
|
-
page: String(page),
|
|
184
|
-
};
|
|
185
|
-
if (site_id)
|
|
186
|
-
params.siteId = site_id;
|
|
187
|
-
data = await apiGet(apiUrl, apiKey, '/api/users', params);
|
|
188
|
-
break;
|
|
189
|
-
}
|
|
190
|
-
case 'revealui_site_stats': {
|
|
191
|
-
const { site_id } = request.params.arguments;
|
|
192
|
-
const params = {};
|
|
193
|
-
if (site_id)
|
|
194
|
-
params.siteId = site_id;
|
|
195
|
-
data = await apiGet(apiUrl, apiKey, '/api/health', params);
|
|
196
|
-
break;
|
|
197
|
-
}
|
|
198
|
-
default:
|
|
199
|
-
return {
|
|
200
|
-
content: [{ type: 'text', text: `Error: Unknown tool: ${toolName}` }],
|
|
201
|
-
isError: true,
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
return {
|
|
205
|
-
content: [
|
|
206
|
-
{
|
|
207
|
-
type: 'text',
|
|
208
|
-
text: JSON.stringify({
|
|
209
|
-
data,
|
|
210
|
-
_meta: {
|
|
211
|
-
durationMs: Date.now() - startTime,
|
|
212
|
-
server: 'revealui-content',
|
|
213
|
-
tool: toolName,
|
|
214
|
-
timestamp: new Date().toISOString(),
|
|
215
|
-
},
|
|
216
|
-
}, null, 2),
|
|
217
|
-
},
|
|
218
|
-
],
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
catch (err) {
|
|
222
|
-
return {
|
|
223
|
-
content: [
|
|
224
|
-
{ type: 'text', text: `Error: ${err instanceof Error ? err.message : String(err)}` },
|
|
225
|
-
],
|
|
226
|
-
isError: true,
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
});
|
|
20
|
+
import { createRevealuiContentServer } from './factories/revealui-content.js';
|
|
21
|
+
export { setCredentials } from './factories/revealui-content.js';
|
|
230
22
|
async function main() {
|
|
231
|
-
|
|
232
|
-
process.exit(1);
|
|
233
|
-
}
|
|
23
|
+
const server = createRevealuiContentServer();
|
|
234
24
|
const transport = new StdioServerTransport();
|
|
235
25
|
await server.connect(transport);
|
|
236
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revealui-content.js","sourceRoot":"","sources":["../../src/servers/revealui-content.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"revealui-content.js","sourceRoot":"","sources":["../../src/servers/revealui-content.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,2BAA2B,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revealui-email.d.ts","sourceRoot":"","sources":["../../src/servers/revealui-email.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"revealui-email.d.ts","sourceRoot":"","sources":["../../src/servers/revealui-email.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAmBH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAElE"}
|
|
@@ -22,7 +22,6 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
|
22
22
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
23
23
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
24
24
|
import { logger } from '@revealui/core/observability/logger';
|
|
25
|
-
import { checkMcpLicense } from '../index.js';
|
|
26
25
|
import { sendEmail, sendEmailBatch } from './_email-provider.js';
|
|
27
26
|
// ---------------------------------------------------------------------------
|
|
28
27
|
// Credential overrides (set by Hypervisor before tool invocations)
|
|
@@ -186,11 +185,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
186
185
|
}
|
|
187
186
|
});
|
|
188
187
|
async function main() {
|
|
189
|
-
const allowed = await checkMcpLicense();
|
|
190
|
-
if (!allowed) {
|
|
191
|
-
logger.warn('revealui-email MCP server requires a Pro license');
|
|
192
|
-
process.exit(0);
|
|
193
|
-
}
|
|
194
188
|
const transport = new StdioServerTransport();
|
|
195
189
|
await server.connect(transport);
|
|
196
190
|
logger.info('revealui-email MCP server running (Gmail REST API)');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revealui-email.js","sourceRoot":"","sources":["../../src/servers/revealui-email.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAEL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"revealui-email.js","sourceRoot":"","sources":["../../src/servers/revealui-email.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* RevealUI Memory MCP Server
|
|
4
|
+
*
|
|
5
|
+
* Model Context Protocol server that exposes multi-agent shared memory tools.
|
|
6
|
+
* Gives any MCP-compatible agent (Claude Desktop, Cursor, Forge customers)
|
|
7
|
+
* access to shared facts, Yjs scratchpads, and reconciled memories.
|
|
8
|
+
*
|
|
9
|
+
* Environment:
|
|
10
|
+
* REVEALUI_API_URL - Admin API base URL (e.g. https://admin.revealui.com)
|
|
11
|
+
* REVEALUI_API_TOKEN - Device token for authenticated API calls
|
|
12
|
+
*
|
|
13
|
+
* Tools:
|
|
14
|
+
* memory_publish_fact - Publish a discovery to the shared fact log
|
|
15
|
+
* memory_list_facts - List facts for a coordination session
|
|
16
|
+
* memory_create_scratchpad - Create a new shared Yjs scratchpad
|
|
17
|
+
* memory_patch_scratchpad - Apply a structured patch to a scratchpad
|
|
18
|
+
* memory_read_scratchpad - Read current scratchpad content
|
|
19
|
+
* memory_share - Share a memory with all agents in a session
|
|
20
|
+
* memory_list_shared - List shared/reconciled memories for a session
|
|
21
|
+
* memory_reconcile - Trigger LLM reconciliation of shared facts
|
|
22
|
+
*/
|
|
23
|
+
export declare function setCredentials(creds: Record<string, string>): void;
|
|
24
|
+
//# sourceMappingURL=revealui-memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revealui-memory.d.ts","sourceRoot":"","sources":["../../src/servers/revealui-memory.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAkBH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAElE"}
|