
Nuxeo MCP Server
概览
A Model Context Protocol (MCP) server for interacting with a Nuxeo Content Repository Server. This server provides tools, resources, and prompt templates for AI assistants to interact with Nuxeo content repositories. - 🔄 Connect to a Nuxeo Content Repository Server - 🛠️ MCP Tools for common Nuxeo operations (query, retrieve, create, update, delete documents) - 🔍 Document search with NXQL, or by meaning on servers with vector search, returning a normalized result envelope - ⚡ Query DSL search - raw Elasticsearch/OpenSearch request bodies for aggregations, highlighting and sorting - 🔐 Audit log search - Query DSL against the audit index (admin only) - 🔒 OAuth2 authentication - browser-based, with token storage - 📚 MCP Resources for accessing Nuxeo content - 🧩 MCP Resource Templates for dynamic content access - 📖 Guide resources - NXQL syntax, and the indexed field names for both Query DSL tools - 🐳 Docker support for testing with a Nuxeo server - 🧪 Comprehensive test suite...
README
以下为原文 README 节选,完整内容请查看原文。
Nuxeo MCP Server
A Model Context Protocol (MCP) server for interacting with a Nuxeo Content Repository Server. This server provides tools, resources, and prompt templates for AI assistants to interact with Nuxeo content repositories.
Features
- 🔄 Connect to a Nuxeo Content Repository Server
- 🛠️ MCP Tools for common Nuxeo operations (query, retrieve, create, update, delete documents)
- 🔍 Document search with NXQL, or by meaning on servers with vector search, returning a normalized result envelope
- ⚡ Query DSL search - raw Elasticsearch/OpenSearch request bodies for aggregations, highlighting and sorting
- 🔐 Audit log search - Query DSL against the audit index (admin only)
- 🔒 OAuth2 authentication - browser-based, with token storage
- 📚 MCP Resources for accessing Nuxeo content
- 🧩 MCP Resource Templates for dynamic content access
- 📖 Guide resources - NXQL syntax, and the indexed field names for both Query DSL tools
- 🐳 Docker support for testing with a Nuxeo server
- 🧪 Comprehensive test suite with pytest
Requirements
- Python 3.11+
- Nuxeo Server (can be run via Docker)
- Docker (for testing)
Account Privileges
The MCP server connects to Nuxeo using the credentials you provide through configuration — the NUXEO_USERNAME/NUXEO_PASSWORD environment variables, or OAuth2 (see below). There is no default: with Basic authentication the server refuses to start unless both NUXEO_USERNAME and NUXEO_PASSWORD are set. Whichever account is configured is the identity Nuxeo uses to enforce ACLs — the server does not assume or force an administrator. Most tools work with any authenticated Nuxeo user; administrator privileges are not required for day-to-day operations.
| Privilege | Tools |
|---|---|
| Any authenticated user | nuxeo_get_repository_info, nuxeo_list_children, nuxeo_search_documents, nuxeo_search_documents_with_query_dsl, nuxeo_get_document, nuxeo_create_document, nuxeo_update_metadata, nuxeo_delete_document, nuxeo_move_document, nuxeo_list_document_types, nuxeo_get_metadata_schema, nuxeo_list_operations |
| Administrator only | nuxeo_search_audit_with_query_dsl — the Nuxeo ES passthrough enforces this server-side and returns HTTP 403 for non-admins, which the MCP tool surfaces as a clear permission error |
| Depends on operation | nuxeo_execute_operation — privilege is determined by the specific Nuxeo Automation operation invoked; enforced server-side |
Using a least-privilege account (a regular Nuxeo user) is recommended for production deployments.
安装
docker run -p 8181:8181 --name nuxeo-mcp \