DocSpaceBLOCK
DocSpace MCP Server
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[Model Context Protocol] (MCP) is a standardized protocol for managing context between large language models (LLMs) and external systems. This repository provides an MCP server for [ONLYOFFICE DocSpace].
The DocSpace MCP Server connects AI tools directly to ONLYOFFICE DocSpace. This gives AI agents, assistants, and chatbots the ability to manage rooms, collaborate on files, handle permissions, and automate document workflows - all through natural language interactions.
Features
- Tools with granular control - Access to tools organized into logical
toolsets with fine-grained enable/disable capabilities and meta tools.
- Multiple transport protocols - Support for stdio, SSE, and Streamable HTTP
transports.
- Different authentication methods - Supports API keys, Personal Access
Tokens, Basic authentication, and OAuth 2.0 with dynamic client registration. See examples.
- Request-level configuration - Configure authentication and tool selection
during session initialization using custom HTTP headers.
- Various distribution formats - Available as Docker image, [Docker MCP
Server](/docs/distribution/docker-mcp.md#user-content-docker-mcp-server), MCP bundle, and Node.js application.
Use Cases
- Room Management: Create, update, and archive rooms. Configure room types, manage membership, and control access levels.
- Folder & File Operations: Create folders, upload documents, copy or move items in batches, rename or delete content, and check file or folder detai
74c2fba6733fOBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add docspace-mcp --env NODE_TLS_REJECT_UNAUTHORIZED=${NODE_TLS_REJECT_UNAUTHORIZED} -- npx -y @onlyoffice/[email protected]{
"mcpServers": {
"docspace-mcp": {
"command": "npx",
"args": [
"-y",
"@onlyoffice/[email protected]"
],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "${NODE_TLS_REJECT_UNAUTHORIZED}"
}
}
}
}Exposed tools (32)
21 read · 8 write · 3 destructive. Blast radius: 3 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
archive_room | read | Archive a room. |
call_tool | read | This is a meta-tool for calling a tool. The list of available tools can be obtained using the list_tools meta-tool. The input schema can be obtained using the get_tool_input_schema meta-tool. |
copy_batch_items | read | Copy to a folder. |
create_folder | write | Create a folder. |
create_room | write | Create a room. |
delete_file | destructive | Delete a file. |
delete_folder | destructive | Delete a folder. |
download_file_as_text | read | Download a file as text. |
files | read | Operations for working with files. |
folders | read | Operations for working with folders. |
get_all_people | read | Get all people. |
get_file_info | read | Get file information. |
get_folder_content | read | Get content of a folder. |
get_folder_info | read | Get folder information. |
get_my_folder | read | Get the |
get_room_access_levels | read | Get a list of available room invitation access levels. |
get_room_info | read | Get room information. |
get_room_security_info | read | Get a list of users with their access levels to a room. |
get_room_types | read | Get a list of available room types. |
get_rooms_folder | read | Get the |
get_tool_input_schema | read | This is a meta-tool for getting an input schema for a specific tool. The list of available tools can be obtained using the list_tools meta-tool. |
get_tool_output_schema | read | This is a meta-tool for getting an output schema for a specific tool. The list of available tools can be obtained using the list_tools meta-tool. |
list_tools | read | This is a meta-tool for listing available tools of a specific toolset. The list of available toolsets can be obtained using the list_toolsets meta-tool. |
list_toolsets | write | This is a meta-tool for listing available toolsets. Toolset is a set of available tools. |
move_batch_items | write | Move to a folder. |
people | read | Operations for working with users. |
rename_folder | write | Rename a folder. |
rooms | read | Operations for working with rooms. |
set_room_security | destructive | Invite or remove users from a room. |
update_file | write | Update a file. |
update_room | write | Update a room. |
upload_file | write | Upload a file. |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (8 observation(s))
- Network
- declared (6 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (11)
await exec(
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"
delete_file, delete_folder, set_room_security
.check-licenses.yml
import type {Result} from "../../util/result.ts"import {error, ok} from "../../util/result.ts"import type {Result} from "../../util/result.ts"import {error, ok, safeAsync, safeNew, safeSync} from "../../util/result.ts"import type {Result} from "../../util/result.ts"|
Access Token (PAT), username/password pair, or raw `Authorization` header.
Gates applied: no_behavioural_pass.
74c2fba6733ffull audit observations/trust-audit/mcp-server/onlyoffice__docspace.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 74c2fba6733f | BLOCK | D | 69 | first audit |
Questions
What is the DocSpace MCP server?
DocSpace MCP Server
What tools does DocSpace expose?
32 in total: 21 read-only, 8 that write, and 3 that can delete or overwrite (delete_file, delete_folder, set_room_security). Every one is listed on this page with its risk.
Is DocSpace safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 3 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does DocSpace need?
It reads NODE_TLS_REJECT_UNAUTHORIZED from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does DocSpace run?
It speaks sse, stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @onlyoffice/docspace-mcp at 3.2.0.
How current is this page?
The grade is for one exact copy of the source (74c2fba6733f), read on 2026-10-08. The repository is watched and re-audited when it changes.