dub 0.60.0 → 0.61.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.
Files changed (57) hide show
  1. package/README.md +40 -7
  2. package/bin/mcp-server.js +33 -7
  3. package/bin/mcp-server.js.map +10 -9
  4. package/dist/commonjs/lib/config.d.ts +3 -3
  5. package/dist/commonjs/lib/config.js +3 -3
  6. package/dist/commonjs/mcp-server/extensions.d.ts +2 -0
  7. package/dist/commonjs/mcp-server/extensions.d.ts.map +1 -1
  8. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  9. package/dist/commonjs/mcp-server/prompts.d.ts +26 -0
  10. package/dist/commonjs/mcp-server/prompts.d.ts.map +1 -0
  11. package/dist/commonjs/mcp-server/prompts.js +48 -0
  12. package/dist/commonjs/mcp-server/prompts.js.map +1 -0
  13. package/dist/commonjs/mcp-server/resources.d.ts.map +1 -1
  14. package/dist/commonjs/mcp-server/resources.js +1 -0
  15. package/dist/commonjs/mcp-server/resources.js.map +1 -1
  16. package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
  17. package/dist/commonjs/mcp-server/server.js +4 -2
  18. package/dist/commonjs/mcp-server/server.js.map +1 -1
  19. package/dist/commonjs/mcp-server/tools.d.ts.map +1 -1
  20. package/dist/commonjs/mcp-server/tools.js +1 -0
  21. package/dist/commonjs/mcp-server/tools.js.map +1 -1
  22. package/dist/commonjs/models/components/workspaceschema.d.ts +3 -0
  23. package/dist/commonjs/models/components/workspaceschema.d.ts.map +1 -1
  24. package/dist/commonjs/models/components/workspaceschema.js +1 -0
  25. package/dist/commonjs/models/components/workspaceschema.js.map +1 -1
  26. package/dist/esm/lib/config.d.ts +3 -3
  27. package/dist/esm/lib/config.js +3 -3
  28. package/dist/esm/mcp-server/extensions.d.ts +2 -0
  29. package/dist/esm/mcp-server/extensions.d.ts.map +1 -1
  30. package/dist/esm/mcp-server/mcp-server.js +1 -1
  31. package/dist/esm/mcp-server/prompts.d.ts +26 -0
  32. package/dist/esm/mcp-server/prompts.d.ts.map +1 -0
  33. package/dist/esm/mcp-server/prompts.js +43 -0
  34. package/dist/esm/mcp-server/prompts.js.map +1 -0
  35. package/dist/esm/mcp-server/resources.d.ts.map +1 -1
  36. package/dist/esm/mcp-server/resources.js +1 -0
  37. package/dist/esm/mcp-server/resources.js.map +1 -1
  38. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  39. package/dist/esm/mcp-server/server.js +4 -2
  40. package/dist/esm/mcp-server/server.js.map +1 -1
  41. package/dist/esm/mcp-server/tools.d.ts.map +1 -1
  42. package/dist/esm/mcp-server/tools.js +1 -0
  43. package/dist/esm/mcp-server/tools.js.map +1 -1
  44. package/dist/esm/models/components/workspaceschema.d.ts +3 -0
  45. package/dist/esm/models/components/workspaceschema.d.ts.map +1 -1
  46. package/dist/esm/models/components/workspaceschema.js +1 -0
  47. package/dist/esm/models/components/workspaceschema.js.map +1 -1
  48. package/jsr.json +1 -1
  49. package/package.json +1 -1
  50. package/src/lib/config.ts +3 -3
  51. package/src/mcp-server/extensions.ts +4 -0
  52. package/src/mcp-server/mcp-server.ts +1 -1
  53. package/src/mcp-server/prompts.ts +110 -0
  54. package/src/mcp-server/resources.ts +1 -0
  55. package/src/mcp-server/server.ts +4 -2
  56. package/src/mcp-server/tools.ts +1 -0
  57. package/src/models/components/workspaceschema.ts +1 -0
package/README.md CHANGED
@@ -72,7 +72,7 @@ yarn add dub zod
72
72
  This SDK is also an installable MCP server where the various SDK methods are
73
73
  exposed as tools that can be invoked by AI applications.
74
74
 
75
- > Node.js v20 or greater is required to run the MCP server.
75
+ > Node.js v20 or greater is required to run the MCP server from npm.
76
76
 
77
77
  <details>
78
78
  <summary>Claude installation steps</summary>
@@ -100,17 +100,50 @@ Add the following server definition to your `claude_desktop_config.json` file:
100
100
  <details>
101
101
  <summary>Cursor installation steps</summary>
102
102
 
103
- Go to `Cursor Settings > Features > MCP Servers > Add new MCP server` and use the following settings:
103
+ Create a `.cursor/mcp.json` file in your project root with the following content:
104
104
 
105
- - Name: Dub
106
- - Type: `command`
107
- - Command:
108
- ```sh
109
- npx -y --package dub -- mcp start --api-token ...
105
+ ```json
106
+ {
107
+ "mcpServers": {
108
+ "Dub": {
109
+ "command": "npx",
110
+ "args": [
111
+ "-y", "--package", "dub",
112
+ "--",
113
+ "mcp", "start",
114
+ "--api-token", "..."
115
+ ]
116
+ }
117
+ }
118
+ }
110
119
  ```
111
120
 
112
121
  </details>
113
122
 
123
+ You can also run MCP servers as a standalone binary with no additional dependencies. You must pull these binaries from available Github releases:
124
+
125
+ ```bash
126
+ curl -L -o mcp-server \
127
+ https://github.com/{org}/{repo}/releases/download/{tag}/mcp-server-bun-darwin-arm64 && \
128
+ chmod +x mcp-server
129
+ ```
130
+
131
+ If the repo is a private repo you must add your Github PAT to download a release `-H "Authorization: Bearer {GITHUB_PAT}"`.
132
+
133
+
134
+ ```json
135
+ {
136
+ "mcpServers": {
137
+ "Todos": {
138
+ "command": "./DOWNLOAD/PATH/mcp-server",
139
+ "args": [
140
+ "start"
141
+ ]
142
+ }
143
+ }
144
+ }
145
+ ```
146
+
114
147
  For a full list of server arguments, run:
115
148
 
116
149
  ```sh
package/bin/mcp-server.js CHANGED
@@ -34247,9 +34247,9 @@ var init_config = __esm(() => {
34247
34247
  SDK_METADATA = {
34248
34248
  language: "typescript",
34249
34249
  openapiDocVersion: "0.0.1",
34250
- sdkVersion: "0.60.0",
34251
- genVersion: "2.548.6",
34252
- userAgent: "speakeasy-sdk/typescript 0.60.0 2.548.6 0.0.1 dub"
34250
+ sdkVersion: "0.61.0",
34251
+ genVersion: "2.556.1",
34252
+ userAgent: "speakeasy-sdk/typescript 0.61.0 2.556.1 0.0.1 dub"
34253
34253
  };
34254
34254
  });
34255
34255
 
@@ -35019,6 +35019,30 @@ var init_core = __esm(() => {
35019
35019
  };
35020
35020
  });
35021
35021
 
35022
+ // src/mcp-server/prompts.ts
35023
+ function createRegisterPrompt(logger, server, sdk, allowedScopes) {
35024
+ return (prompt) => {
35025
+ const scopes = prompt.scopes ?? [];
35026
+ if (!scopes.every((s) => allowedScopes.has(s))) {
35027
+ return;
35028
+ }
35029
+ if (prompt.args) {
35030
+ if (prompt.description) {
35031
+ server.prompt(prompt.name, prompt.description, prompt.args, async (args, ctx) => prompt.prompt(sdk, args, ctx));
35032
+ } else {
35033
+ server.prompt(prompt.name, prompt.args, async (args, ctx) => prompt.prompt(sdk, args, ctx));
35034
+ }
35035
+ } else {
35036
+ if (prompt.description) {
35037
+ server.prompt(prompt.name, prompt.description, async (ctx) => prompt.prompt(sdk, ctx));
35038
+ } else {
35039
+ server.prompt(prompt.name, async (ctx) => prompt.prompt(sdk, ctx));
35040
+ }
35041
+ }
35042
+ logger.debug("Registered prompt", { name: prompt.name });
35043
+ };
35044
+ }
35045
+
35022
35046
  // src/mcp-server/shared.ts
35023
35047
  async function consumeStream(stream) {
35024
35048
  const reader = stream.getReader();
@@ -48900,6 +48924,7 @@ var init_workspaceschema = __esm(() => {
48900
48924
  BusinessPlus: "business plus",
48901
48925
  BusinessExtra: "business extra",
48902
48926
  BusinessMax: "business max",
48927
+ Advanced: "advanced",
48903
48928
  Enterprise: "enterprise"
48904
48929
  };
48905
48930
  Role = {
@@ -57973,7 +57998,7 @@ Update a workspace by ID or slug.`,
57973
57998
  function createMCPServer(deps) {
57974
57999
  const server = new McpServer({
57975
58000
  name: "Dub",
57976
- version: "0.60.0"
58001
+ version: "0.61.0"
57977
58002
  });
57978
58003
  const client = new DubCore({
57979
58004
  token: deps.token,
@@ -57985,7 +58010,8 @@ function createMCPServer(deps) {
57985
58010
  const tool = createRegisterTool(deps.logger, server, client, scopes, allowedTools);
57986
58011
  const resource = createRegisterResource(deps.logger, server, client, scopes);
57987
58012
  const resourceTemplate = createRegisterResourceTemplate(deps.logger, server, client, scopes);
57988
- const register = { tool, resource, resourceTemplate };
58013
+ const prompt = createRegisterPrompt(deps.logger, server, client, scopes);
58014
+ const register = { tool, resource, resourceTemplate, prompt };
57989
58015
  tool(tool$linksCreate);
57990
58016
  tool(tool$linksList);
57991
58017
  tool(tool$linksCount);
@@ -59265,7 +59291,7 @@ var routes = rn({
59265
59291
  var app = Ve(routes, {
59266
59292
  name: "mcp",
59267
59293
  versionInfo: {
59268
- currentVersion: "0.60.0"
59294
+ currentVersion: "0.61.0"
59269
59295
  }
59270
59296
  });
59271
59297
  _t(app, process3.argv.slice(2), buildContext(process3));
@@ -59273,5 +59299,5 @@ export {
59273
59299
  app
59274
59300
  };
59275
59301
 
59276
- //# debugId=5A58D3F072697ADA64756E2164756E21
59302
+ //# debugId=AD179BEF2C7C7FF864756E2164756E21
59277
59303
  //# sourceMappingURL=mcp-server.js.map