creator-mcp 1.0.0 → 1.0.2

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 ADDED
@@ -0,0 +1,255 @@
1
+ # Creator OS MCP
2
+
3
+ MCP server for Creator OS. Connect your Creator OS cloud workspace to MCP-compatible clients and let them work with your content pipeline, brand deals, analytics, AI tools, billing, social integrations, pitch pack, and support data.
4
+
5
+ The package is published as [`creator-mcp`](https://www.npmjs.com/package/creator-mcp) and runs as a local `stdio` MCP server.
6
+
7
+ ## What it includes
8
+
9
+ - 54 tools across pipeline, deals, AI, analytics, billing, pitch, social, support, and admin workflows
10
+ - 5 read-only resources for profile, pipeline, deals, analytics, and subscription context
11
+ - 4 reusable prompts for strategy, negotiations, analytics review, and idea brainstorming
12
+ - Token-only setup for end users via `CREATOR_OS_TOKEN`
13
+ - Backward compatibility with Supabase JWTs
14
+ - Built for the hosted Creator OS product
15
+
16
+ ## Requirements
17
+
18
+ - Node.js 18+
19
+ - An active Creator OS account
20
+ - A valid Creator OS MCP token generated from your dashboard
21
+
22
+ ## Install
23
+
24
+ You usually do not install this package globally. Most MCP clients can run it directly with `npx`.
25
+
26
+ ### Claude Code
27
+
28
+ ```bash
29
+ claude mcp add creator-os --scope user --env CREATOR_OS_TOKEN=YOUR_TOKEN -- npx -y creator-mcp@latest
30
+ ```
31
+
32
+ ### Claude Desktop
33
+
34
+ ```json
35
+ {
36
+ "mcpServers": {
37
+ "creator-os": {
38
+ "command": "npx",
39
+ "args": ["-y", "creator-mcp@latest"],
40
+ "env": {
41
+ "CREATOR_OS_TOKEN": "YOUR_TOKEN"
42
+ }
43
+ }
44
+ }
45
+ }
46
+ ```
47
+
48
+ ### Cursor
49
+
50
+ ```json
51
+ {
52
+ "mcpServers": {
53
+ "creator-os": {
54
+ "command": "npx",
55
+ "args": ["-y", "creator-mcp@latest"],
56
+ "env": {
57
+ "CREATOR_OS_TOKEN": "YOUR_TOKEN"
58
+ }
59
+ }
60
+ }
61
+ }
62
+ ```
63
+
64
+ ### Generic local MCP config
65
+
66
+ If your client supports local `stdio` servers, use:
67
+
68
+ ```json
69
+ {
70
+ "command": "npx",
71
+ "args": ["-y", "creator-mcp@latest"],
72
+ "env": {
73
+ "CREATOR_OS_TOKEN": "YOUR_TOKEN"
74
+ }
75
+ }
76
+ ```
77
+
78
+ ## Authentication
79
+
80
+ Set `CREATOR_OS_TOKEN` to one of the following:
81
+
82
+ - `mcp_...` token generated by Creator OS
83
+ - Supabase access token JWT for backward compatibility
84
+
85
+ For commercial cloud usage, end users only need:
86
+
87
+ ```bash
88
+ CREATOR_OS_TOKEN=YOUR_TOKEN
89
+ ```
90
+
91
+ ### How to generate a token
92
+
93
+ 1. Log in to Creator OS
94
+ 2. Open `Settings`
95
+ 3. Open the `MCP` section
96
+ 4. Generate a new MCP token
97
+ 5. Copy the `mcp_...` token into your MCP client config
98
+
99
+ The recommended setup is always a Creator OS MCP token. Supabase JWT support exists only for backward compatibility.
100
+
101
+ ### Internal development only
102
+
103
+ This package is intended to connect to the hosted Creator OS product. The environment variables below are internal/development overrides and are not part of the normal customer setup:
104
+
105
+ ```bash
106
+ CREATOR_OS_SUPABASE_URL=https://your-project.supabase.co
107
+ CREATOR_OS_SUPABASE_PUBLISHABLE_KEY=your_publishable_key
108
+ ```
109
+
110
+ ## Tool catalog
111
+
112
+ ### Pipeline and content
113
+
114
+ - `list_pipeline_videos`
115
+ - `get_pipeline_video`
116
+ - `update_pipeline_video`
117
+ - `capture_to_pipeline`
118
+ - `list_saved_ideas`
119
+ - `save_idea`
120
+ - `generate_video_idea`
121
+ - `generate_thumbnail`
122
+ - `send_thumbnail_reference`
123
+
124
+ ### Deals and sponsorships
125
+
126
+ - `list_deals`
127
+ - `get_deal`
128
+ - `create_deal`
129
+ - `update_deal`
130
+ - `export_deals_to_sheets`
131
+ - `generate_coupon_message`
132
+ - `list_coupons`
133
+ - `send_coupon`
134
+ - `submit_brand_proposal`
135
+
136
+ ### AI
137
+
138
+ - `get_ai_suggestions`
139
+ - `ai_chat`
140
+ - `save_ai_key`
141
+ - `test_ai_key`
142
+ - `delete_ai_key`
143
+
144
+ ### Analytics
145
+
146
+ - `get_youtube_analytics`
147
+ - `fetch_youtube_data`
148
+ - `fetch_youtube_channel`
149
+ - `get_video_analytics_snapshots`
150
+
151
+ ### Billing
152
+
153
+ - `check_subscription`
154
+ - `get_credits_balance`
155
+ - `create_checkout`
156
+ - `get_customer_portal`
157
+ - `check_extension_usage`
158
+
159
+ ### Pitch pack
160
+
161
+ - `get_pitch_config`
162
+ - `update_pitch_config`
163
+ - `list_pitch_deliverables`
164
+ - `get_pitch_views`
165
+ - `generate_pitch_share_token`
166
+ - `get_public_showcase`
167
+
168
+ ### Social and integrations
169
+
170
+ - `list_integrations`
171
+ - `list_creator_platforms`
172
+ - `sync_instagram`
173
+ - `sync_twitch`
174
+ - `sync_notion`
175
+ - `verify_creator_oauth`
176
+ - `list_instagram_media`
177
+
178
+ ### Support
179
+
180
+ - `list_tickets`
181
+ - `get_ticket`
182
+ - `create_ticket`
183
+ - `reply_to_ticket`
184
+ - `list_conversations`
185
+ - `get_conversation_messages`
186
+
187
+ ### Admin
188
+
189
+ - `admin_get_overview`
190
+ - `admin_stealth_clean`
191
+ - `admin_virus_scan`
192
+
193
+ ## Resources
194
+
195
+ - `creator-profile`
196
+ - `pipeline-status`
197
+ - `deals-overview`
198
+ - `analytics-dashboard`
199
+ - `subscription-status`
200
+
201
+ ## Prompts
202
+
203
+ - `content-strategy`
204
+ - `deal-negotiation`
205
+ - `analytics-review`
206
+ - `video-idea-brainstorm`
207
+
208
+ ## Typical use cases
209
+
210
+ - Plan upcoming YouTube videos from your current pipeline
211
+ - Review deal status and sponsorship revenue
212
+ - Generate thumbnails and video ideas
213
+ - Inspect recent analytics snapshots and identify trends
214
+ - Sync Instagram, Twitch, or Notion integrations
215
+ - Review billing, credits, and pitch pack performance
216
+ - Create and manage support tickets without leaving the MCP client
217
+
218
+ ## Security model
219
+
220
+ - End users only need `CREATOR_OS_TOKEN`
221
+ - MCP API tokens are exchanged server-side for a short-lived Supabase session
222
+ - The package supports Supabase JWTs for backward compatibility
223
+ - Creator OS is delivered as a hosted cloud product
224
+ - Internal override variables exist for development only and should not be part of customer-facing setup
225
+
226
+ ## Local development
227
+
228
+ ```bash
229
+ cd mcp
230
+ npm install
231
+ npm run dev
232
+ ```
233
+
234
+ Build and typecheck:
235
+
236
+ ```bash
237
+ npm run build
238
+ npm run typecheck
239
+ ```
240
+
241
+ Run the built server:
242
+
243
+ ```bash
244
+ npm run start
245
+ ```
246
+
247
+ ## Notes
248
+
249
+ - Some tools depend on connected platform integrations in Creator OS
250
+ - Admin tools require an admin-capable token
251
+ - YouTube analytics tools require the relevant YouTube integration to be connected
252
+
253
+ ## License
254
+
255
+ MIT
package/dist/auth.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Authentication module for Creator OS MCP server.
3
3
  *
4
4
  * Supports two authentication methods:
5
- * 1. MCP API Token (mcp_...): validated via SHA-256 hash lookup in mcp_tokens table
5
+ * 1. MCP API Token (mcp_...): exchanged on the backend for a short-lived Supabase session
6
6
  * 2. Supabase JWT: validated via Supabase Auth API (backward compatible)
7
7
  */
8
8
  import type { AuthContext } from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA+E9C;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAezD"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA0D9C;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAezD"}
package/dist/auth.js CHANGED
@@ -2,36 +2,20 @@
2
2
  * Authentication module for Creator OS MCP server.
3
3
  *
4
4
  * Supports two authentication methods:
5
- * 1. MCP API Token (mcp_...): validated via SHA-256 hash lookup in mcp_tokens table
5
+ * 1. MCP API Token (mcp_...): exchanged on the backend for a short-lived Supabase session
6
6
  * 2. Supabase JWT: validated via Supabase Auth API (backward compatible)
7
7
  */
8
- import { createHash } from "crypto";
9
- import { createAdminClient, createUserClient } from "./client.js";
8
+ import { createUserClient, exchangeMcpToken } from "./client.js";
10
9
  const MCP_TOKEN_PREFIX = "mcp_";
11
10
  /**
12
- * SHA-256 hash a token string, returning hex digest.
13
- */
14
- function hashToken(rawToken) {
15
- return createHash("sha256").update(rawToken).digest("hex");
16
- }
17
- /**
18
- * Validate an MCP API token (mcp_...) against the mcp_tokens table.
11
+ * Exchange an MCP API token (mcp_...) for a short-lived Supabase session.
19
12
  */
20
13
  async function authenticateWithMcpToken(token) {
21
- const tokenHash = hashToken(token);
22
- const admin = createAdminClient();
23
- const { data, error } = await admin.rpc("validate_mcp_token", {
24
- p_token_hash: tokenHash,
25
- });
26
- if (error || !data || data.length === 0) {
27
- throw new Error("Invalid MCP API token — authentication failed. " +
28
- "Ensure your token has not been revoked.");
29
- }
30
- const row = data[0];
14
+ const session = await exchangeMcpToken(token);
31
15
  return {
32
- userId: row.user_id,
33
- email: row.email ?? null,
34
- token,
16
+ userId: session.userId,
17
+ email: session.email,
18
+ token: session.accessToken,
35
19
  };
36
20
  }
37
21
  /**
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGlE,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC;;GAEG;AACH,SAAS,SAAS,CAAC,QAAgB;IACjC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,wBAAwB,CACrC,KAAa;IAEb,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAElC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE;QAC5D,YAAY,EAAE,SAAS;KACxB,CAAC,CAAC;IAEH,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,iDAAiD;YAC/C,yCAAyC,CAC5C,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpB,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;QACxB,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,KAAa;IAC9C,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEvC,2DAA2D;IAC3D,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,GAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAEjC,IAAI,CAAC,YAAY,IAAI,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,KAAK;SACN,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,EACJ,IAAI,EAAE,EAAE,IAAI,EAAE,EACd,KAAK,GACN,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,kDAAkD;YAChD,uDAAuD,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,iDAAiD;YAC/C,kEAAkE,CACrE,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjE,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC;;GAEG;AACH,KAAK,UAAU,wBAAwB,CACrC,KAAa;IAEb,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,WAAW;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,KAAa;IAC9C,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEvC,2DAA2D;IAC3D,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,GAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAEjC,IAAI,CAAC,YAAY,IAAI,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,KAAK;SACN,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,EACJ,IAAI,EAAE,EAAE,IAAI,EAAE,EACd,KAAK,GACN,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,kDAAkD;YAChD,uDAAuD,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,iDAAiD;YAC/C,kEAAkE,CACrE,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
package/dist/client.d.ts CHANGED
@@ -1,23 +1,31 @@
1
1
  /**
2
2
  * Supabase client factory for MCP server.
3
- * Creates authenticated clients using the user's token.
3
+ * Resolves the Supabase runtime config internally and creates authenticated clients.
4
4
  */
5
5
  import { type SupabaseClient } from "@supabase/supabase-js";
6
- export declare function getEnvConfig(): {
6
+ interface RuntimeConfig {
7
7
  supabaseUrl: string;
8
- supabaseAnonKey: string;
9
- supabaseServiceKey: string | undefined;
10
- };
8
+ supabasePublishableKey: string;
9
+ }
10
+ interface ExchangedSession {
11
+ accessToken: string;
12
+ expiresAt: number;
13
+ userId: string;
14
+ email: string | null;
15
+ }
16
+ export declare function getRuntimeConfig(): RuntimeConfig;
11
17
  /**
12
18
  * Create a Supabase client authenticated with the user's Bearer token.
13
19
  */
14
20
  export declare function createUserClient(token: string): SupabaseClient;
15
21
  /**
16
- * Create a Supabase admin client using the service role key.
22
+ * Exchange an MCP API token for a short-lived Supabase access token.
23
+ * This keeps service-role validation on the backend instead of the user's machine.
17
24
  */
18
- export declare function createAdminClient(): SupabaseClient;
25
+ export declare function exchangeMcpToken(token: string): Promise<ExchangedSession>;
19
26
  /**
20
27
  * Invoke a Supabase Edge Function using the user's token.
21
28
  */
22
29
  export declare function invokeEdgeFunction<T = unknown>(token: string, functionName: string, body?: Record<string, unknown>): Promise<T>;
30
+ export {};
23
31
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM1E,wBAAgB,YAAY;;;;EAkB3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAK9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAMlD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAClD,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,CAWZ"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAgB1E,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAYD,wBAAgB,gBAAgB,IAAI,aAAa,CAchD;AAaD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAU9D;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAmE3B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAClD,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,CAWZ"}
package/dist/client.js CHANGED
@@ -1,44 +1,99 @@
1
1
  /**
2
2
  * Supabase client factory for MCP server.
3
- * Creates authenticated clients using the user's token.
3
+ * Resolves the Supabase runtime config internally and creates authenticated clients.
4
4
  */
5
5
  import { createClient } from "@supabase/supabase-js";
6
- let _supabaseUrl;
7
- let _supabaseAnonKey;
8
- let _supabaseServiceKey;
9
- export function getEnvConfig() {
10
- if (!_supabaseUrl) {
11
- _supabaseUrl = process.env.SUPABASE_URL;
12
- _supabaseAnonKey = process.env.SUPABASE_ANON_KEY;
13
- _supabaseServiceKey = process.env.SUPABASE_SERVICE_ROLE_KEY;
6
+ const DEFAULT_SUPABASE_URL = "https://mgbirpvtzkroijvkaryr.supabase.co";
7
+ const DEFAULT_SUPABASE_PUBLISHABLE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im1nYmlycHZ0emtyb2lqdmthcnlyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzI5MjUzMDUsImV4cCI6MjA4ODUwMTMwNX0.Tqt31_o9NmG21ZG23UDHTQpJr60GKILYiRgQtrhOuWk";
8
+ const MCP_AUTH_EXCHANGE_FUNCTION = "mcp-auth-exchange";
9
+ const SESSION_REFRESH_SKEW_SECONDS = 60;
10
+ let _runtimeConfig;
11
+ const exchangedSessionCache = new Map();
12
+ export function getRuntimeConfig() {
13
+ if (_runtimeConfig) {
14
+ return _runtimeConfig;
14
15
  }
15
- if (!_supabaseUrl || !_supabaseAnonKey) {
16
- throw new Error("Missing SUPABASE_URL or SUPABASE_ANON_KEY environment variables");
17
- }
18
- return {
19
- supabaseUrl: _supabaseUrl,
20
- supabaseAnonKey: _supabaseAnonKey,
21
- supabaseServiceKey: _supabaseServiceKey,
16
+ _runtimeConfig = {
17
+ supabaseUrl: process.env.CREATOR_OS_SUPABASE_URL?.trim() || DEFAULT_SUPABASE_URL,
18
+ supabasePublishableKey: process.env.CREATOR_OS_SUPABASE_PUBLISHABLE_KEY?.trim() ||
19
+ DEFAULT_SUPABASE_PUBLISHABLE_KEY,
22
20
  };
21
+ return _runtimeConfig;
22
+ }
23
+ function createBaseClient() {
24
+ const { supabaseUrl, supabasePublishableKey } = getRuntimeConfig();
25
+ return createClient(supabaseUrl, supabasePublishableKey, {
26
+ auth: {
27
+ persistSession: false,
28
+ autoRefreshToken: false,
29
+ detectSessionInUrl: false,
30
+ },
31
+ });
23
32
  }
24
33
  /**
25
34
  * Create a Supabase client authenticated with the user's Bearer token.
26
35
  */
27
36
  export function createUserClient(token) {
28
- const { supabaseUrl, supabaseAnonKey } = getEnvConfig();
29
- return createClient(supabaseUrl, supabaseAnonKey, {
37
+ const { supabaseUrl, supabasePublishableKey } = getRuntimeConfig();
38
+ return createClient(supabaseUrl, supabasePublishableKey, {
30
39
  global: { headers: { Authorization: `Bearer ${token}` } },
40
+ auth: {
41
+ persistSession: false,
42
+ autoRefreshToken: false,
43
+ detectSessionInUrl: false,
44
+ },
31
45
  });
32
46
  }
33
47
  /**
34
- * Create a Supabase admin client using the service role key.
48
+ * Exchange an MCP API token for a short-lived Supabase access token.
49
+ * This keeps service-role validation on the backend instead of the user's machine.
35
50
  */
36
- export function createAdminClient() {
37
- const { supabaseUrl, supabaseServiceKey } = getEnvConfig();
38
- if (!supabaseServiceKey) {
39
- throw new Error("Missing SUPABASE_SERVICE_ROLE_KEY environment variable");
51
+ export async function exchangeMcpToken(token) {
52
+ const cached = exchangedSessionCache.get(token);
53
+ const now = Math.floor(Date.now() / 1000);
54
+ if (cached &&
55
+ cached.expiresAt - SESSION_REFRESH_SKEW_SECONDS > now) {
56
+ return cached;
57
+ }
58
+ const { supabaseUrl, supabasePublishableKey } = getRuntimeConfig();
59
+ const response = await fetch(`${supabaseUrl}/functions/v1/${MCP_AUTH_EXCHANGE_FUNCTION}`, {
60
+ method: "POST",
61
+ headers: {
62
+ Authorization: `Bearer ${token}`,
63
+ apikey: supabasePublishableKey,
64
+ "Content-Type": "application/json",
65
+ },
66
+ body: "{}",
67
+ });
68
+ const payload = (await response.json().catch(() => null));
69
+ if (!response.ok) {
70
+ const message = payload && "error" in payload && payload.error
71
+ ? payload.error
72
+ : "Failed to exchange MCP token";
73
+ throw new Error(message);
40
74
  }
41
- return createClient(supabaseUrl, supabaseServiceKey);
75
+ if (!payload ||
76
+ !("token_hash" in payload) ||
77
+ !payload.token_hash ||
78
+ !payload.verification_type) {
79
+ throw new Error("MCP auth exchange returned an invalid response");
80
+ }
81
+ const client = createBaseClient();
82
+ const { data, error } = await client.auth.verifyOtp({
83
+ token_hash: payload.token_hash,
84
+ type: payload.verification_type,
85
+ });
86
+ if (error || !data.session?.access_token || !data.user?.id) {
87
+ throw new Error(error?.message ?? "Failed to establish a Supabase session for MCP");
88
+ }
89
+ const session = {
90
+ accessToken: data.session.access_token,
91
+ expiresAt: data.session.expires_at ?? now + 3600,
92
+ userId: data.user.id,
93
+ email: data.user.email ?? payload.email,
94
+ };
95
+ exchangedSessionCache.set(token, session);
96
+ return session;
42
97
  }
43
98
  /**
44
99
  * Invoke a Supabase Edge Function using the user's token.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,uBAAuB,CAAC;AAE1E,IAAI,YAAgC,CAAC;AACrC,IAAI,gBAAoC,CAAC;AACzC,IAAI,mBAAuC,CAAC;AAE5C,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACxC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACjD,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,WAAW,EAAE,YAAY;QACzB,eAAe,EAAE,gBAAgB;QACjC,kBAAkB,EAAE,mBAAmB;KACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE,CAAC;IACxD,OAAO,YAAY,CAAC,WAAW,EAAE,eAAe,EAAE;QAChD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE;KAC1D,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,YAAY,EAAE,CAAC;IAC3D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,YAAY,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAa,EACb,YAAoB,EACpB,IAA8B;IAE9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE;QAClE,IAAI,EAAE,IAAI,IAAI,EAAE;KACjB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,kBAAkB,YAAY,aAAa,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,IAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -23,7 +23,7 @@ import { registerResources } from "./resources.js";
23
23
  import { registerPrompts } from "./prompts.js";
24
24
  const server = new McpServer({
25
25
  name: "creator-os-mcp",
26
- version: "1.0.0",
26
+ version: "1.0.2",
27
27
  }, {
28
28
  instructions: [
29
29
  "Creator OS MCP Server — a comprehensive toolkit for YouTube creators.",
@@ -38,10 +38,11 @@ const server = new McpServer({
38
38
  " 2. Supabase JWT — your Supabase access token (backward compatible)",
39
39
  "",
40
40
  "Environment variables needed:",
41
- " CREATOR_OS_TOKEN — MCP API token or Supabase JWT (required)",
42
- " SUPABASE_URL — Supabase project URL",
43
- " SUPABASE_ANON_KEY — Supabase anon/public key",
44
- " SUPABASE_SERVICE_ROLE_KEY For admin operations and MCP token validation",
41
+ " CREATOR_OS_TOKEN — MCP API token or Supabase JWT (required)",
42
+ "",
43
+ "Creator OS is a hosted cloud product.",
44
+ "Use an MCP token generated in Creator OS for normal customer setup.",
45
+ "Supabase override variables are internal development hooks and are not required by end users.",
45
46
  ].join("\n"),
46
47
  capabilities: {
47
48
  logging: {},
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;IACE,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,6EAA6E;QAC7E,uBAAuB;QACvB,EAAE;QACF,iEAAiE;QACjE,2BAA2B;QAC3B,qFAAqF;QACrF,sEAAsE;QACtE,EAAE;QACF,+BAA+B;QAC/B,uEAAuE;QACvE,mDAAmD;QACnD,uDAAuD;QACvD,6EAA6E;KAC9E,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,YAAY,EAAE;QACZ,OAAO,EAAE,EAAE;KACZ;CACF,CACF,CAAC;AAEF,sEAAsE;AACtE,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC9B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;AACxB,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC5B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;AAExB,sEAAsE;AACtE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEhC,sEAAsE;AACtE,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;IAC1B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;IACE,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,6EAA6E;QAC7E,uBAAuB;QACvB,EAAE;QACF,iEAAiE;QACjE,2BAA2B;QAC3B,qFAAqF;QACrF,sEAAsE;QACtE,EAAE;QACF,+BAA+B;QAC/B,kFAAkF;QAClF,EAAE;QACF,uCAAuC;QACvC,qEAAqE;QACrE,+FAA+F;KAChG,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,YAAY,EAAE;QACZ,OAAO,EAAE,EAAE;KACZ;CACF,CACF,CAAC;AAEF,sEAAsE;AACtE,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC9B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;AACxB,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC5B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;AAExB,sEAAsE;AACtE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEhC,sEAAsE;AACtE,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;IAC1B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pitch.js","sourceRoot":"","sources":["../../src/tools/pitch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pitch.js","sourceRoot":"","sources":["../../src/tools/pitch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "creator-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "MCP server for Creator OS — access your pipeline, deals, analytics, AI tools, and more via any MCP-compatible client",
5
5
  "type": "module",
6
6
  "license": "MIT",