zion-mcp 1.0.3 → 1.0.5

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,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 用户辅助开发使用。_
@@ -6,7 +6,8 @@ export declare class CredentialStore {
6
6
  private configPath;
7
7
  private projectContextPath;
8
8
  constructor(workspaceRoot: string);
9
- initialize(): Promise<void>;
9
+ setWorkspaceRoot(workspaceRoot: string): void;
10
+ private ensureInitialized;
10
11
  saveCredentials(credentials: OAuthTokens): Promise<void>;
11
12
  loadCredentials(): Promise<StoredCredentials | null>;
12
13
  /**
@@ -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":"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;IAWjC,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;YAW/B,iBAAiB;IAezB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BxD,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;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;CAG1B"}
@@ -16,7 +16,14 @@ export class CredentialStore {
16
16
  this.configPath = path.join(this.mcpConfigDir, "config.json");
17
17
  this.projectContextPath = path.join(this.mcpConfigDir, "project-context.json");
18
18
  }
19
- async initialize() {
19
+ setWorkspaceRoot(workspaceRoot) {
20
+ this.workspaceRoot = workspaceRoot;
21
+ this.mcpConfigDir = path.join(workspaceRoot, `.${SERVER_NAME}`);
22
+ this.credentialsPath = path.join(this.mcpConfigDir, "credentials.json");
23
+ this.configPath = path.join(this.mcpConfigDir, "config.json");
24
+ this.projectContextPath = path.join(this.mcpConfigDir, "project-context.json");
25
+ }
26
+ async ensureInitialized() {
20
27
  await fs.mkdir(this.mcpConfigDir, { recursive: true });
21
28
  const gitignorePath = path.join(this.mcpConfigDir, ".gitignore");
22
29
  const gitignoreContent = "*";
@@ -31,6 +38,7 @@ export class CredentialStore {
31
38
  }
32
39
  }
33
40
  async saveCredentials(credentials) {
41
+ await this.ensureInitialized();
34
42
  // Validate credentials before saving
35
43
  if (!credentials.access_token || credentials.access_token.trim() === "") {
36
44
  throw new Error("Invalid credentials: access_token is required");
@@ -139,6 +147,7 @@ export class CredentialStore {
139
147
  return credentials !== null;
140
148
  }
141
149
  async saveConfig(config) {
150
+ await this.ensureInitialized();
142
151
  await fs.writeFile(this.configPath, JSON.stringify(config, null, 2));
143
152
  }
144
153
  async loadConfig() {
@@ -154,6 +163,7 @@ export class CredentialStore {
154
163
  }
155
164
  }
156
165
  async saveProjectContext(projectExId) {
166
+ await this.ensureInitialized();
157
167
  const context = {
158
168
  projectExId,
159
169
  lastUsed: new Date().toISOString(),
@@ -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,8 +1,7 @@
1
1
  import type { CredentialStore } from "./credential-store.js";
2
- import type { MCPConfig } from "../types.js";
3
2
  export declare class TokenManager {
4
3
  private store;
5
- constructor(credentialStore: CredentialStore, _config: MCPConfig);
4
+ constructor(credentialStore: CredentialStore);
6
5
  getValidToken(): Promise<string>;
7
6
  }
8
7
  //# sourceMappingURL=token-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../src/auth/token-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAkB;gBAEnB,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS;IAI1D,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAUvC"}
1
+ {"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../src/auth/token-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAkB;gBAEnB,eAAe,EAAE,eAAe;IAItC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CA6BvC"}
@@ -1,12 +1,31 @@
1
+ import { JwtAuth } from "./jwt-auth.js";
2
+ import { getConfig } from "../config.js";
3
+ import { SERVER_NAME } from "../const.js";
1
4
  export class TokenManager {
2
5
  store;
3
- constructor(credentialStore, _config) {
6
+ constructor(credentialStore) {
4
7
  this.store = credentialStore;
5
8
  }
6
9
  async getValidToken() {
7
- const credentials = await this.store.loadCredentials();
10
+ let credentials = await this.store.loadCredentials();
8
11
  if (!credentials) {
9
- throw new Error("Not authenticated");
12
+ console.error(`[${SERVER_NAME}] No valid credentials found - starting authentication flow...`);
13
+ console.error(`[${SERVER_NAME}] ⚠️ Your browser will open for authentication`);
14
+ const config = await getConfig(this.store);
15
+ const jwtAuth = new JwtAuth(config);
16
+ try {
17
+ const tokens = await jwtAuth.authenticate();
18
+ await this.store.saveCredentials(tokens);
19
+ console.error(`[${SERVER_NAME}] ✓ Authentication successful!`);
20
+ credentials = await this.store.loadCredentials();
21
+ }
22
+ catch (error) {
23
+ console.error(`[${SERVER_NAME}] ✗ Authentication failed:`, error.message);
24
+ throw error;
25
+ }
26
+ }
27
+ if (!credentials) {
28
+ throw new Error("Failed to load saved credentials");
10
29
  }
11
30
  // Return the JWT token directly (no refresh needed)
12
31
  return credentials.access_token;
@@ -1 +1 @@
1
- {"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../../src/auth/token-manager.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,YAAY;IACf,KAAK,CAAkB;IAE/B,YAAY,eAAgC,EAAE,OAAkB;QAC9D,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAEvD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,oDAAoD;QACpD,OAAO,WAAW,CAAC,YAAY,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../../src/auth/token-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,OAAO,YAAY;IACf,KAAK,CAAkB;IAE/B,YAAY,eAAgC;QAC1C,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAErD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,IAAI,WAAW,gEAAgE,CAAC,CAAC;YAC/F,OAAO,CAAC,KAAK,CAAC,IAAI,WAAW,iDAAiD,CAAC,CAAC;YAEhF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;YAEpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC5C,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,IAAI,WAAW,gCAAgC,CAAC,CAAC;gBAE/D,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,IAAI,WAAW,4BAA4B,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;gBACrF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,oDAAoD;QACpD,OAAO,WAAW,CAAC,YAAY,CAAC;IAClC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAS5C,wBAAsB,SAAS,CAC7B,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,SAAS,CAAC,CAoBpB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAS5C,wBAAsB,SAAS,CAC7B,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,SAAS,CAAC,CAiBpB"}
package/dist/config.js CHANGED
@@ -15,8 +15,6 @@ export async function getConfig(credentialStore) {
15
15
  ? parseInt(process.env.LOCAL_CALLBACK_PORT, 10)
16
16
  : 8088,
17
17
  };
18
- // Save default config for future use
19
- await credentialStore.saveConfig(config);
20
18
  }
21
19
  return config;
22
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AAEpB,iBAAiB;AACjB,YAAY,EAAE,CAAC;AAEf,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,eAAgC;IAEhC,wCAAwC;IACxC,IAAI,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;IAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,sDAAsD;QACtD,MAAM,GAAG;YACP,YAAY,EACV,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,6BAA6B;YACpE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,wBAAwB;YACpE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;gBAC3C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBAC/C,CAAC,CAAC,IAAI;SACT,CAAC;QAEF,qCAAqC;QACrC,MAAM,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AAEpB,iBAAiB;AACjB,YAAY,EAAE,CAAC;AAEf,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,eAAgC;IAEhC,wCAAwC;IACxC,IAAI,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;IAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,sDAAsD;QACtD,MAAM,GAAG;YACP,YAAY,EACV,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,6BAA6B;YACpE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,wBAAwB;YACpE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;gBAC3C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBAC/C,CAAC,CAAC,IAAI;SACT,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAkDA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAyD1C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAaA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAkD1C"}
package/dist/server.js CHANGED
@@ -2,55 +2,22 @@
2
2
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
3
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
4
  import { CredentialStore } from "./auth/credential-store.js";
5
- import { JwtAuth } from "./auth/jwt-auth.js";
6
5
  import { TokenManager } from "./auth/token-manager.js";
7
6
  import { registerTools } from "./tools/index.js";
8
- import { getConfig } from "./config.js";
9
7
  import { SERVER_NAME } from "./const.js";
10
8
  // Log to stderr (stdout is reserved for MCP protocol)
11
9
  const log = (...args) => {
12
10
  console.error(`[${SERVER_NAME}]`, ...args);
13
11
  };
14
- async function ensureAuthentication(credentialStore, config) {
15
- const credentials = await credentialStore.loadCredentials();
16
- if (credentials) {
17
- log("Using existing JWT token");
18
- return credentials;
19
- }
20
- // Need to authenticate
21
- log("No valid credentials found - starting authentication flow...");
22
- log("⚠️ Your browser will open for authentication");
23
- const jwtAuth = new JwtAuth(config);
24
- try {
25
- const tokens = await jwtAuth.authenticate();
26
- await credentialStore.saveCredentials(tokens);
27
- log("✓ Authentication successful!");
28
- // Return as StoredCredentials
29
- const savedCredentials = await credentialStore.loadCredentials();
30
- if (!savedCredentials) {
31
- throw new Error("Failed to load saved credentials");
32
- }
33
- return savedCredentials;
34
- }
35
- catch (error) {
36
- log("✗ Authentication failed:", error.message);
37
- throw error;
38
- }
39
- }
40
12
  export async function main() {
41
13
  try {
42
14
  // Get workspace root from environment or CWD
43
15
  const workspaceRoot = process.env.WORKSPACE_ROOT || process.cwd();
44
16
  log(`Starting in workspace: ${workspaceRoot}`);
45
- // Initialize credential store
17
+ // Initialize credential store (lazy)
46
18
  const credentialStore = new CredentialStore(workspaceRoot);
47
- await credentialStore.initialize();
48
- // Load configuration
49
- const config = await getConfig(credentialStore);
50
- // Ensure authentication before starting MCP server
51
- await ensureAuthentication(credentialStore, config);
52
19
  // Initialize token manager
53
- const tokenManager = new TokenManager(credentialStore, config);
20
+ const tokenManager = new TokenManager(credentialStore);
54
21
  // Create MCP server
55
22
  const server = new McpServer({
56
23
  name: SERVER_NAME,
@@ -61,7 +28,7 @@ export async function main() {
61
28
  },
62
29
  });
63
30
  // Register all tools with token manager
64
- await registerTools(server, tokenManager, credentialStore, config);
31
+ await registerTools(server, tokenManager, credentialStore);
65
32
  // Start MCP server with stdio transport
66
33
  const transport = new StdioServerTransport();
67
34
  await server.connect(transport);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,sDAAsD;AACtD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAe,EAAQ,EAAE;IACvC,OAAO,CAAC,KAAK,CAAC,IAAI,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,IAAI,CAAC;QACH,6CAA6C;QAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClE,GAAG,CAAC,0BAA0B,aAAa,EAAE,CAAC,CAAC;QAE/C,qCAAqC;QACrC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;QAE3D,2BAA2B;QAC3B,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,eAAe,CAAC,CAAC;QAEvD,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACjB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;aACV;SACF,CACF,CAAC;QAEF,wCAAwC;QACxC,MAAM,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QAE3D,wCAAwC;QACxC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAExB,2BAA2B;QAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACxB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACxB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,cAAc,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,iCAAiC;AACjC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,IAAI,EAAE,CAAC;AACT,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import type { TokenManager } from "../auth/token-manager.js";
3
3
  import type { CredentialStore } from "../auth/credential-store.js";
4
- import type { MCPConfig } from "../types.js";
5
- export declare function registerTools(server: McpServer, tokenManager: TokenManager, credentialStore: CredentialStore, mcpConfig: MCPConfig): Promise<void>;
4
+ export declare function registerTools(server: McpServer, tokenManager: TokenManager, credentialStore: CredentialStore): Promise<void>;
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA4I7C,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,IAAI,CAAC,CA+Rf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AA+InE,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,IAAI,CAAC,CAsYf"}
@@ -1,6 +1,9 @@
1
1
  import { z } from "zod";
2
2
  import { GraphQLClient, gql } from "graphql-request";
3
3
  import { SERVER_NAME } from "../const.js";
4
+ import { getConfig } from "../config.js";
5
+ import { promises as fs } from "fs";
6
+ import path from "path";
4
7
  // GraphQL queries
5
8
  const SIMPLIFIED_CAUGHT_UP_SERVER_SCHEMA = gql `
6
9
  query SimplifiedCaughtUpServerSchema($projectExId: String!) {
@@ -73,11 +76,85 @@ const FUZZY_SEARCH_PROJECT_NAME = gql `
73
76
  }
74
77
  }
75
78
  `;
76
- export async function registerTools(server, tokenManager, credentialStore, mcpConfig) {
77
- const backendEndpoint = `${mcpConfig.apiBaseUrl}/api/graphql`;
79
+ export async function registerTools(server, tokenManager, credentialStore) {
80
+ let sessionCwd = null;
81
+ // Helper to check CWD
82
+ const checkCwd = () => {
83
+ if (!sessionCwd) {
84
+ return {
85
+ content: [
86
+ {
87
+ type: "text",
88
+ text: "Please set the current working directory first using set_current_working_directory.",
89
+ },
90
+ ],
91
+ isError: true,
92
+ };
93
+ }
94
+ return null;
95
+ };
96
+ // Register set current working directory tool
97
+ server.registerTool("set_current_working_directory", {
98
+ description: "Set the current working directory for the session. This tool must be called before any other tools in the session.",
99
+ inputSchema: z.object({
100
+ cwd: z
101
+ .string()
102
+ .describe("The absolute path to the working directory"),
103
+ }),
104
+ }, async (args) => {
105
+ try {
106
+ const resolvedPath = path.resolve(args.cwd);
107
+ try {
108
+ const stats = await fs.stat(resolvedPath);
109
+ if (!stats.isDirectory()) {
110
+ return {
111
+ content: [
112
+ {
113
+ type: "text",
114
+ text: `Path is not a directory: ${resolvedPath}`,
115
+ },
116
+ ],
117
+ isError: true,
118
+ };
119
+ }
120
+ }
121
+ catch (error) {
122
+ return {
123
+ content: [
124
+ {
125
+ type: "text",
126
+ text: `Path does not exist: ${resolvedPath}`,
127
+ },
128
+ ],
129
+ isError: true,
130
+ };
131
+ }
132
+ sessionCwd = resolvedPath;
133
+ credentialStore.setWorkspaceRoot(sessionCwd);
134
+ return {
135
+ content: [
136
+ {
137
+ type: "text",
138
+ text: `✓ Current working directory set to: ${sessionCwd}`,
139
+ },
140
+ ],
141
+ };
142
+ }
143
+ catch (error) {
144
+ return {
145
+ content: [
146
+ {
147
+ type: "text",
148
+ text: `Error setting CWD: ${error.message}`,
149
+ },
150
+ ],
151
+ isError: true,
152
+ };
153
+ }
154
+ });
78
155
  // Register get schema tool
79
156
  server.registerTool("get_project_schema", {
80
- description: "Get the simplified caught up server schema using GraphQL. If projectExId is not provided, uses the last used project.",
157
+ description: "Get the simplified caught up server schema. If projectExId is not provided, uses the last used project.",
81
158
  inputSchema: z.object({
82
159
  projectExId: z
83
160
  .string()
@@ -85,6 +162,9 @@ export async function registerTools(server, tokenManager, credentialStore, mcpCo
85
162
  .describe("Project external ID (optional if project context is set)"),
86
163
  }),
87
164
  }, async (args) => {
165
+ const cwdError = checkCwd();
166
+ if (cwdError)
167
+ return cwdError;
88
168
  try {
89
169
  // Get projectExId from arguments or stored context
90
170
  let projectExId = args.projectExId;
@@ -108,6 +188,9 @@ export async function registerTools(server, tokenManager, credentialStore, mcpCo
108
188
  await credentialStore.saveProjectContext(projectExId);
109
189
  }
110
190
  const token = await tokenManager.getValidToken();
191
+ // Get fresh config and endpoint
192
+ const config = await getConfig(credentialStore);
193
+ const backendEndpoint = `${config.apiBaseUrl}/api/graphql`;
111
194
  // Create GraphQL client with authentication
112
195
  const client = new GraphQLClient(backendEndpoint, {
113
196
  headers: {
@@ -155,8 +238,14 @@ export async function registerTools(server, tokenManager, credentialStore, mcpCo
155
238
  .describe("Number of projects to fetch (default: 20)"),
156
239
  }),
157
240
  }, async (args) => {
241
+ const cwdError = checkCwd();
242
+ if (cwdError)
243
+ return cwdError;
158
244
  try {
159
245
  const token = await tokenManager.getValidToken();
246
+ // Get fresh config and endpoint
247
+ const config = await getConfig(credentialStore);
248
+ const backendEndpoint = `${config.apiBaseUrl}/api/graphql`;
160
249
  // Create GraphQL client with authentication
161
250
  const client = new GraphQLClient(backendEndpoint, {
162
251
  headers: {
@@ -214,6 +303,9 @@ export async function registerTools(server, tokenManager, credentialStore, mcpCo
214
303
  .describe("Project external ID to set as current"),
215
304
  }),
216
305
  }, async (args) => {
306
+ const cwdError = checkCwd();
307
+ if (cwdError)
308
+ return cwdError;
217
309
  try {
218
310
  await credentialStore.saveProjectContext(args.projectExId);
219
311
  return {
@@ -242,6 +334,9 @@ export async function registerTools(server, tokenManager, credentialStore, mcpCo
242
334
  description: "Get the current project context",
243
335
  inputSchema: z.object({}),
244
336
  }, async () => {
337
+ const cwdError = checkCwd();
338
+ if (cwdError)
339
+ return cwdError;
245
340
  try {
246
341
  const context = await credentialStore.loadProjectContext();
247
342
  if (!context) {
@@ -280,11 +375,13 @@ export async function registerTools(server, tokenManager, credentialStore, mcpCo
280
375
  description: "Trigger OAuth re-authentication flow",
281
376
  inputSchema: z.object({}),
282
377
  }, async () => {
378
+ const cwdError = checkCwd();
379
+ if (cwdError)
380
+ return cwdError;
283
381
  try {
284
382
  console.error(`[${SERVER_NAME}] Re-authentication requested...`);
285
383
  await credentialStore.deleteCredentials();
286
384
  // Need to import these for re-auth
287
- const { getConfig } = await import("../config.js");
288
385
  const { JwtAuth } = await import("../auth/jwt-auth.js");
289
386
  const newConfig = await getConfig(credentialStore);
290
387
  const jwtAuth = new JwtAuth(newConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zion-mcp",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "MCP server for functorz.com",
5
5
  "type": "module",
6
6
  "bin": {
@@ -44,6 +44,7 @@
44
44
  "files": [
45
45
  "bin/",
46
46
  "dist/",
47
+ "README.md",
47
48
  "LICENSE"
48
49
  ]
49
50
  }