Home / MCP / Python Alfresco MCP Server
Provides a feature-rich MCP server for Alfresco Content Services with search, metadata, and document lifecycle actions.
Configuration
View docs{
"mcpServers": {
"alfresco_stdio": {
"command": "uvx",
"args": [
"python-alfresco-mcp-server",
"--transport",
"stdio"
],
"env": {
"ALFRESCO_URL": "http://localhost:8080",
"ALFRESCO_USERNAME": "admin",
"ALFRESCO_PASSWORD": "admin",
"ALFRESCO_VERIFY_SSL": "false"
}
}
}
}You can run the Python Alfresco MCP Server to enable powerful content management and search capabilities against Alfresco Content Services. It provides an MCP server with tools for full text search, metadata queries, CMIS-like searches, document lifecycle actions, and repository information. You can run it locally or over HTTP/SSE transports and connect client tools to perform operations like uploading, downloading, searching, and managing node properties.
Once you have the MCP server running, connect an MCP client such as Claude Desktop or MCP Inspector to perform operations against your Alfresco server. Start with a stdio transport for fastest local interactions, or use HTTP for web-based testing and SSE for real-time updates. Typical workflows include searching for documents, uploading new files, editing properties, and managing folders. Each tool is accessed through your MCP client, and the client will prompt you for any required parameters.
Prerequisites you need before installation:
Install a modern tool runner to simplify running the MCP server. You can use UVX or UV. The recommended approach is UVX for automatic isolation and global availability.
Option A: UVX plan (recommended) โ install and run the MCP server using UVX.
# Install UV (if not already installed)
pip install uv
# Install UVX via its script or package manager instructions, then run the MCP server
uvx python-alfresco-mcp-server --help
# Start the MCP server with STDIO transport (default)
uvx python-alfresco-mcp-server
# Start the MCP server with HTTP transport (optional)
uvx python-alfresco-mcp-server --transport http --host 127.0.0.1 --port 8003
# Start the MCP server with SSE transport (optional)
uvx python-alfresco-mcp-server --transport sse --host 127.0.0.1 --port 8001Option B: UV plan (development) โ run the MCP server via UV in a development setup.
uv run python-alfresco-mcp-server
uv run python-alfresco-mcp-server --transport http --host 127.0.0.1 --port 8003
uv run python-alfresco-mcp-server --transport sse --host 127.0.0.1 --port 8001Option C: Traditional methods (pip/pipx) โ install and run the MCP server using pip or pipx. After installation, start the server with the same transport options as above.
Environment configuration for Alfresco connection (examples shown here). Set these variables in your shell or a .env file, then start the MCP server.
# Linux/macOS
export ALFRESCO_URL="http://localhost:8080"
export ALFRESCO_USERNAME="admin"
export ALFRESCO_PASSWORD="admin"
export ALFRESCO_VERIFY_SSL="false"
# Windows PowerShell
$env:ALFRESCO_URL="http://localhost:8080"
$env:ALFRESCO_USERNAME="admin"
$env:ALFRESCO_PASSWORD="admin"
$env:ALFRESCO_VERIFY_SSL="false"
# Windows Command Prompt
set ALFRESCO_URL=http://localhost:8080
set ALFRESCO_USERNAME=admin
set ALFRESCO_PASSWORD=admin
set ALFRESCO_VERIFY_SSL=falseAlfresco must be running to interact with the MCP Server. If you do not have an Alfresco server, you can start a Community edition via Docker Compose. Ensure the container ports align with the MCP server configuration. The MCP server supports multiple transports (STDIO, HTTP, SSE) to suit your testing and production needs.
You can review and adjust the Alfresco connection through environment variables or a .env file to simplify deployment across development and production environments.
To test connectivity and capabilities, use Claude Desktop or MCP Inspector configured to point at the MCP server transport you selected (stdio or http). Claude Desktop will prompt you per tool when you first use them, granting access as needed.
For fast testing, start the MCP server with the stdio transport and connect Claude Desktop with the udp-stdio configuration. For web-service testing, use the HTTP transport and point your MCP Inspector to http://127.0.0.1:8003.
Security: consider enabling OAuth 2.1 in Enterprise deployments if your environment requires it, and ensure SSL verification settings match your Alfresco deployment.
{
"mcpServers": {
"alfresco_stdio": {
"type": "stdio",
"name": "alfresco_stdio",
"command": "uvx",
"args": ["python-alfresco-mcp-server", "--transport", "stdio"]
},
"alfresco_stdio_uv": {
"type": "stdio",
"name": "alfresco_stdio_uv",
"command": "uv",
"args": ["run", "python-alfresco-mcp-server", "--transport", "stdio"]
}
}
}The server exposes a set of 15 tools and supporting resources to interact with Alfresco Content Services, including full text search, advanced search, metadata search, CMIS-like queries, file uploads, downloads, and repository information. Use a client to perform these actions and adjust authentication and connection details as needed.
Search documents and folders by text with optional max results and node type filtering
Perform advanced searches using query language with filters and sort options
Query documents by metadata properties using operators such as equals and contains
Run CMIS SQL-like queries for complex content discovery
Browse repository folders and nodes by ID
Get information about the repository, version, and modules
Upload a new document with filename, base64 content, parent folder, and description
Download document content by node ID and save to disk
Create a new folder under a parent node with a name and description
Retrieve metadata for a given node
Update metadata such as name, title, description, and author for a node
Delete a node, with option for permanent removal
Check out a document for editing with optional download for editing
Check in after editing with a comment and version option
Cancel an active checkout to unlock a node