yungle-mcp 0.1.0 → 0.1.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.
Files changed (2) hide show
  1. package/dist/server.mjs +11 -11
  2. package/package.json +10 -6
package/dist/server.mjs CHANGED
@@ -4,7 +4,7 @@
4
4
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
5
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
6
6
 
7
- // ../api-client/src/index.ts
7
+ // ../api-client/dist/index.mjs
8
8
  var YungleApiError = class extends Error {
9
9
  constructor(status, code, message, details) {
10
10
  super(message);
@@ -222,7 +222,7 @@ function createServer(client) {
222
222
  "get_account",
223
223
  {
224
224
  title: "Account and storage",
225
- description: "The workspace behind this connection: plan, storage used and remaining, and what this key is allowed to do.",
225
+ description: "Answers: how much storage am I using? how much is left? what plan am I on? what can this connection do? Returns the workspace, its plan and quota, and the key's permissions.",
226
226
  inputSchema: {},
227
227
  annotations: { readOnlyHint: true }
228
228
  },
@@ -232,7 +232,7 @@ function createServer(client) {
232
232
  "list_transfers",
233
233
  {
234
234
  title: "List transfers",
235
- description: "Recent transfers with size, download count, expiry and share link. Use this to answer questions about what was sent, to whom, and whether it has been collected.",
235
+ description: "Answers: what have I sent recently? what is expiring soon? which deliveries has nobody picked up? who did I send that to? Returns recent transfers with size, recipients, download count, expiry date and share link. Start here for any question about sent files.",
236
236
  inputSchema: {},
237
237
  annotations: { readOnlyHint: true }
238
238
  },
@@ -245,7 +245,7 @@ function createServer(client) {
245
245
  "get_transfer",
246
246
  {
247
247
  title: "Transfer detail",
248
- description: "One transfer: its files, malware-scan verdicts, and per-recipient delivery and download status.",
248
+ description: "Answers: what is in this transfer? was it delivered? has a specific recipient opened it? is it safe to share? Returns the files with their malware-scan verdicts, plus per-recipient delivery and download status. Needs an id from list_transfers.",
249
249
  inputSchema: { id: z.string().describe("Transfer id from list_transfers.") },
250
250
  annotations: { readOnlyHint: true }
251
251
  },
@@ -255,7 +255,7 @@ function createServer(client) {
255
255
  "get_transfer_downloads",
256
256
  {
257
257
  title: "Download receipts",
258
- description: "Who downloaded a transfer and when. IMPORTANT: one page visit is one download, not one per file \u2014 events sharing a sessionId are a single visit. Count distinct sessions.",
258
+ description: "Answers: did the client download it? when? how many times? Returns download events with timestamps and per-recipient status. IMPORTANT when counting: one page visit is one download, not one per file \u2014 events sharing a sessionId are a single visit, so count distinct sessions or a single visitor looks like eight.",
259
259
  inputSchema: { id: z.string() },
260
260
  annotations: { readOnlyHint: true }
261
261
  },
@@ -265,7 +265,7 @@ function createServer(client) {
265
265
  "list_collections",
266
266
  {
267
267
  title: "List collections",
268
- description: "Collections in this workspace, with file counts and sizes. Never includes the vault.",
268
+ description: "Answers: what collections do I have? which are empty? how big is each one? Returns collections with file counts, sizes and when each was last touched. A collection is a durable space clients are invited into, as opposed to a one-off transfer. Never includes the vault, which is unreadable to this server by design.",
269
269
  inputSchema: {},
270
270
  annotations: { readOnlyHint: true }
271
271
  },
@@ -275,7 +275,7 @@ function createServer(client) {
275
275
  "get_collection",
276
276
  {
277
277
  title: "Collection detail",
278
- description: "One collection, with its share link, file count and total size.",
278
+ description: "Answers: what is the link for this collection? how much is in it? when does it expire? Returns one collection with its secret share link, file count, total size and expiry. Needs an id from list_collections.",
279
279
  inputSchema: { id: z.string() },
280
280
  annotations: { readOnlyHint: true }
281
281
  },
@@ -285,7 +285,7 @@ function createServer(client) {
285
285
  "list_collection_files",
286
286
  {
287
287
  title: "Files in a collection",
288
- description: 'Files, optionally within one folder. Omit folderId for everything; pass "root" for the top level only.',
288
+ description: 'Answers: what files are in this collection? what is in this folder? are the raws uploaded yet? Returns filenames, sizes and types. Omit folderId for every file; pass "root" for the top level only, or a folder id from list_folders. Filenames only \u2014 never file contents.',
289
289
  inputSchema: { id: z.string(), folderId: z.string().optional() },
290
290
  annotations: { readOnlyHint: true }
291
291
  },
@@ -295,7 +295,7 @@ function createServer(client) {
295
295
  "list_folders",
296
296
  {
297
297
  title: "Folders in a collection",
298
- description: "The folder tree. Ordered by depth then path, which is NOT a pre-order traversal \u2014 build the tree from parentId rather than the order returned. Each folder also carries its full path.",
298
+ description: "Answers: how is this collection organised? what folders exist? Returns the folder tree. Ordered by depth then path, which is NOT a pre-order traversal \u2014 build the tree from parentId rather than trusting the order. Each folder also carries its full materialised path.",
299
299
  inputSchema: { id: z.string() },
300
300
  annotations: { readOnlyHint: true }
301
301
  },
@@ -305,7 +305,7 @@ function createServer(client) {
305
305
  "list_guests",
306
306
  {
307
307
  title: "Guests on a collection",
308
- description: "People invited to view one collection. Guests are not workspace members: they can view and download that collection and nothing else.",
308
+ description: "Answers: who has access to this collection? who did I invite? has someone accepted? Returns the invited guests and their status. Guests are not workspace members \u2014 they can view and download this one collection and nothing else.",
309
309
  inputSchema: { id: z.string() },
310
310
  annotations: { readOnlyHint: true }
311
311
  },
@@ -315,7 +315,7 @@ function createServer(client) {
315
315
  "list_contacts",
316
316
  {
317
317
  title: "Address book",
318
- description: "Contacts in this workspace. A contact grants no access on its own.",
318
+ description: "Answers: what is this client's email address? who do I have saved? Returns the workspace address book. A contact grants no access on its own \u2014 it is a convenience, not a permission.",
319
319
  inputSchema: {},
320
320
  annotations: { readOnlyHint: true }
321
321
  },
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "yungle-mcp",
3
- "version": "0.1.0",
3
+ "mcpName": "co.yungle/yungle",
4
+ "version": "0.1.2",
4
5
  "type": "module",
5
6
  "description": "Model Context Protocol server for Yungle.",
6
7
  "bin": {
@@ -27,23 +28,26 @@
27
28
  "esbuild": "^0.25.0",
28
29
  "tsx": "^4.19.2",
29
30
  "typescript": "^5.7.3",
30
- "@yungle/api-client": "workspace:*"
31
+ "yungle-client": "workspace:*"
31
32
  },
32
33
  "keywords": [
33
- "yungle",
34
+ "eu",
35
+ "file-transfer",
36
+ "gdpr",
34
37
  "mcp",
35
38
  "model-context-protocol",
36
- "file-transfer"
39
+ "wetransfer-alternative",
40
+ "yungle"
37
41
  ],
38
42
  "license": "MIT",
39
43
  "author": "Hein de Wilde",
40
44
  "repository": {
41
45
  "type": "git",
42
- "url": "git+https://github.com/heindewilde/yungle.git"
46
+ "url": "git+https://github.com/heindewilde/yungle-clients.git"
43
47
  },
44
48
  "homepage": "https://yungle.co/developers",
45
49
  "bugs": {
46
- "url": "https://github.com/heindewilde/yungle/issues"
50
+ "url": "https://github.com/heindewilde/yungle-clients/issues"
47
51
  },
48
52
  "engines": {
49
53
  "node": ">=22"