Install
$ agentstack add mcp-owncloud-ocis-mcp-server ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
oCIS MCP Server
[](LICENSE) [](https://kiteworks.com/opensource) [](https://hub.docker.com/r/owncloud/ocis-mcp-server)
A standalone Model Context Protocol (MCP) server written in Go that exposes ownCloud Infinite Scale as a set of 80+ AI-accessible tools. It enables AI assistants such as Claude, Ollama, and other MCP-compatible clients to manage oCIS users, groups, spaces, files, shares, and more through natural language, communicating exclusively over the public oCIS APIs (LibreGraph, WebDAV, OCS).
Getting Started
See the [Getting Started Guide](GETTING_STARTED.md) for a full walkthrough.
Quick Setup
# Build
make build
# Configure
export OCIS_URL=https://your-ocis-instance.example.com
export OCIS_ACCESS_TOKEN=your-token
# Run
./ocis-mcp-server
Docker
make docker-build
docker run -e OCIS_URL=... -e OCIS_ACCESS_TOKEN=... owncloud/ocis-mcp-server
Run Tests
make test
make lint
Documentation
- [Getting Started Guide](GETTING_STARTED.md)
- MCP Protocol
- oCIS Developer Documentation
Part of ownCloud Infinite Scale
This MCP server is an external integration for oCIS. It communicates over the public API surface and has no dependency on oCIS internals, allowing independent versioning and release cycles.
[](https://hub.docker.com/r/owncloud/ocis-mcp-server)
Tool Inventory
The server exposes 80 tools in 13 categories:
| Category | Tools | Examples | |---|---|---| | Users | 6 | ocis_list_users, ocis_create_user, ocis_get_me | | Groups | 7 | ocis_list_groups, ocis_create_group, ocis_add_group_member | | Spaces | 14 | ocis_list_spaces, ocis_create_space, ocis_invite_to_space | | Files | 14 | ocis_list_files, ocis_upload_file, ocis_download_file, ocis_move_file | | Shares | 11 | ocis_create_share, ocis_create_link, ocis_list_shared_by_me | | Search | 2 | ocis_search, ocis_search_by_tag | | Notifications | 2 | ocis_list_notifications, ocis_delete_notification | | Settings | 3 | ocis_list_roles, ocis_assign_role | | App Tokens | 3 | ocis_list_app_tokens, ocis_create_app_token | | Admin | 4 | ocis_health_check, ocis_get_version, ocis_get_capabilities | | Education | 5 | ocis_list_education_schools, ocis_create_education_user | | OCM | 4 | ocis_ocm_create_share, ocis_ocm_list_received | | Workflows | 5 | ocis_upload_and_share, ocis_create_project_space |
Authentication
App Tokens (recommended): Create in the oCIS web UI under Settings > Security > App tokens.
export OCIS_MCP_OCIS_URL="https://ocis.example.com"
export OCIS_MCP_APP_TOKEN_USER="admin"
export OCIS_MCP_APP_TOKEN_VALUE=""
OIDC (alternative):
export OCIS_MCP_AUTH_MODE="oidc"
export OCIS_MCP_OIDC_ACCESS_TOKEN=""
Key Environment Variables
| Variable | Required | Description | |---|---|---| | OCIS_MCP_OCIS_URL | Yes | Base URL of the oCIS instance | | OCIS_MCP_TRANSPORT | No | stdio (default) or http | | OCIS_MCP_HTTP_ADDR | No | Listen address for HTTP transport (default 127.0.0.1:8090) | | OCIS_MCP_HTTP_SECRET | No | Shared secret required as Authorization: Bearer on /mcp. Required when the HTTP transport binds a non-loopback address. | | OCIS_MCP_LOG_LEVEL | No | debug, info, warn, error |
Securing the HTTP transport
The HTTP transport runs every tool with the server's configured oCIS credential (often an admin app token). The /mcp endpoint therefore controls the full tool inventory, so it must not be reachable by untrusted callers.
- Authenticate callers. Set
OCIS_MCP_HTTP_SECRETto a long random value. The server then
requires Authorization: Bearer on every /mcp request and rejects others with 401. Configure your MCP client to send that header.
- Non-loopback binds require a secret. When
OCIS_MCP_TRANSPORT=httpbinds a non-loopback
address (for example 0.0.0.0:8090, a routable IP, or a bare :8090) and no OCIS_MCP_HTTP_SECRET is set, the server refuses to start. Binding the default 127.0.0.1:8090 without a secret is allowed but logs a warning, because any local process could otherwise drive the tools.
- Terminate TLS and restrict the network. Front the server with TLS (a reverse proxy) and
limit reachability with firewall / network policy; do not expose /mcp directly to the internet.
- Prefer
stdio(the default) for single-client, local use such as Claude Desktop — it has
no network listener.
MCP Resources and Prompts
5 read-only resources (ocis://capabilities, ocis://version, ocis://sharing-roles, ocis://drive-types, ocis://auth-mode) and 4 guided workflow prompts (ocis_onboard_user, ocis_migrate_files, ocis_audit_space, ocis_share_report).
Community & Support
Star this repo and Watch for release notifications!
Contributing
We welcome contributions! Please read the [Contributing Guidelines](CONTRIBUTING.md) and our [Code of Conduct](CODEOFCONDUCT.md) before getting started.
Workflow
- Rebase Early, Rebase Often! We use a rebase workflow. Always rebase on the target branch before submitting a PR.
- Dependabot: Automated dependency updates are managed via Dependabot. Review and merge dependency PRs promptly.
- Signed Commits: All commits must be PGP/GPG signed. See GitHub's signing guide.
- DCO Sign-off: Every commit must carry a
Signed-off-byline:
`` git commit -s -S -m "your commit message" ``
- GitHub Actions Policy: Workflows may only use actions that are (a) owned by
owncloud, (b) created by GitHub (actions/*), or (c) verified in the GitHub Marketplace.
Security
Do not open a public GitHub issue for security vulnerabilities.
Report vulnerabilities at **** -- see [SECURITY.md](SECURITY.md).
Bug bounty: YesWeHack ownCloud Program
License
This project is licensed under the [Apache-2.0](LICENSE).
About the ownCloud OSPO
The Kiteworks Open Source Program Office, operating under the ownCloud brand, launched on May 5, 2026, to steward the open source ecosystem around ownCloud's products. The OSPO ensures transparent governance, license compliance, community health, and sustainable collaboration between the open source community and Kiteworks, which acquired ownCloud in 2023.
- OSPO Home:
- GitHub:
- ownCloud:
For questions about the OSPO or licensing, contact ospo@kiteworks.com.
> License status: This repository is already licensed under Apache-2.0 -- the OSPO target license. > No migration is required.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: owncloud
- Source: owncloud/ocis-mcp-server
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.