@pipeshub-ai/mcp 2.4.0 → 2.4.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.
package/bin/mcp-server.js CHANGED
@@ -50441,16 +50441,18 @@ the user can verify.
50441
50441
  - \`pipeshub_search\` — locate a document by name or topic and resolve it
50442
50442
  to a \`recordId\`. To read or summarize one specific document, search,
50443
50443
  then pass the top hit's \`recordId\` to \`pipeshub_get_record_content\`.
50444
- - \`pipeshub_download_record\` — when the user wants the actual file
50445
- bytes (download, attach, open). Get the \`recordId\` either from
50446
- citations on a prior \`pipeshub_chat\` response or from
50447
- \`pipeshub_search\`.
50444
+ - \`pipeshub_download_record\` — when the user wants the file as stored
50445
+ (download, attach, open). Never to read or summarize — that is
50446
+ \`pipeshub_get_record_content\` \`mode:"content"\`, which returns
50447
+ parsed text with a metadata header. Get the \`recordId\` from a chat
50448
+ citation or from \`pipeshub_search\`. \`convertTo\` is only
50449
+ \`application/pdf\`.
50448
50450
  - \`pipeshub_get_record_content\` — when you need a record's full parsed
50449
50451
  content (returned as a single \`content\` string: metadata header plus
50450
50452
  the document's text) without downloading the original file. Prefer this
50451
50453
  over download when the question is about what the record says.
50452
50454
  - \`pipeshub_directory\` — people, groups, teams, and \`whoami\` lookups.
50453
- Not for documents.
50455
+ Not for documents or files — that is \`pipeshub_search\`.
50454
50456
  - \`pipeshub_sources\` — call once at the start of a session to discover
50455
50457
  which connectors / KB / models are available, then cache the result.
50456
50458
  - \`pipeshub_agents\` — list the org's configured **agents** (specialized
@@ -54205,22 +54207,22 @@ var init_pipeshubDownloadRecord = __esm(() => {
54205
54207
  init__helpers();
54206
54208
  args3 = {
54207
54209
  recordId: string2().min(1).describe("Record identifier — usually a UUID for connector-sourced records or " + "a 24-character ObjectId for uploaded records. Get it from a chat " + "citation (`citations[*].recordId`) or from a `pipeshub_search` hit."),
54208
- convertTo: string2().optional().describe("Optional server-side format conversion target (e.g. `pdf`). When " + "omitted, the original file bytes are returned.")
54210
+ convertTo: string2().optional().describe("The only conversion target connectors honour is `application/pdf` " + "(the MIME type, not `pdf`). A bare `pdf` is ignored and the " + "original file is returned with no error. Omit for the file as " + "stored. Does not parse the document — use " + '`pipeshub_get_record_content` `mode:"content"` for that.')
54209
54211
  };
54210
54212
  tool$pipeshubDownloadRecord = {
54211
54213
  name: "pipeshub_download_record",
54212
- description: `Stream the binary content of a single record from PipesHub.
54213
-
54214
- Typical sources for the \`recordId\`:
54215
- - A chat citation:
54216
- \`pipeshub_chat\` response → \`citations[*].recordId\`.
54217
- - A search result:
54218
- \`pipeshub_search\` response → \`hits[*].recordId\` /
54219
- \`uniqueRecords[*].recordId\`.
54220
-
54221
- Response \`Content-Type\` is forwarded from the upstream service —
54222
- \`application/pdf\`, \`application/octet-stream\`, etc. Binary content is
54223
- returned base64-encoded; text content is returned inline.`,
54214
+ description: `Download the file as stored for one record — not PipesHub's parsed
54215
+ content, metadata header, or summary.
54216
+
54217
+ Use this when the user wants the file itself (download, attach, open).
54218
+ Get \`recordId\` from a chat citation or a \`pipeshub_search\` hit.
54219
+
54220
+ Do not use this to read, summarize, or answer "what does this doc
54221
+ say?" regardless of format. That is \`pipeshub_get_record_content\`
54222
+ \`mode:"content"\`. Text formats come back inline; images, audio, and
54223
+ binary as base64.
54224
+
54225
+ \`convertTo\` accepts only \`application/pdf\`; anything else is ignored.`,
54224
54226
  scopes: ["read"],
54225
54227
  annotations: {
54226
54228
  title: "Download a document by record id",
@@ -55052,14 +55054,27 @@ var init_teamsGetUserTeams = __esm(() => {
55052
55054
  });
55053
55055
 
55054
55056
  // src/mcp-server/tools/pipeshubDirectory.ts
55055
- var args5, tool$pipeshubDirectory;
55057
+ function defaultLimit(schema) {
55058
+ const limit = schema.parse({}).limit;
55059
+ if (typeof limit !== "number") {
55060
+ throw new Error("list request schema is missing a numeric limit default");
55061
+ }
55062
+ return limit;
55063
+ }
55064
+ var listUsersLimit, listGroupsLimit, listTeamsLimit, args5, tool$pipeshubDirectory;
55056
55065
  var init_pipeshubDirectory = __esm(() => {
55057
55066
  init_zod();
55058
55067
  init_usersGetAllUsers();
55059
55068
  init_usersGetUserById();
55060
55069
  init_userGroupsGetAllUserGroups();
55061
55070
  init_teamsGetUserTeams();
55071
+ init_getallusersop();
55072
+ init_getallusergroupsop();
55073
+ init_getuserteamsop();
55062
55074
  init__helpers();
55075
+ listUsersLimit = defaultLimit(GetAllUsersRequest$zodSchema);
55076
+ listGroupsLimit = defaultLimit(GetAllUserGroupsRequest$zodSchema);
55077
+ listTeamsLimit = defaultLimit(GetUserTeamsRequest$zodSchema);
55063
55078
  args5 = {
55064
55079
  action: _enum([
55065
55080
  "whoami",
@@ -55069,28 +55084,29 @@ var init_pipeshubDirectory = __esm(() => {
55069
55084
  "list_my_teams"
55070
55085
  ]).describe(`What to do:
55071
55086
  ` + "- `whoami` — return the authenticated user's identity, confirmed " + `against the server. No other args needed.
55072
- ` + "- `list_users` — paginated list of org users. Optional `page`, " + "`limit`, `search` (substring match against name or email).\n" + "- `get_user` — full profile for one user. Required `userId`. " + "Use `whoami` to find your own id first if needed.\n" + "- `list_groups` — paginated list of user groups (with `userCount`).\n" + "- `list_my_teams` — teams the authenticated user belongs to, with " + "capability flags."),
55073
- userId: string2().optional().describe("Required when `action` is `get_user`. 24-character ObjectId."),
55074
- page: number2().int().min(1).optional().describe("Pagination — 1-based page number. Used by list_* actions."),
55075
- limit: number2().int().min(1).max(100).optional().describe("Pagination — items per page. Used by list_* actions."),
55076
- search: string2().optional().describe("Substring match against name / email. Used by list_users.")
55087
+ ` + "- `list_users` — paginated list of org users. Optional `page`, " + "`limit`, `search` (substring match against name or email).\n" + "- `get_user` — full profile for one user. Required `userId`. " + "Use `whoami` to find your own id first if needed.\n" + "- `list_groups` — paginated list of user groups (with `userCount`). " + "Optional `search` matches group name.\n" + "- `list_my_teams` — teams the authenticated user belongs to, with " + "capability flags. Optional `search` matches team name."),
55088
+ userId: string2().optional().describe("Required when `action` is `get_user`. 24-character ObjectId. " + "Take it from `whoami` (yourself) or from a `list_users` hit."),
55089
+ page: number2().int().min(1).optional().describe("1-based page for list_* actions. Omit for page 1."),
55090
+ limit: number2().int().min(1).max(100).optional().describe("Items per page for list_* (1–100). Omit for the action default: " + `${listUsersLimit} users, ${listGroupsLimit} groups, ` + `${listTeamsLimit} teams.`),
55091
+ search: string2().optional().describe("Substring match on list_users (name or email), list_groups (name), " + "and list_my_teams (name). An empty list means no match, not an error.")
55077
55092
  };
55078
55093
  tool$pipeshubDirectory = {
55079
55094
  name: "pipeshub_directory",
55080
- description: `Look up people, groups, and teams in PipesHub. One tool with five
55081
- actions — pick the right \`action\`:
55082
-
55083
- - \`whoami\` — who is the caller? Use this whenever you need the
55084
- authenticated user's own id, email, or full name (e.g. before
55085
- \`get_user\` on themselves). Errors if the credential is expired
55086
- or revoked.
55087
- - \`list_users\` — search / page through org users.
55088
- - \`get_user\` — full \`User\` document for one user (requires \`userId\`).
55089
- - \`list_groups\` — list user groups with \`userCount\`.
55090
- - \`list_my_teams\` — teams the caller belongs to, with capability flags
55091
- (\`canEdit\` / \`canDelete\` / \`canManageMembers\`).
55092
-
55093
- Output shape varies by action; see each action's docs above.`,
55095
+ description: `Look up people, groups, and teams in PipesHub. Five actions — pick
55096
+ \`action\`. Not for documents or files: that is \`pipeshub_search\`.
55097
+
55098
+ - \`whoami\` — the caller's id, email, full name. Use before \`get_user\`
55099
+ on yourself. Errors if the credential is expired or revoked.
55100
+ - \`list_users\` — page org users; \`search\` matches name or email.
55101
+ - \`get_user\` — full \`User\` for one \`userId\`.
55102
+ - \`list_groups\` — org groups with \`userCount\`; \`search\` matches name.
55103
+ - \`list_my_teams\` — teams the caller is on, with \`canEdit\` /
55104
+ \`canDelete\` / \`canManageMembers\`; \`search\` matches name.
55105
+
55106
+ Omit \`page\`/\`limit\` for the first page (\`page\` 1). No match is an
55107
+ empty \`users\`/\`groups\`/\`teams\` array, not an error.
55108
+ \`pagination.hasNextPage\` (teams: \`hasNext\`) says whether to request
55109
+ the next page.`,
55094
55110
  scopes: ["read"],
55095
55111
  annotations: {
55096
55112
  title: "PipesHub directory (users / groups / teams / whoami)",
@@ -55636,7 +55652,7 @@ One record can appear in several hits. Link a record by its \`webUrl\`.`
55636
55652
  },
55637
55653
  {
55638
55654
  name: "pipeshub_download_record",
55639
- description: "Stream the binary content of a single record from PipesHub.\n\nTypical sources for the `recordId`:\n- A chat citation:\n `pipeshub_chat` response → `citations[*].recordId`.\n- A search result:\n `pipeshub_search` response → `hits[*].recordId` /\n `uniqueRecords[*].recordId`.\n\nResponse `Content-Type` is forwarded from the upstream service —\n`application/pdf`, `application/octet-stream`, etc. Binary content is\nreturned base64-encoded; text content is returned inline."
55655
+ description: 'Download the file as stored for one record — not PipesHub\'s parsed\ncontent, metadata header, or summary.\n\nUse this when the user wants the file itself (download, attach, open).\nGet `recordId` from a chat citation or a `pipeshub_search` hit.\n\nDo not use this to read, summarize, or answer "what does this doc\nsay?" regardless of format. That is `pipeshub_get_record_content`\n`mode:"content"`. Text formats come back inline; images, audio, and\nbinary as base64.\n\n`convertTo` accepts only `application/pdf`; anything else is ignored.'
55640
55656
  },
55641
55657
  {
55642
55658
  name: "pipeshub_get_record_content",
@@ -55717,7 +55733,7 @@ it using the \`Web URL\` from its metadata header (when present).`
55717
55733
  },
55718
55734
  {
55719
55735
  name: "pipeshub_directory",
55720
- description: "Look up people, groups, and teams in PipesHub. One tool with five\nactions — pick the right `action`:\n\n- `whoami` — who is the caller? Use this whenever you need the\n authenticated user's own id, email, or full name (e.g. before\n `get_user` on themselves). Errors if the credential is expired\n or revoked.\n- `list_users` — search / page through org users.\n- `get_user` — full `User` document for one user (requires `userId`).\n- `list_groups` — list user groups with `userCount`.\n- `list_my_teams` — teams the caller belongs to, with capability flags\n (`canEdit` / `canDelete` / `canManageMembers`).\n\nOutput shape varies by action; see each action's docs above."
55736
+ description: "Look up people, groups, and teams in PipesHub. Five actions — pick\n`action`. Not for documents or files: that is `pipeshub_search`.\n\n- `whoami` — the caller's id, email, full name. Use before `get_user`\n on yourself. Errors if the credential is expired or revoked.\n- `list_users` — page org users; `search` matches name or email.\n- `get_user` — full `User` for one `userId`.\n- `list_groups` — org groups with `userCount`; `search` matches name.\n- `list_my_teams` — teams the caller is on, with `canEdit` /\n `canDelete` / `canManageMembers`; `search` matches name.\n\nOmit `page`/`limit` for the first page (`page` 1). No match is an\nempty `users`/`groups`/`teams` array, not an error.\n`pagination.hasNextPage` (teams: `hasNext`) says whether to request\nthe next page."
55721
55737
  },
55722
55738
  {
55723
55739
  name: "pipeshub_agents",
@@ -59350,5 +59366,5 @@ export {
59350
59366
  app
59351
59367
  };
59352
59368
 
59353
- //# debugId=DFA46931359137F464756E2164756E21
59369
+ //# debugId=8B63F04DA907BD3C64756E2164756E21
59354
59370
  //# sourceMappingURL=mcp-server.js.map