alfresco-mcp-server

AlfrescoLabs/alfresco-mcp-server

3.1

If you are the rightful owner of alfresco-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Alfresco MCP Server is a minimal Model Context Protocol server designed to interface with Alfresco via its REST API, offering multiple transport modes and Docker support.

Alfresco MCP Server

A minimal Model Context Protocol (MCP) server for Alfresco providing tools via the Alfresco REST API

Features

  • Ticket-based Authentication: Uses Alfresco authentication tickets
  • Multiple Transport Modes: Supports stdio, SSE, and HTTP
  • Docker Support: Configurable container for all transport modes

Prerequisites

  • Python 3.11+
  • Alfresco instance (with REST API accessible)
  • Alfresco authentication ticket

Installation

Local Setup

  1. Clone or create the project directory with all files

  2. Install dependencies:

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
  1. Set environment variable:
export ALFRESCO_HOST=http://your-alfresco-host:8080

Testing Locally with MCP Inspector

1. Install MCP Inspector (only once)

npm install -g @modelcontextprotocol/inspector

2. Run the server with Inspector

Start the server using streamable-http transport mode

python alfresco_mcp_server.py --transport http --host 127.0.0.1 --port 8003

Start the MCP Inspector

mcp-inspector --config ./mcp.json

Getting an Alfresco Ticket

You need to authenticate with Alfresco first to get a ticket. You can do this via:

curl -X POST "http://localhost:8080/alfresco/api/-default-/public/authentication/versions/1/tickets" \
  -H "Content-Type: application/json" \
  -d '{"userId":"admin","password":"admin"}'

This returns a JSON response with an id field containing your ticket.

Running with FastMCP Directly

STDIO Mode (default)

python alfresco_mcp_server.py

HTTP Mode

fastmcp dev alfresco_mcp_server.py --transport http --port 8003

SSE Mode

fastmcp dev alfresco_mcp_server.py --transport sse --port 8003

Docker Usage

Build the Image

docker build -t alfresco-mcp-server .

Run in Different Modes

STDIO Mode (default)
docker run -it --rm \
  -e ALFRESCO_HOST=http://your-alfresco-host:8080 \
  alfresco-mcp-server
HTTP Mode
docker run -d --rm \
  -e ALFRESCO_HOST=http://your-alfresco-host:8080 \
  -e TRANSPORT_MODE=http \
  -e HTTP=8003 \
  -p 8003:8003 \
  alfresco-mcp-server
SSE Mode
docker run -d --rm \
  -e ALFRESCO_HOST=http://your-alfresco-host:8080 \
  -e TRANSPORT_MODE=sse \
  -e HTTP=8003 \
  -p 8003:8003 \
  alfresco-mcp-server

Docker Compose Example

services:
  alfresco-mcp:
    build: .
    environment:
      - ALFRESCO_HOST=http://alfresco:8080
      - TRANSPORT_MODE=http  # or sse, stdio
      - HTTP=8003
    ports:
      - "8003:8003"  # Only needed for http/sse modes

Environment Variables

VariableDescriptionDefault
ALFRESCO_HOSTBase URL of Alfresco instancehttp://localhost:8080
TRANSPORT_MODETransport mode (stdio/http/sse)stdio
HTTPPort for HTTP/SSE modes8003