{"server":"itminds-onlyoffice","title":"OnlyOffice","about":"OnlyOffice: lets a system put Office files in the team drives where people keep them, find them again and read them, without acting as a person.","version":"0.1.0","resource":"https://office.mcps.itmindsinternal.dk/mcp","issuers":["https://auth.it-minds.dk/application/o/itminds-mcp-onlyoffice/"],"machineCallers":"roles","notes":["Systems only: a system signs in with Authentik, and each tool needs the entitlement named like the tool. People are refused; they use DocSpace itself.","MACHINE_CALLERS must be roles for this server to do anything; with off, every call is refused.","DocSpace is called with this server's own API key, but a system only reaches the team drives (rooms) this server serves AND its token holds an entitlement for: drive:<room>:read, or drive:<room>:write to write where the room allows it. Room entitlements are switched per system in the admin view.","Personal \"My documents\" sections, the trash and rooms outside the allow-list are never read or written. The templates drive is read-only.","Nothing is ever deleted, renamed or moved, and no drive is created or changed.","Every write happens in two steps: a preview first, then the change once it is confirmed with the token the preview returned."],"clients":[],"tools":[{"name":"onlyoffice_whoami","title":"Who am I in OnlyOffice","description":"Reports which system this server resolved the caller to, the team drives it may use (read or read and write), and the OnlyOffice tools its entitlements open. Call this first when a drive or tool seems to be missing.","access":"read","people":"none","systems":"role","systemRole":"onlyoffice_whoami"},{"name":"onlyoffice_list_drives","title":"List team drives","description":"Lists the team drives (DocSpace rooms) this system may use, with whether it may write there, a link, how many files and folders each holds at the top, and who can see it: the people and groups in the room with their access level, and whether any external link is open. A drive's room id is also the folder id of its top folder.","access":"read","people":"none","systems":"role","systemRole":"onlyoffice_list_drives"},{"name":"onlyoffice_browse","title":"Browse a folder","description":"Lists one page of a folder in a team drive: its subfolders, and its files with title, extension, size, version and when they were last changed. Start from a drive's room id (onlyoffice_list_drives) and go down by folder id. Page with startIndex until nextStartIndex is absent.","access":"read","people":"none","systems":"role","systemRole":"onlyoffice_browse"},{"name":"onlyoffice_search","title":"Search files by name","description":"Finds files whose title contains the query, in every team drive this system may use, or under one folder. Optionally only one extension. Use it before creating a file, to find the one that already exists. DocSpace indexes new files with a short delay, so a file uploaded moments ago may be missing; onlyoffice_browse the folder to be certain.","access":"read","people":"none","systems":"role","systemRole":"onlyoffice_search"},{"name":"onlyoffice_get_file","title":"Get a file","description":"Describes one file in a team drive: its link, where it is (drive and folder path), its current version and how many versions it has, and who can see it (the people and groups of its drive, and whether an external link is open).","access":"read","people":"none","systems":"role","systemRole":"onlyoffice_get_file"},{"name":"onlyoffice_download_text","title":"Read a file as text","description":"Reads the current version of a file in a team drive and returns its text: paragraphs of a .docx, slide by slide for a .pptx, sheet by sheet and tab-separated for an .xlsx; .txt, .csv and .md as they are. Formatting, images and formulas are not included. Long text is cut at maxChars, and says so.","access":"read","people":"none","systems":"role","systemRole":"onlyoffice_download_text"},{"name":"onlyoffice_create_folder","title":"Create a folder","description":"Creates a folder inside an existing folder of a team drive this system may write to. It never creates a drive (a room). If a folder of that name is already there, it says so and gives its id instead.","access":"write","people":"none","systems":"role","systemRole":"onlyoffice_create_folder"},{"name":"onlyoffice_upload_file","title":"Upload a new file","description":"Puts a new .docx, .xlsx or .pptx into a folder of a team drive this system may write to. The content is the whole file, base64-encoded, and must really be that kind of document. If a file with the same title is already in the folder it is refused: save a new version of that file with onlyoffice_save_version instead. Search first (onlyoffice_search) so the same document is not stored twice under different names.","access":"write","people":"none","systems":"role","systemRole":"onlyoffice_upload_file"},{"name":"onlyoffice_create_from_template","title":"Create a file from a template","description":"Copies a template from the templates drive into a folder of a team drive this system may write to, under a new title. The copy keeps the template's format; the title gets its extension when left out. Refused when a file of that title is already in the folder.","access":"write","people":"none","systems":"role","systemRole":"onlyoffice_create_from_template"},{"name":"onlyoffice_save_version","title":"Save a new version of a file","description":"Replaces the content of a .docx, .xlsx or .pptx in a team drive this system may write to, as the next version of the same file. Earlier versions stay in its history, and no copy is made. Pass basedOnVersion (the version you read) so a change somebody saved in the meantime is not buried. Refused while the file is locked or open in somebody else's editor.","access":"write","people":"none","systems":"role","systemRole":"onlyoffice_save_version"}]}