A minimal Model Context Protocol (MCP) server for Alfresco providing tools via the Alfresco REST API
- Ticket-based Authentication: Uses Alfresco authentication tickets
- Multiple Transport Modes: Supports stdio, SSE, and HTTP
- Docker Support: Configurable container for all transport modes
- Python 3.11+
- Alfresco instance (with REST API accessible)
- Alfresco authentication ticket
-
Clone or create the project directory with all files
-
Install dependencies:
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt- Set environment variable:
export ALFRESCO_HOST=http://your-alfresco-host:8080npm install -g @modelcontextprotocol/inspectorStart the server using streamable-http transport mode
python alfresco_mcp_server.py --transport http --host 127.0.0.1 --port 8003Start the MCP Inspector
mcp-inspector --config ./mcp.jsonYou 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.
python alfresco_mcp_server.pyfastmcp dev alfresco_mcp_server.py --transport http --port 8003fastmcp dev alfresco_mcp_server.py --transport sse --port 8003docker build -t alfresco-mcp-server .docker run -it --rm \
-e ALFRESCO_HOST=http://your-alfresco-host:8080 \
alfresco-mcp-serverdocker run -d --rm \
-e ALFRESCO_HOST=http://your-alfresco-host:8080 \
-e TRANSPORT_MODE=http \
-e HTTP=8003 \
-p 8003:8003 \
alfresco-mcp-serverdocker run -d --rm \
-e ALFRESCO_HOST=http://your-alfresco-host:8080 \
-e TRANSPORT_MODE=sse \
-e HTTP=8003 \
-p 8003:8003 \
alfresco-mcp-serverservices:
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| Variable | Description | Default |
|---|---|---|
ALFRESCO_HOST |
Base URL of Alfresco instance | http://localhost:8080 |
TRANSPORT_MODE |
Transport mode (stdio/http/sse) | stdio |
HTTP |
Port for HTTP/SSE modes | 8003 |