Alfresco Content Services MCP server

Integrates with Alfresco Content Services to provide document search, upload, download, metadata management, and repository operations for enterprise content management workflows.
Back to servers
Setup instructions
Provider
stevereiner
Release date
Jun 24, 2025
Stats
5 stars

Python Alfresco MCP Server is a comprehensive Model Context Protocol server that connects to Alfresco Content Services, enabling seamless interactions with documents and folders through search capabilities, document management functions, and metadata operations. It supports multiple transport protocols and integrates with various MCP clients.

Installation

Prerequisites

  • Python 3.10+
  • Alfresco Content Services (Community or Enterprise)

Option 1: Install with UV/UVX (Recommended)

UV is a modern Python package manager written in Rust that offers improved performance:

# Install UV (provides both uv and uvx commands)
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS/Linux  
curl -LsSf https://astral.sh/uv/install.sh | sh

# Verify installation
uv --version
uvx --version

# Install and run with UVX
uvx python-alfresco-mcp-server --help

Option 2: Install with Traditional Methods

# Install with pip
pip install python-alfresco-mcp-server

# Install with pipx (isolated environment)
pipx install python-alfresco-mcp-server

Configure Alfresco Connection

Set up your Alfresco connection using environment variables or a .env file:

Environment Variables:

# Linux/Mac
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"

Or create a .env file:

ALFRESCO_URL=http://localhost:8080
ALFRESCO_USERNAME=admin
ALFRESCO_PASSWORD=admin
ALFRESCO_VERIFY_SSL=false

Starting the MCP Server

# Run with STDIO transport (default)
uvx python-alfresco-mcp-server

# HTTP transport (for web services/MCP Inspector)
uvx python-alfresco-mcp-server --transport http --host 127.0.0.1 --port 8003

# SSE transport (for real-time streaming)
uvx python-alfresco-mcp-server --transport sse --host 127.0.0.1 --port 8001

Client Configuration

Claude Desktop Setup

  1. Download Claude Desktop from claude.ai/download
  2. Configure Claude Desktop:

For UVX installation:

{
  "command": "uvx",
  "args": ["python-alfresco-mcp-server", "--transport", "stdio"]
}

For traditional installations:

{
  "command": "python-alfresco-mcp-server",
  "args": ["--transport", "stdio"]
}

MCP Inspector Setup (For Developers)

  1. Install MCP Inspector:
npm install -g @modelcontextprotocol/inspector
  1. Start the MCP Server with HTTP transport:
uvx python-alfresco-mcp-server --transport http --port 8003
  1. Start MCP Inspector:
npx @modelcontextprotocol/inspector --config mcp-inspector-http-uvx-config.json --server python-alfresco-mcp-server
  1. Open the browser URL provided in the output

Available Tools

Search Tools

  • search_content: Basic search for documents and folders
  • advanced_search: Advanced search with filters and date ranges
  • search_by_metadata: Search using document metadata/properties
  • cmis_search: SQL-like queries for complex searches

Document Management Tools

  • upload_document: Upload new documents to Alfresco
  • download_document: Download document content
  • checkout_document: Check out documents for editing
  • checkin_document: Check in documents after editing
  • cancel_checkout: Cancel document checkout

Repository Tools

  • browse_repository: Browse folder contents
  • create_folder: Create new folders
  • delete_node: Delete documents or folders
  • get_node_properties: View document/folder metadata
  • update_node_properties: Update document/folder metadata
  • repository_info: Get repository status and configuration

Example Usage

When using with Claude Desktop, mention Alfresco and what you want to do:

  1. Upload a document: "Please create a file called 'test_doc.txt' in the repository shared folder with this content: 'This is a test document created via MCP.'"

  2. Search for documents: "With Alfresco, please search for documents containing 'test' in their content"

  3. Check out and modify a document: "Check out the document I just uploaded, then check it back in with an updated version"

  4. Browse folders: "List documents and folders in the shared folder"

  5. Get repository information: "Show me information about the Alfresco repository"

Configuration Options

You can customize the MCP server behavior with these environment variables:

  • ALFRESCO_URL: Alfresco server URL (default: http://localhost:8080)
  • ALFRESCO_USERNAME: Username for authentication (default: admin)
  • ALFRESCO_PASSWORD: Password for authentication (default: admin)
  • ALFRESCO_VERIFY_SSL: Verify SSL certificates (default: false)
  • ALFRESCO_TIMEOUT: Request timeout in seconds (default: 30)
  • MAX_FILE_SIZE: Maximum upload size in bytes (default: 100000000)

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "python-alfresco-mcp-server" '{"command":"python","args":["-m","alfresco_mcp_server.fastmcp_server"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "python-alfresco-mcp-server": {
            "command": "python",
            "args": [
                "-m",
                "alfresco_mcp_server.fastmcp_server"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "python-alfresco-mcp-server": {
            "command": "python",
            "args": [
                "-m",
                "alfresco_mcp_server.fastmcp_server"
            ]
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later