@dypai-ai/mcp 1.2.0 → 1.2.1

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/index.js +10 -21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dypai-ai/mcp",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "DYPAI MCP Server — AI agent toolkit for building and deploying full-stack apps",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/index.js CHANGED
@@ -80,27 +80,16 @@ const LOCAL_TOOLS = [
80
80
 
81
81
  const localToolMap = new Map(LOCAL_TOOLS.map(t => [t.name, t]))
82
82
 
83
- // ── Remote tools (loaded from MCP server at startup) ────────────────────────
84
-
85
- // Fallback definitions in case remote MCP is unreachable
86
- const FALLBACK_REMOTE_TOOLS = [
87
- { name: "list_projects", description: "List all your projects.", inputSchema: { type: "object", properties: {}, required: [] } },
88
- { name: "get_project", description: "Get project details.", inputSchema: { type: "object", properties: { project_id: { type: "string" } }, required: ["project_id"] } },
89
- { name: "create_project", description: "Create a new project (free plan).", inputSchema: { type: "object", properties: { name: { type: "string" } }, required: ["name"] } },
90
- { name: "execute_sql", description: "Run SQL on the project's database.", inputSchema: { type: "object", properties: { project_id: { type: "string" }, sql: { type: "string" } }, required: ["sql"] } },
91
- { name: "create_endpoint", description: "Create an API endpoint.", inputSchema: { type: "object", properties: { project_id: { type: "string" }, name: { type: "string" }, method: { type: "string" }, workflow_code: { type: "object" } }, required: ["name", "method", "workflow_code"] } },
92
- { name: "update_endpoint", description: "Update an endpoint.", inputSchema: { type: "object", properties: { project_id: { type: "string" }, name: { type: "string" } }, required: ["name"] } },
93
- { name: "delete_endpoint", description: "Delete an endpoint.", inputSchema: { type: "object", properties: { project_id: { type: "string" }, name: { type: "string" } }, required: ["name"] } },
94
- { name: "manage_users", description: "Manage auth users.", inputSchema: { type: "object", properties: { project_id: { type: "string" }, operation: { type: "string" } }, required: ["operation"] } },
95
- { name: "manage_roles", description: "Manage roles.", inputSchema: { type: "object", properties: { project_id: { type: "string" }, operation: { type: "string" } }, required: ["operation"] } },
96
- { name: "list_buckets", description: "List storage buckets.", inputSchema: { type: "object", properties: { project_id: { type: "string" } }, required: [] } },
97
- { name: "search_docs", description: "Search documentation.", inputSchema: { type: "object", properties: { query: { type: "string" } }, required: ["query"] } },
98
- { name: "search_workflow_templates", description: "Search workflow templates.", inputSchema: { type: "object", properties: { query: { type: "string" } }, required: ["query"] } },
99
- { name: "search_project_templates", description: "Search project starter templates.", inputSchema: { type: "object", properties: { query: { type: "string" } }, required: ["query"] } },
100
- { name: "search_nodes", description: "Search workflow nodes.", inputSchema: { type: "object", properties: { query: { type: "string" } }, required: ["query"] } },
101
- ]
102
-
103
- // Descriptions match the remote MCP server (dypai-mcp) exactly
83
+ // ── Remote tools (proxied to the remote MCP server) ────────────────────────
84
+ //
85
+ // The catalog below is the authoritative agent-facing contract. It doesn't
86
+ // auto-sync from the remote — we define it here so tool descriptions stay
87
+ // stable across remote deploys and so the git-first flow is discoverable
88
+ // even when the remote's own tool descriptions drift.
89
+ //
90
+ // If the remote is unreachable, tool CALLS will fail at invoke time (the
91
+ // proxy surfaces the error); the tool LIST stays the same so the agent
92
+ // still sees a coherent catalog.
104
93
  const REMOTE_TOOLS = [
105
94
  // ── Project ───────────────────────────────────────────────────────────────
106
95
  { name: "list_projects", description: "Lists all projects you have access to across your organizations. Returns project id, name, description, organization, subscription plan, and status. Use this as the first step to discover which projects are available, then pass project_id to other tools.", inputSchema: { type: "object", properties: { organization_id: { type: "string", description: "Optional. Filter projects by organization UUID." } }, required: [] } },