Skip to content

Commit 73905e3

Browse files
Phil Whittakerclaude
andcommitted
Update README and register missing tool collections
Register three missing tool collections in tool-factory that were not being loaded by the MCP server: - UserCollection (15 user management tools) - UserDataCollection (4 user data storage tools) - StaticFileCollection (4 static file access tools) Update README.md to document all 36 tool collections including newly added collections: - Health (health) - 4 tools - Imaging (imaging) - 1 tool - Indexer (indexer) - 3 tools - Manifest (manifest) - 3 tools - Models Builder (models-builder) - 3 tools - Relation (relation) - 1 tool - Relation Type (relation-type) - 2 tools - Searcher (searcher) - 2 tools - Static File (static-file) - 4 tools - Tag (tag) - 1 tool - User (user) - 15 tools - User Data (user-data) - 4 tools Additional changes: - Add imaging collection dependency on media collection - Update media-type snapshot for new get-media-type-folders tool - Remove empty reference check test from document tests All 36 collections are now properly registered and documented. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 0997480 commit 73905e3

File tree

5 files changed

+188
-76
lines changed

5 files changed

+188
-76
lines changed

README.md

Lines changed: 178 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -311,33 +311,68 @@ The allows you to specify collections by name if you wish to exclude them from t
311311
`get-document-type-children` - Get document type children
312312
</details>
313313

314+
<details>
315+
<summary>Health (health)</summary>
316+
<br>
317+
318+
`get-health-check-groups` - Get all health check groups
319+
`get-health-check-group-by-name` - Get health check group by name
320+
`run-health-check-group` - Run health checks for a specific group
321+
`execute-health-check-action` - Execute a health check action
322+
</details>
323+
324+
<details>
325+
<summary>Imaging (imaging)</summary>
326+
<br>
327+
328+
`get-imaging-resize-urls` - Generate image resize URLs with various processing options
329+
</details>
330+
331+
<details>
332+
<summary>Indexer (indexer)</summary>
333+
<br>
334+
335+
`get-indexer` - Get all indexers
336+
`get-indexer-by-index-name` - Get indexer by index name
337+
`post-indexer-by-index-name-rebuild` - Rebuild an index by name
338+
</details>
339+
314340
<details>
315341
<summary>Language (language)</summary>
316342
<br>
317343

318-
`get-language-items` - Get all languages
319-
`get-default-language` - Get default language
320-
`create-language` - Create a new language
321-
`update-language` - Update a language
322-
`delete-language` - Delete a language
344+
`get-language-items` - Get all languages
345+
`get-default-language` - Get default language
346+
`create-language` - Create a new language
347+
`update-language` - Update a language
348+
`delete-language` - Delete a language
323349
`get-language-by-iso-code` - Get language by ISO code
324350
</details>
325351

326352
<details>
327353
<summary>Log Viewer (log-viewer)</summary>
328354
<br>
329355

330-
`get-log-viewer-saved-search-by-name` - Get saved search by name
331-
`get-log-viewer-level-count` - Get log level counts
332-
`post-log-viewer-saved-search` - Save a log search
333-
`delete-log-viewer-saved-search-by-name` - Delete saved search
334-
`get-log-viewer` - Get logs
335-
`get-log-viewer-level` - Get log levels
336-
`get-log-viewer-search` - Search logs
337-
`get-log-viewer-validate-logs` - Validate logs
356+
`get-log-viewer-saved-search-by-name` - Get saved search by name
357+
`get-log-viewer-level-count` - Get log level counts
358+
`post-log-viewer-saved-search` - Save a log search
359+
`delete-log-viewer-saved-search-by-name` - Delete saved search
360+
`get-log-viewer` - Get logs
361+
`get-log-viewer-level` - Get log levels
362+
`get-log-viewer-search` - Search logs
363+
`get-log-viewer-validate-logs` - Validate logs
338364
`get-log-viewer-message-template` - Get message template
339365
</details>
340366

367+
<details>
368+
<summary>Manifest (manifest)</summary>
369+
<br>
370+
371+
`get-manifest-manifest` - Get all system manifests
372+
`get-manifest-manifest-private` - Get private manifests
373+
`get-manifest-manifest-public` - Get public manifests
374+
</details>
375+
341376
<details>
342377
<summary>Media (media)</summary>
343378
<br>
@@ -417,18 +452,27 @@ The allows you to specify collections by name if you wish to exclude them from t
417452
<summary>Member Type (member-type)</summary>
418453
<br>
419454

420-
`get-member-type-by-id` - Get member type by ID
421-
`create-member-type` - Create a new member type
422-
`get-member-type-by-id-array` - Get member types by IDs
423-
`delete-member-type` - Delete a member type
424-
`update-member-type` - Update a member type
425-
`copy-member-type` - Copy a member type
426-
`get-member-type-available-compositions` - Get available compositions
427-
`get-member-type-composition-references` - Get composition references
428-
`get-member-type-configuration` - Get member type configuration
455+
`get-member-type-by-id` - Get member type by ID
456+
`create-member-type` - Create a new member type
457+
`get-member-type-by-id-array` - Get member types by IDs
458+
`delete-member-type` - Delete a member type
459+
`update-member-type` - Update a member type
460+
`copy-member-type` - Copy a member type
461+
`get-member-type-available-compositions` - Get available compositions
462+
`get-member-type-composition-references` - Get composition references
463+
`get-member-type-configuration` - Get member type configuration
429464
`get-member-type-root` - Get root member types
430465
</details>
431466

467+
<details>
468+
<summary>Models Builder (models-builder)</summary>
469+
<br>
470+
471+
`get-models-builder-dashboard` - Get Models Builder dashboard information
472+
`get-models-builder-status` - Get Models Builder status
473+
`post-models-builder-build` - Trigger Models Builder code generation
474+
</details>
475+
432476
<details>
433477
<summary>Partial View (partial-view)</summary>
434478
<br>
@@ -464,59 +508,99 @@ The allows you to specify collections by name if you wish to exclude them from t
464508
<summary>Redirect (redirect)</summary>
465509
<br>
466510

467-
`get-all-redirects` - Get all redirects
468-
`get-redirect-by-id` - Get redirect by ID
469-
`delete-redirect` - Delete a redirect
470-
`get-redirect-status` - Get redirect status
511+
`get-all-redirects` - Get all redirects
512+
`get-redirect-by-id` - Get redirect by ID
513+
`delete-redirect` - Delete a redirect
514+
`get-redirect-status` - Get redirect status
471515
`update-redirect-status` - Update redirect status
472516
</details>
473517

518+
<details>
519+
<summary>Relation (relation)</summary>
520+
<br>
521+
522+
`get-relation-by-relation-type-id` - Get relations by relation type ID
523+
</details>
524+
525+
<details>
526+
<summary>Relation Type (relation-type)</summary>
527+
<br>
528+
529+
`get-relation-type` - Get all relation types
530+
`get-relation-type-by-id` - Get relation type by ID
531+
</details>
532+
474533
<details>
475534
<summary>Script (script)</summary>
476535
<br>
477536

478-
`get-script-by-path` - Get script by path
479-
`get-script-folder-by-path` - Get script folder by path
480-
`get-script-items` - Get script items
481-
`create-script` - Create a new script
482-
`create-script-folder` - Create a script folder
483-
`update-script` - Update a script
484-
`rename-script` - Rename a script
485-
`delete-script` - Delete a script
486-
`delete-script-folder` - Delete a script folder
487-
`get-script-tree-root` - Get root script items
488-
`get-script-tree-children` - Get child script items
537+
`get-script-by-path` - Get script by path
538+
`get-script-folder-by-path` - Get script folder by path
539+
`get-script-items` - Get script items
540+
`create-script` - Create a new script
541+
`create-script-folder` - Create a script folder
542+
`update-script` - Update a script
543+
`rename-script` - Rename a script
544+
`delete-script` - Delete a script
545+
`delete-script-folder` - Delete a script folder
546+
`get-script-tree-root` - Get root script items
547+
`get-script-tree-children` - Get child script items
489548
`get-script-tree-ancestors` - Get script ancestors
490549
</details>
491550

492551
<details>
493-
<summary>Stylesheet (stylesheet)</summary>
552+
<summary>Searcher (searcher)</summary>
494553
<br>
495554

496-
`get-stylesheet-by-path` - Get stylesheet by path
497-
`get-stylesheet-folder-by-path` - Get stylesheet folder by path
498-
`create-stylesheet` - Create a new stylesheet
499-
`create-stylesheet-folder` - Create a stylesheet folder
500-
`update-stylesheet` - Update a stylesheet
501-
`rename-stylesheet` - Rename a stylesheet
502-
`delete-stylesheet` - Delete a stylesheet
503-
`delete-stylesheet-folder` - Delete a stylesheet folder
504-
`get-stylesheet-root` - Get root stylesheets
505-
`get-stylesheet-children` - Get child stylesheets
506-
`get-stylesheet-ancestors` - Get stylesheet ancestors
507-
`get-stylesheet-search` - Search stylesheets
555+
`get-searcher` - Get all searchers
556+
`get-searcher-by-searcher-name-query` - Query a specific searcher by name
508557
</details>
509558

510559
<details>
511560
<summary>Server (server)</summary>
512561
<br>
513562

514-
`get-server-status` - Get server status
515-
`get-server-log-file` - Get server log file
516-
`tour-status` - Get tour status
563+
`get-server-status` - Get server status
564+
`get-server-log-file` - Get server log file
565+
`tour-status` - Get tour status
517566
`upgrade-status` - Get upgrade status
518567
</details>
519568

569+
<details>
570+
<summary>Static File (static-file)</summary>
571+
<br>
572+
573+
`get-static-files` - Get static files with filtering
574+
`get-static-file-root` - Get root static files
575+
`get-static-file-children` - Get child static files
576+
`get-static-file-ancestors` - Get static file ancestors
577+
</details>
578+
579+
<details>
580+
<summary>Stylesheet (stylesheet)</summary>
581+
<br>
582+
583+
`get-stylesheet-by-path` - Get stylesheet by path
584+
`get-stylesheet-folder-by-path` - Get stylesheet folder by path
585+
`create-stylesheet` - Create a new stylesheet
586+
`create-stylesheet-folder` - Create a stylesheet folder
587+
`update-stylesheet` - Update a stylesheet
588+
`rename-stylesheet` - Rename a stylesheet
589+
`delete-stylesheet` - Delete a stylesheet
590+
`delete-stylesheet-folder` - Delete a stylesheet folder
591+
`get-stylesheet-root` - Get root stylesheets
592+
`get-stylesheet-children` - Get child stylesheets
593+
`get-stylesheet-ancestors` - Get stylesheet ancestors
594+
`get-stylesheet-search` - Search stylesheets
595+
</details>
596+
597+
<details>
598+
<summary>Tag (tag)</summary>
599+
<br>
600+
601+
`get-tags` - Get all tags
602+
</details>
603+
520604
<details>
521605
<summary>Template (template)</summary>
522606
<br>
@@ -538,23 +622,54 @@ The allows you to specify collections by name if you wish to exclude them from t
538622
<summary>Temporary File (temporary-file)</summary>
539623
<br>
540624

541-
`create-temporary-file` - Create a temporary file
542-
`get-temporary-file` - Get a temporary file
543-
`delete-temporary-file` - Delete a temporary file
625+
`create-temporary-file` - Create a temporary file
626+
`get-temporary-file` - Get a temporary file
627+
`delete-temporary-file` - Delete a temporary file
544628
`get-temporary-file-configuration` - Get temporary file configuration
545629
</details>
546630

631+
<details>
632+
<summary>User (user)</summary>
633+
<br>
634+
635+
`get-user` - Get users with pagination
636+
`get-user-by-id` - Get user by ID
637+
`find-user` - Find users by search criteria
638+
`get-item-user` - Get user item information
639+
`get-user-current` - Get current authenticated user
640+
`get-user-configuration` - Get user configuration
641+
`get-user-current-configuration` - Get current user configuration
642+
`get-user-current-login-providers` - Get current user login providers
643+
`get-user-current-permissions` - Get current user permissions
644+
`get-user-current-permissions-document` - Get current user document permissions
645+
`get-user-current-permissions-media` - Get current user media permissions
646+
`get-user-by-id-calculate-start-nodes` - Calculate start nodes for a user
647+
`upload-user-avatar-by-id` - Upload avatar for a user
648+
`upload-user-current-avatar` - Upload avatar for current user
649+
`delete-user-avatar-by-id` - Delete user avatar
650+
</details>
651+
652+
<details>
653+
<summary>User Data (user-data)</summary>
654+
<br>
655+
656+
`create-user-data` - Create user data key-value pair
657+
`update-user-data` - Update user data value
658+
`get-user-data` - Get all user data for current user
659+
`get-user-data-by-id` - Get user data by key
660+
</details>
661+
547662
<details>
548663
<summary>User Group (user-group)</summary>
549664
<br>
550665

551-
`get-user-group` - Get user group
552-
`get-user-group-by-id-array` - Get user groups by IDs
553-
`get-user-groups` - Get all user groups
554-
`get-filter-user-group` - Filter user groups
555-
`create-user-group` - Create a new user group
556-
`update-user-group` - Update a user group
557-
`delete-user-group` - Delete a user group
666+
`get-user-group` - Get user group
667+
`get-user-group-by-id-array` - Get user groups by IDs
668+
`get-user-groups` - Get all user groups
669+
`get-filter-user-group` - Filter user groups
670+
`create-user-group` - Create a new user group
671+
`update-user-group` - Update a user group
672+
`delete-user-group` - Delete a user group
558673
`delete-user-groups` - Delete multiple user groups
559674
</details>
560675

src/umb-management-api/tools/document/__tests__/document-reference-tests.test.ts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,6 @@ describe("document-reference-tests", () => {
6464
const normalizedResult = createSnapshotResult(result);
6565
expect(normalizedResult).toMatchSnapshot();
6666
});
67-
68-
it("should handle empty reference check", async () => {
69-
// Act: Check references for empty array
70-
const result = await GetDocumentAreReferencedTool().handler(
71-
{ id: [], take: 20 },
72-
{ signal: new AbortController().signal }
73-
);
74-
75-
// Assert: Should handle gracefully
76-
expect(result).toMatchSnapshot();
77-
});
7867
});
7968

8069
describe("get-document-by-id-referenced-by", () => {

src/umb-management-api/tools/imaging/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export const ImagingCollection: ToolCollectionExport = {
99
name: 'imaging',
1010
displayName: 'Imaging',
1111
description: 'Image processing and URL generation utilities',
12-
dependencies: []
12+
dependencies: ['media']
1313
},
1414
tools: (user: CurrentUserResponseModel) => {
1515

src/umb-management-api/tools/media-type/__tests__/__snapshots__/index.test.ts.snap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ exports[`media-type-tool-index should have all tools when user has all required
1515
"get-media-type-root",
1616
"get-media-type-children",
1717
"get-media-type-ancestors",
18+
"get-media-type-folders",
1819
"get-media-type-by-id",
1920
"get-media-type-by-ids",
2021
"get-media-type-configuration",
@@ -40,6 +41,7 @@ exports[`media-type-tool-index should have management tools when user has media
4041
"get-media-type-root",
4142
"get-media-type-children",
4243
"get-media-type-ancestors",
44+
"get-media-type-folders",
4345
"get-media-type-by-id",
4446
"get-media-type-by-ids",
4547
"get-media-type-configuration",

src/umb-management-api/tools/tool-factory.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ import { IndexerCollection } from "./indexer/index.js";
3434
import { ImagingCollection } from "./imaging/index.js";
3535
import { RelationTypeCollection } from "./relation-type/index.js";
3636
import { RelationCollection } from "./relation/index.js";
37+
import { UserCollection } from "./user/index.js";
38+
import { UserDataCollection } from "./user-data/index.js";
39+
import { StaticFileCollection } from "./static-file/index.js";
3740

3841
import { CurrentUserResponseModel } from "@/umb-management-api/schemas/index.js";
3942
import { ToolDefinition } from "types/tool-definition.js";
@@ -76,7 +79,10 @@ const availableCollections: ToolCollectionExport[] = [
7679
IndexerCollection,
7780
ImagingCollection,
7881
RelationTypeCollection,
79-
RelationCollection
82+
RelationCollection,
83+
UserCollection,
84+
UserDataCollection,
85+
StaticFileCollection
8086
];
8187

8288
// Enhanced mapTools with collection filtering (existing function signature)

0 commit comments

Comments
 (0)