Skip to main content
Glama

Nextcloud MCP Server

by cbcoutinho
pyproject.toml4.68 kB
[project] name = "nextcloud-mcp-server" version = "0.48.3" description = "Model Context Protocol (MCP) server for Nextcloud integration - enables AI assistants to interact with Nextcloud data" authors = [ {name = "Chris Coutinho", email = "chris@coutinho.io"} ] readme = "README.md" license = {text = "AGPL-3.0-only"} requires-python = ">=3.11" keywords = ["nextcloud", "mcp", "model-context-protocol", "llm", "ai", "claude", "webdav", "caldav", "carddav"] dependencies = [ "mcp[cli] (>=1.22,<1.23)", "httpx (>=0.28.1,<0.29.0)", "pillow (>=10.3.0,<12.0.0)", # Compatible with fastembed "icalendar (>=6.0.0,<7.0.0)", "pythonvcard4>=0.2.0", "pydantic>=2.11.4", "click>=8.1.8", "caldav", "pyjwt[crypto]>=2.8.0", "aiosqlite>=0.20.0", # Async SQLite for refresh token storage "authlib>=1.6.5", "qdrant-client>=1.7.0", "fastembed>=0.7.3", # BM25 sparse vector embeddings for hybrid search "anthropic>=0.42.0", # For RAG evaluation with Anthropic LLMs "boto3>=1.35.0", # For Amazon Bedrock provider (optional) # Observability dependencies "prometheus-client>=0.21.0", # Prometheus metrics "opentelemetry-api>=1.28.2", # OpenTelemetry API "opentelemetry-sdk>=1.28.2", # OpenTelemetry SDK "opentelemetry-instrumentation-asgi>=0.49b2", # Auto-instrument ASGI/Starlette "opentelemetry-instrumentation-httpx>=0.49b2", # Auto-instrument httpx client "opentelemetry-instrumentation-logging>=0.49b2", # Logging integration "opentelemetry-exporter-otlp-proto-grpc>=1.28.2", # OTLP gRPC exporter "python-json-logger>=3.2.0", # Structured JSON logging "jinja2>=3.1.6", "langchain-text-splitters>=1.0.0", "pymupdf>=1.26.6", "pymupdf4llm>=0.2.2", "pymupdf-layout>=1.26.6", "openai>=2.8.1", ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Communications", "Topic :: Internet :: WWW/HTTP", ] [project.urls] Homepage = "https://github.com/cbcoutinho/nextcloud-mcp-server" Documentation = "https://github.com/cbcoutinho/nextcloud-mcp-server#readme" Repository = "https://github.com/cbcoutinho/nextcloud-mcp-server" "Bug Tracker" = "https://github.com/cbcoutinho/nextcloud-mcp-server/issues" Changelog = "https://github.com/cbcoutinho/nextcloud-mcp-server/blob/master/CHANGELOG.md" [tool.pytest.ini_options] anyio_mode = "auto" addopts = "-p no:asyncio -x" # Disable pytest-asyncio plugin, use only anyio log_cli = 1 log_cli_level = "ERROR" log_level = "ERROR" markers = [ "unit: Fast unit tests with mocked dependencies", "integration: Integration tests requiring Docker containers", "oauth: OAuth tests requiring Playwright (slowest)", "smoke: Critical path smoke tests for quick validation", "keycloak: OAuth tests that utilize keycloak external identity provider", ] testpaths = [ "tests", ] # Timeout settings to prevent tests from hanging indefinitely timeout = 180 # 3 minutes default timeout per test (includes fixture setup) timeout_func_only = false # Timeout includes fixture setup/teardown [tool.commitizen] name = "cz_conventional_commits" tag_format = "v$version" version_scheme = "pep440" version_provider = "uv" update_changelog_on_bump = true major_version_zero = true version_files = [ "charts/nextcloud-mcp-server/Chart.yaml:appVersion", "charts/nextcloud-mcp-server/Chart.yaml:version" ] ignored_tag_formats = [ "nextcloud-mcp-server-*" ] [tool.ruff.lint] extend-select = ["I"] [tool.uv.sources] caldav = { git = "https://github.com/cbcoutinho/caldav", branch = "feature/httpx" } [build-system] requires = ["uv_build>=0.9.4,<0.10.0"] build-backend = "uv_build" [tool.uv.build-backend] module-name = "nextcloud_mcp_server" module-root = "" [dependency-groups] dev = [ "commitizen>=4.8.2", "datasets>=3.3.0", # For BeIR nfcorpus dataset loading "ipython>=9.2.0", "playwright>=1.49.1", "pytest>=8.3.5", "pytest-cov>=6.1.1", "pytest-mock>=3.15.1", "pytest-playwright-asyncio>=0.7.1", "pytest-timeout>=2.3.1", "ruff>=0.11.13", "reportlab>=4.0.0", "ty>=0.0.1a25", ] [project.scripts] nextcloud-mcp-server = "nextcloud_mcp_server.cli:run" smithery-main = "nextcloud_mcp_server.smithery_main:main" [[tool.uv.index]] name = "testpypi" url = "https://test.pypi.org/simple/" publish-url = "https://test.pypi.org/legacy/" explicit = true

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cbcoutinho/nextcloud-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server