@@ -30,9 +30,9 @@ export NEXTCLOUD_PASSWORD=your-app-password
3030nc-mcp-server
3131```
3232
33- ## 101 Tools Across 21 Nextcloud Apps
33+ ## 126 Tools Across 22 Nextcloud Apps
3434
35- A 102nd tool, ` upload_file_from_path ` , is registered only when the operator sets
35+ A 127th tool, ` upload_file_from_path ` , is registered only when the operator sets
3636` NEXTCLOUD_MCP_UPLOAD_ROOT ` . See [ Files] ( #files ) for details.
3737
3838| Category | Tools | Protocol |
@@ -56,6 +56,7 @@ A 102nd tool, `upload_file_from_path`, is registered only when the operator sets
5656| [ Tasks] ( #tasks ) | list lists, CRUD tasks, complete | CalDAV |
5757| [ Mail] ( #mail ) | accounts, mailboxes, messages, send | REST |
5858| [ Collectives] ( #collectives ) | list, pages, create, trash, restore | REST |
59+ | [ Forms] ( #forms ) | CRUD forms, questions, options, shares, submissions + export | OCS |
5960| [ Unified Search] ( #unified-search ) | list providers, search across apps | OCS |
6061| [ App Management] ( #app-management ) | list, info, enable, disable apps | OCS |
6162
@@ -363,6 +364,36 @@ call; the body is streamed in chunks rather than loaded into memory.
363364| ` restore_collective ` | write | Restore a collective from trash |
364365| ` restore_collective_page ` | write | Restore a page from trash |
365366
367+ ### Forms
368+
369+ | Tool | Permission | Description |
370+ | ------| -----------| -------------|
371+ | ` list_forms ` | read | List forms (filter by ownership: "owned" or "shared"; omit to merge both) |
372+ | ` get_form ` | read | Get a form with questions, options, shares |
373+ | ` list_questions ` | read | List questions on a form |
374+ | ` get_question ` | read | Get a single question |
375+ | ` list_submissions ` | read | List submissions (owner only), with pagination and text filter |
376+ | ` get_submission ` | read | Get a single submission with answers |
377+ | ` create_form ` | write | Create an empty form or clone from an existing form |
378+ | ` update_form ` | write | Update form properties (title, access, state, maxSubmissions, etc.) |
379+ | ` create_question ` | write | Add a question (short, long, multiple, dropdown, date, file, grid, …) |
380+ | ` update_question ` | write | Update question properties |
381+ | ` reorder_questions ` | write | Reorder all questions on a form |
382+ | ` create_options ` | write | Add answer options to a choice question |
383+ | ` update_option ` | write | Update option text |
384+ | ` reorder_options ` | write | Reorder options within a question |
385+ | ` create_form_share ` | write | Share a form with user, group, circle, or link |
386+ | ` update_form_share ` | write | Update share permissions |
387+ | ` submit_form ` | write | Submit answers to a form |
388+ | ` update_submission ` | write | Edit an existing submission (requires allowEditSubmissions) |
389+ | ` export_submissions ` | write | Export submissions as a spreadsheet to a Nextcloud folder |
390+ | ` delete_form ` | destructive | Delete a form and all its content |
391+ | ` delete_question ` | destructive | Delete a question |
392+ | ` delete_option ` | destructive | Delete an option |
393+ | ` delete_form_share ` | destructive | Revoke a share |
394+ | ` delete_submission ` | destructive | Delete one submission |
395+ | ` delete_all_submissions ` | destructive | Delete every submission on a form |
396+
366397### Unified Search
367398
368399| Tool | Permission | Description |
0 commit comments