zion-mcp 1.0.3 → 1.0.7

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.
Files changed (85) hide show
  1. package/README.md +89 -0
  2. package/dist/auth/credential-store.d.ts +7 -9
  3. package/dist/auth/credential-store.d.ts.map +1 -1
  4. package/dist/auth/credential-store.js +57 -26
  5. package/dist/auth/credential-store.js.map +1 -1
  6. package/dist/auth/jwt-auth.d.ts.map +1 -1
  7. package/dist/auth/jwt-auth.js +0 -11
  8. package/dist/auth/jwt-auth.js.map +1 -1
  9. package/dist/auth/oauth-flow.d.ts +11 -0
  10. package/dist/auth/oauth-flow.d.ts.map +1 -0
  11. package/dist/auth/oauth-flow.js +239 -0
  12. package/dist/auth/oauth-flow.js.map +1 -0
  13. package/dist/auth/token-manager.d.ts +1 -2
  14. package/dist/auth/token-manager.d.ts.map +1 -1
  15. package/dist/auth/token-manager.js +22 -4
  16. package/dist/auth/token-manager.js.map +1 -1
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +2 -8
  19. package/dist/config.js.map +1 -1
  20. package/dist/const.d.ts +2 -1
  21. package/dist/const.d.ts.map +1 -1
  22. package/dist/const.js +2 -1
  23. package/dist/const.js.map +1 -1
  24. package/dist/mock-data/converter.d.ts +3 -0
  25. package/dist/mock-data/converter.d.ts.map +1 -0
  26. package/dist/mock-data/converter.js +33 -0
  27. package/dist/mock-data/converter.js.map +1 -0
  28. package/dist/mock-data/generator.d.ts +17 -0
  29. package/dist/mock-data/generator.d.ts.map +1 -0
  30. package/dist/mock-data/generator.js +225 -0
  31. package/dist/mock-data/generator.js.map +1 -0
  32. package/dist/mock-data/image-generator.d.ts +7 -0
  33. package/dist/mock-data/image-generator.d.ts.map +1 -0
  34. package/dist/mock-data/image-generator.js +175 -0
  35. package/dist/mock-data/image-generator.js.map +1 -0
  36. package/dist/mock-data/index.d.ts +10 -0
  37. package/dist/mock-data/index.d.ts.map +1 -0
  38. package/dist/mock-data/index.js +9 -0
  39. package/dist/mock-data/index.js.map +1 -0
  40. package/dist/mock-data/inserter.d.ts +12 -0
  41. package/dist/mock-data/inserter.d.ts.map +1 -0
  42. package/dist/mock-data/inserter.js +57 -0
  43. package/dist/mock-data/inserter.js.map +1 -0
  44. package/dist/mock-data/recursive-generator.d.ts +4 -0
  45. package/dist/mock-data/recursive-generator.d.ts.map +1 -0
  46. package/dist/mock-data/recursive-generator.js +226 -0
  47. package/dist/mock-data/recursive-generator.js.map +1 -0
  48. package/dist/mock-data/related-ids-fetcher.d.ts +6 -0
  49. package/dist/mock-data/related-ids-fetcher.d.ts.map +1 -0
  50. package/dist/mock-data/related-ids-fetcher.js +60 -0
  51. package/dist/mock-data/related-ids-fetcher.js.map +1 -0
  52. package/dist/mock-data/schema-parser.d.ts +12 -0
  53. package/dist/mock-data/schema-parser.d.ts.map +1 -0
  54. package/dist/mock-data/schema-parser.js +73 -0
  55. package/dist/mock-data/schema-parser.js.map +1 -0
  56. package/dist/mock-data/types.d.ts +161 -0
  57. package/dist/mock-data/types.d.ts.map +1 -0
  58. package/dist/mock-data/types.js +2 -0
  59. package/dist/mock-data/types.js.map +1 -0
  60. package/dist/mock-data/utils.d.ts +7 -0
  61. package/dist/mock-data/utils.d.ts.map +1 -0
  62. package/dist/mock-data/utils.js +102 -0
  63. package/dist/mock-data/utils.js.map +1 -0
  64. package/dist/mock-data-gen.d.ts +227 -0
  65. package/dist/mock-data-gen.d.ts.map +1 -0
  66. package/dist/mock-data-gen.js +513 -0
  67. package/dist/mock-data-gen.js.map +1 -0
  68. package/dist/server.d.ts.map +1 -1
  69. package/dist/server.js +2 -45
  70. package/dist/server.js.map +1 -1
  71. package/dist/tools/get-projects.d.ts +5 -0
  72. package/dist/tools/get-projects.d.ts.map +1 -0
  73. package/dist/tools/get-projects.js +42 -0
  74. package/dist/tools/get-projects.js.map +1 -0
  75. package/dist/tools/get-schema.d.ts +6 -0
  76. package/dist/tools/get-schema.d.ts.map +1 -0
  77. package/dist/tools/get-schema.js +67 -0
  78. package/dist/tools/get-schema.js.map +1 -0
  79. package/dist/tools/index.d.ts +1 -2
  80. package/dist/tools/index.d.ts.map +1 -1
  81. package/dist/tools/index.js +242 -21
  82. package/dist/tools/index.js.map +1 -1
  83. package/dist/types.d.ts +5 -0
  84. package/dist/types.d.ts.map +1 -1
  85. package/package.json +2 -1
package/README.md ADDED
@@ -0,0 +1,89 @@
1
+ # Zion MCP Server
2
+
3
+ Zion MCP Server 是 [FunctorZ (Zion)](https://functorz.com) 提供的官方 [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) 服务端。它允许 Cursor、Claude Desktop 等 AI 助手直接连接到您的 Zion 项目,读取项目结构、数据模型和业务逻辑,从而提供更精准的 AI 辅助开发体验。
4
+
5
+ ## ✨ 功能特性
6
+
7
+ - **项目深度集成**: 获取 Zion 项目的完整 Schema,包括数据模型 (Data Model)、行为流 (Action Flows)、API 定义等。
8
+ - **智能项目管理**: 支持模糊搜索项目,快速切换当前上下文。
9
+ - **安全认证**: 基于 OAuth 的安全认证机制,确保您的数据安全。
10
+ - **上下文感知**: 自动维护项目上下文,无需在每次请求时重复指定项目 ID。
11
+
12
+ ## 🚀 快速开始
13
+
14
+ ### 在 Cursor 中使用
15
+
16
+ 1. 打开 Cursor 设置面板 (`Cmd + ,` 或 `Ctrl + ,`)。
17
+ 2. 进入 **Features** -> **MCP**。
18
+ 3. 点击 **Add New MCP Server**。
19
+ 4. 填写以下信息:
20
+ - **Name**: Zion MCP
21
+ - **Type**: command
22
+ - **Command**: `npx -y zion-mcp`
23
+ 5. 保存并重启 Cursor (如果需要)。
24
+
25
+ ### 在 Claude Desktop 中使用
26
+
27
+ 在您的 Claude Desktop 配置文件(通常位于 `~/Library/Application Support/Claude/claude_desktop_config.json`)中添加:
28
+
29
+ ```json
30
+ {
31
+ "mcpServers": {
32
+ "zion": {
33
+ "command": "npx",
34
+ "args": ["-y", "zion-mcp"]
35
+ }
36
+ }
37
+ }
38
+ ```
39
+
40
+ ## 🛠️ 可用工具 (Tools)
41
+
42
+ 连接成功后,AI 助手将获得以下能力:
43
+
44
+ - **`set_current_working_directory`**: 设置当前工作目录(通常自动处理)。
45
+ - **`get_projects`**: 搜索您的 Zion 项目列表。支持模糊搜索和分页。
46
+ - **`set_current_project`**: 设置当前操作的项目上下文。
47
+ - **`get_project_schema`**: 获取指定项目的详细 Schema 信息,帮助 AI 理解项目结构。
48
+ - **`reauth`**: 当 Token 过期时触发重新认证。
49
+
50
+ ## 🔒 安全说明
51
+
52
+ 首次使用时,MCP Server 会启动浏览器进行 OAuth 认证。认证 Token 会安全地存储在您的本地系统中。
53
+
54
+ ## 🏗️ 什么是 Zion?
55
+
56
+ [Zion](https://functorz.com) 是新一代的**全栈无代码平台**,拥有专为 Headless 使用场景设计的强大后端。Zion 不仅提供可视化的全栈应用构建能力,其后端也可作为独立的 **Backend-as-a-Service (BaaS)** 使用,完美适配自定义前端开发。
57
+
58
+ ### 为什么选择 Zion 作为 BaaS?
59
+
60
+ ✅ **企业级 PostgreSQL** - 强大且符合 ACID 标准的关系型数据库
61
+ ✅ **自动生成 GraphQL API** - 数据模型自动转化为类型安全的 GraphQL Schema
62
+ ✅ **内置后端逻辑** - 通过行为流 (Actionflows) 可视化编排复杂业务逻辑,无需编写代码
63
+ ✅ **原生 AI 集成** - 内置 AI Agent 支持,包含 RAG、工具调用及结构化输出能力
64
+ ✅ **第三方 API 转发** - 支持导入 OpenAPI 规范,作为带认证的后端中继使用
65
+ ✅ **微信/支付宝支付集成** - 原生支持主流支付渠道,轻松处理订阅与一次性支付
66
+ ✅ **文件存储** - 图片及二进制文件管理,自带 CDN 加速
67
+ ✅ **身份认证** - 内置基于 JWT 的用户管理体系
68
+ ✅ **实时订阅** - 通过 GraphQL Subscriptions 支持 WebSocket 实时推送
69
+ ✅ **可预测的定价** - 基于项目的定价模式,无单次请求计费烦恼
70
+
71
+ ## 🔗 相关链接
72
+
73
+ - [Zion 官网](https://functorz.com)
74
+ - [Model Context Protocol](https://modelcontextprotocol.io/)
75
+
76
+ ## 📖 更多资源
77
+
78
+ ### Zion 文档
79
+
80
+ - [Zion 官方文档](https://docs.functorz.com/)
81
+ - [快速开始](https://docs.functorz.com/starts/)
82
+ - [数据库配置](https://docs.functorz.com/data/database/configuration/)
83
+ - [行为流 (Actionflow) 指南](https://docs.functorz.com/actions/actionflow/)
84
+ - [AI Agent 教程](https://docs.functorz.com/actions/zai/)
85
+ - [支付集成](https://docs.functorz.com/actions/payment/)
86
+
87
+ ---
88
+
89
+ _注意:本工具仅供 Zion 用户辅助开发使用。_
@@ -1,23 +1,18 @@
1
- import type { StoredCredentials, OAuthTokens, ProjectContext, MCPConfig } from "../types.js";
1
+ import type { StoredCredentials, OAuthTokens, ProjectContext, MCPConfig, DataVisualizerInfo } from "../types.js";
2
2
  export declare class CredentialStore {
3
3
  private workspaceRoot;
4
4
  private mcpConfigDir;
5
5
  private credentialsPath;
6
6
  private configPath;
7
7
  private projectContextPath;
8
+ private dataVisualizerPath;
8
9
  constructor(workspaceRoot: string);
9
- initialize(): Promise<void>;
10
+ setWorkspaceRoot(workspaceRoot: string): void;
11
+ private ensureInitialized;
10
12
  saveCredentials(credentials: OAuthTokens): Promise<void>;
11
13
  loadCredentials(): Promise<StoredCredentials | null>;
12
- /**
13
- * Validate credentials including JWT token expiration
14
- */
15
14
  private validateCredentials;
16
15
  deleteCredentials(): Promise<void>;
17
- /**
18
- * Check if current stored credentials are valid
19
- * @returns true if credentials exist and are valid, false otherwise
20
- */
21
16
  areCredentialsValid(): Promise<boolean>;
22
17
  saveConfig(config: MCPConfig): Promise<void>;
23
18
  loadConfig(): Promise<MCPConfig | null>;
@@ -26,5 +21,8 @@ export declare class CredentialStore {
26
21
  deleteProjectContext(): Promise<void>;
27
22
  getWorkspaceRoot(): string;
28
23
  getMcpConfigDir(): string;
24
+ saveDataVisualizerInfo(projectExId: string, runtimeBackendAdminToken: string): Promise<void>;
25
+ loadDataVisualizerInfo(): Promise<DataVisualizerInfo | null>;
26
+ deleteDataVisualizerInfo(): Promise<void>;
29
27
  }
30
28
  //# sourceMappingURL=credential-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../src/auth/credential-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,aAAa,EAAE,MAAM;IAW3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3B,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BxD,eAAe,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAsB1D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmErB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxC;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAKvC,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,UAAU,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAYvC,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtD,kBAAkB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAYpD,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3C,gBAAgB,IAAI,MAAM;IAI1B,eAAe,IAAI,MAAM;CAG1B"}
1
+ {"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../src/auth/credential-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,SAAS,EACT,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAGrB,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,aAAa,EAAE,MAAM;IAejC,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;YAe/B,iBAAiB;IAezB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BxD,eAAe,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAqB1D,OAAO,CAAC,mBAAmB;IA8DrB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWlC,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IAKvC,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,UAAU,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAYvC,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,kBAAkB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAYpD,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3C,gBAAgB,IAAI,MAAM;IAI1B,eAAe,IAAI,MAAM;IAInB,sBAAsB,CAC1B,WAAW,EAAE,MAAM,EACnB,wBAAwB,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAmBV,sBAAsB,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAY5D,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;CAUhD"}
@@ -1,4 +1,3 @@
1
- // src/auth/credential-store.ts
2
1
  import { promises as fs } from "fs";
3
2
  import path from "path";
4
3
  import jwt from "jsonwebtoken";
@@ -9,14 +8,24 @@ export class CredentialStore {
9
8
  credentialsPath;
10
9
  configPath;
11
10
  projectContextPath;
11
+ dataVisualizerPath;
12
12
  constructor(workspaceRoot) {
13
13
  this.workspaceRoot = workspaceRoot;
14
14
  this.mcpConfigDir = path.join(workspaceRoot, `.${SERVER_NAME}`);
15
15
  this.credentialsPath = path.join(this.mcpConfigDir, "credentials.json");
16
16
  this.configPath = path.join(this.mcpConfigDir, "config.json");
17
17
  this.projectContextPath = path.join(this.mcpConfigDir, "project-context.json");
18
+ this.dataVisualizerPath = path.join(this.mcpConfigDir, "data-visualizer.json");
18
19
  }
19
- async initialize() {
20
+ setWorkspaceRoot(workspaceRoot) {
21
+ this.workspaceRoot = workspaceRoot;
22
+ this.mcpConfigDir = path.join(workspaceRoot, `.${SERVER_NAME}`);
23
+ this.credentialsPath = path.join(this.mcpConfigDir, "credentials.json");
24
+ this.configPath = path.join(this.mcpConfigDir, "config.json");
25
+ this.projectContextPath = path.join(this.mcpConfigDir, "project-context.json");
26
+ this.dataVisualizerPath = path.join(this.mcpConfigDir, "data-visualizer.json");
27
+ }
28
+ async ensureInitialized() {
20
29
  await fs.mkdir(this.mcpConfigDir, { recursive: true });
21
30
  const gitignorePath = path.join(this.mcpConfigDir, ".gitignore");
22
31
  const gitignoreContent = "*";
@@ -24,14 +33,13 @@ export class CredentialStore {
24
33
  await fs.writeFile(gitignorePath, gitignoreContent, { flag: "wx" });
25
34
  }
26
35
  catch (error) {
27
- // Ignore if exists
28
36
  if (error.code !== "EEXIST") {
29
37
  throw error;
30
38
  }
31
39
  }
32
40
  }
33
41
  async saveCredentials(credentials) {
34
- // Validate credentials before saving
42
+ await this.ensureInitialized();
35
43
  if (!credentials.access_token || credentials.access_token.trim() === "") {
36
44
  throw new Error("Invalid credentials: access_token is required");
37
45
  }
@@ -40,13 +48,11 @@ export class CredentialStore {
40
48
  token_type: credentials.token_type || "Bearer",
41
49
  savedAt: new Date().toISOString(),
42
50
  };
43
- // Validate the credentials object
44
51
  if (!this.validateCredentials(data)) {
45
52
  throw new Error("Invalid credentials: JWT token validation failed");
46
53
  }
47
54
  const tempPath = `${this.credentialsPath}.tmp`;
48
- await fs.writeFile(tempPath, JSON.stringify(data, null, 2), { mode: 0o600 } // Owner read/write only
49
- );
55
+ await fs.writeFile(tempPath, JSON.stringify(data, null, 2), { mode: 0o600 });
50
56
  await fs.rename(tempPath, this.credentialsPath);
51
57
  console.error("[CredentialStore] Credentials saved successfully");
52
58
  }
@@ -54,7 +60,6 @@ export class CredentialStore {
54
60
  try {
55
61
  const data = await fs.readFile(this.credentialsPath, "utf8");
56
62
  const credentials = JSON.parse(data);
57
- // Validate credentials before returning
58
63
  if (!this.validateCredentials(credentials)) {
59
64
  console.error("[CredentialStore] Stored credentials are invalid or expired");
60
65
  return null;
@@ -63,49 +68,40 @@ export class CredentialStore {
63
68
  }
64
69
  catch (error) {
65
70
  if (error.code === "ENOENT") {
66
- return null; // No credentials file
71
+ return null;
67
72
  }
68
73
  throw error;
69
74
  }
70
75
  }
71
- /**
72
- * Validate credentials including JWT token expiration
73
- */
74
76
  validateCredentials(credentials) {
75
- // Check if credentials object is valid
76
77
  if (!credentials || !credentials.access_token) {
77
78
  console.error("[CredentialStore] Missing access token");
78
79
  return false;
79
80
  }
80
- // Check token type
81
81
  if (credentials.token_type !== "Bearer") {
82
82
  console.error("[CredentialStore] Invalid token type:", credentials.token_type);
83
83
  return false;
84
84
  }
85
- // Decode and validate JWT token
86
85
  try {
87
86
  const decoded = jwt.decode(credentials.access_token, { complete: true });
88
87
  if (!decoded || typeof decoded === "string") {
89
88
  console.error("[CredentialStore] Failed to decode JWT token");
90
89
  return false;
91
90
  }
92
- // Check if token has expired
93
91
  const payload = decoded.payload;
94
92
  if (payload.exp) {
95
- const expirationTime = payload.exp * 1000; // Convert to milliseconds
93
+ const expirationTime = payload.exp * 1000;
96
94
  const currentTime = Date.now();
97
95
  if (currentTime >= expirationTime) {
98
96
  console.error("[CredentialStore] JWT token has expired");
99
97
  return false;
100
98
  }
101
- // Log time until expiration for debugging
102
- const timeUntilExpiry = Math.floor((expirationTime - currentTime) / 1000 / 60); // minutes
99
+ const timeUntilExpiry = Math.floor((expirationTime - currentTime) / 1000 / 60);
103
100
  console.error(`[CredentialStore] Token valid for ${timeUntilExpiry} more minutes`);
104
101
  }
105
102
  else {
106
103
  console.warn("[CredentialStore] JWT token does not have expiration field");
107
104
  }
108
- // Optionally validate other JWT claims
109
105
  if (payload.iss) {
110
106
  console.error(`[CredentialStore] Token issued by: ${payload.iss}`);
111
107
  }
@@ -130,15 +126,12 @@ export class CredentialStore {
130
126
  }
131
127
  }
132
128
  }
133
- /**
134
- * Check if current stored credentials are valid
135
- * @returns true if credentials exist and are valid, false otherwise
136
- */
137
129
  async areCredentialsValid() {
138
130
  const credentials = await this.loadCredentials();
139
131
  return credentials !== null;
140
132
  }
141
133
  async saveConfig(config) {
134
+ await this.ensureInitialized();
142
135
  await fs.writeFile(this.configPath, JSON.stringify(config, null, 2));
143
136
  }
144
137
  async loadConfig() {
@@ -148,12 +141,13 @@ export class CredentialStore {
148
141
  }
149
142
  catch (error) {
150
143
  if (error.code === "ENOENT") {
151
- return null; // No config file
144
+ return null;
152
145
  }
153
146
  throw error;
154
147
  }
155
148
  }
156
149
  async saveProjectContext(projectExId) {
150
+ await this.ensureInitialized();
157
151
  const context = {
158
152
  projectExId,
159
153
  lastUsed: new Date().toISOString(),
@@ -169,7 +163,7 @@ export class CredentialStore {
169
163
  }
170
164
  catch (error) {
171
165
  if (error.code === "ENOENT") {
172
- return null; // No project context file
166
+ return null;
173
167
  }
174
168
  throw error;
175
169
  }
@@ -190,5 +184,42 @@ export class CredentialStore {
190
184
  getMcpConfigDir() {
191
185
  return this.mcpConfigDir;
192
186
  }
187
+ async saveDataVisualizerInfo(projectExId, runtimeBackendAdminToken) {
188
+ await this.ensureInitialized();
189
+ const info = {
190
+ projectExId,
191
+ runtimeBackendAdminToken,
192
+ savedAt: new Date().toISOString(),
193
+ };
194
+ const tempPath = `${this.dataVisualizerPath}.tmp`;
195
+ await fs.writeFile(tempPath, JSON.stringify(info, null, 2), {
196
+ mode: 0o600,
197
+ });
198
+ await fs.rename(tempPath, this.dataVisualizerPath);
199
+ console.error("[CredentialStore] Runtime backend admin token saved successfully for project:", projectExId);
200
+ }
201
+ async loadDataVisualizerInfo() {
202
+ try {
203
+ const data = await fs.readFile(this.dataVisualizerPath, "utf8");
204
+ return JSON.parse(data);
205
+ }
206
+ catch (error) {
207
+ if (error.code === "ENOENT") {
208
+ return null;
209
+ }
210
+ throw error;
211
+ }
212
+ }
213
+ async deleteDataVisualizerInfo() {
214
+ try {
215
+ await fs.unlink(this.dataVisualizerPath);
216
+ console.error("[CredentialStore] Data visualizer info deleted");
217
+ }
218
+ catch (error) {
219
+ if (error.code !== "ENOENT") {
220
+ throw error;
221
+ }
222
+ }
223
+ }
193
224
  }
194
225
  //# sourceMappingURL=credential-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/auth/credential-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/auth/credential-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-auth.d.ts","sourceRoot":"","sources":["../../src/auth/jwt-auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,SAAS;IAIvB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBtD,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAkG1C,WAAW,IAAI,MAAM;IAyDrB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAmDnC"}
1
+ {"version":3,"file":"jwt-auth.d.ts","sourceRoot":"","sources":["../../src/auth/jwt-auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,SAAS;IAIvB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBtD,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IA4F1C,WAAW,IAAI,MAAM;IAyDrB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAmDnC"}
@@ -1,4 +1,3 @@
1
- // src/auth/jwt-auth.ts
2
1
  import { createServer } from "http";
3
2
  import open from "open";
4
3
  export class JwtAuth {
@@ -12,7 +11,6 @@ export class JwtAuth {
12
11
  const server = createServer();
13
12
  server.on("error", (err) => {
14
13
  if (err.code === "EADDRINUSE") {
15
- // Try next port
16
14
  resolve(this.findAvailablePort(port + 1));
17
15
  }
18
16
  else {
@@ -27,12 +25,10 @@ export class JwtAuth {
27
25
  });
28
26
  }
29
27
  async authenticate() {
30
- // Find available port
31
28
  const callbackPort = await this.findAvailablePort();
32
29
  const redirectUri = `http://localhost:${callbackPort}/callback`;
33
30
  console.error(`[JwtAuth] Using callback URL: ${redirectUri}`);
34
31
  console.error(`[JwtAuth] Opening browser for authentication...`);
35
- // Start callback server and wait for JWT token
36
32
  const jwtToken = await new Promise((resolve, reject) => {
37
33
  const server = createServer(async (req, res) => {
38
34
  if (!req.url) {
@@ -40,9 +36,7 @@ export class JwtAuth {
40
36
  }
41
37
  const url = new URL(req.url, `http://localhost:${callbackPort}`);
42
38
  if (url.pathname === "/callback") {
43
- // Log the full callback URL for debugging
44
39
  console.error(`[JwtAuth] Callback received: ${req.url}`);
45
- // Extract token parameter (the JWT token)
46
40
  const token = url.searchParams.get("token");
47
41
  if (!token || token.trim() === "") {
48
42
  console.error("[JwtAuth] No token parameter found in callback URL");
@@ -58,7 +52,6 @@ export class JwtAuth {
58
52
  const html = this.successPage();
59
53
  res.writeHead(200, { "Content-Type": "text/html" });
60
54
  res.end(html);
61
- // Close server after short delay to ensure response is sent
62
55
  setTimeout(() => {
63
56
  server.close();
64
57
  resolve(token);
@@ -67,11 +60,9 @@ export class JwtAuth {
67
60
  });
68
61
  server.on("error", reject);
69
62
  server.listen(callbackPort, async () => {
70
- // Build authentication URL with redirect_uri parameter
71
63
  const authUrl = new URL(this.config.authEndpoint);
72
64
  authUrl.searchParams.set("redirect_uri", redirectUri);
73
65
  console.error(`[JwtAuth] Opening: ${authUrl.toString()}`);
74
- // Open browser
75
66
  try {
76
67
  await open(authUrl.toString());
77
68
  }
@@ -81,14 +72,12 @@ export class JwtAuth {
81
72
  console.error(authUrl.toString());
82
73
  }
83
74
  });
84
- // Timeout after 5 minutes
85
75
  setTimeout(() => {
86
76
  server.close();
87
77
  reject(new Error("Authentication timeout - no response after 5 minutes"));
88
78
  }, 300000);
89
79
  });
90
80
  console.error("[JwtAuth] JWT token received successfully");
91
- // Return the JWT token directly as the access token
92
81
  return {
93
82
  access_token: jwtToken,
94
83
  token_type: "Bearer",
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-auth.js","sourceRoot":"","sources":["../../src/auth/jwt-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jwt-auth.js","sourceRoot":"","sources":["../../src/auth/jwt-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { MCPConfig, OAuthTokens } from '../types.js';
2
+ export declare class OAuthFlow {
3
+ private config;
4
+ constructor(config: MCPConfig);
5
+ findAvailablePort(startPort?: number): Promise<number>;
6
+ authenticate(): Promise<OAuthTokens>;
7
+ successPage(): string;
8
+ errorPage(message: string): string;
9
+ private escapeHtml;
10
+ }
11
+ //# sourceMappingURL=oauth-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-flow.d.ts","sourceRoot":"","sources":["../../src/auth/oauth-flow.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,SAAS;IAIvB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBtD,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IA0F1C,WAAW,IAAI,MAAM;IAkFrB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IA4ClC,OAAO,CAAC,UAAU;CAUnB"}