Ocis
FreeNot checkedMCP server exposing ownCloud Infinite Scale (oCIS) as 80 AI-accessible tools
About
MCP server exposing ownCloud Infinite Scale (oCIS) as 80 AI-accessible tools
README
License ownCloud OSPO Docker Hub
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 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
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.
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="<token>"
OIDC (alternative):
export OCIS_MCP_AUTH_MODE="oidc"
export OCIS_MCP_OIDC_ACCESS_TOKEN="<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 <secret> 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 requiresAuthorization: Bearer <secret>on every/mcprequest and rejects others with401. Configure your MCP client to send that header. - Non-loopback binds require a secret. When
OCIS_MCP_TRANSPORT=httpbinds a non-loopback address (for example0.0.0.0:8090, a routable IP, or a bare:8090) and noOCIS_MCP_HTTP_SECRETis set, the server refuses to start. Binding the default127.0.0.1:8090without 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
/mcpdirectly 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 and our Code of Conduct 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 https://security.owncloud.com -- see SECURITY.md.
Bug bounty: YesWeHack ownCloud Program
License
This project is licensed under the Apache-2.0.
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: https://kiteworks.com/opensource
- GitHub: https://github.com/owncloud
- ownCloud: https://owncloud.com
For questions about the OSPO or licensing, contact [email protected].
License status: This repository is already licensed under Apache-2.0 -- the OSPO target license. No migration is required.
Installing Ocis
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/owncloud/ocis-mcp-serverFAQ
Is Ocis MCP free?
Yes, Ocis MCP is free — one-click install via Unyly at no cost.
Does Ocis need an API key?
No, Ocis runs without API keys or environment variables.
Is Ocis hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Ocis in Claude Desktop, Claude Code or Cursor?
Open Ocis on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Ocis with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
