SkillAgentSearch skills...

alfresco-mcp-sample

How to use Alfresco MCP Server in a sample project

Install / Use

claude mcp add aborroy -- npx -y github:aborroy/alfresco-mcp-sample

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

67/100

Category

Operations

Supported Platforms

Claude Code
Claude Desktop

Alfresco MCP Sample

This project demonstrates how to use Alfresco MCP Server in a sample project:

  1. Run the Alfresco MCP Server
  2. Call it from a small Spring Boot agent
  3. Trigger that agent from ACA

Tested With

  • Alfresco MCP Server 1.1.0
    • Alfresco MCP Server image angelborroy/alfresco-mcp-server:1.1.0
  • Spring AI 1.1.4
  • Java 21
  • Docker Model Runner model ai/gpt-oss

Start Here

Prerequisites

  • Alfresco Content Services running at http://localhost:8080
  • Docker Desktop with Model Runner enabled
  • A model pulled in Model Runner:
docker model pull ai/gpt-oss

1. Configure the repo

cp .env.example .env

For the core demo, the default values are enough in most local setups.

2. Start the core services

docker compose up -d

This starts:

  • Phase 1: Alfresco MCP Server on http://localhost:8003/mcp
  • Phase 2: Summarization agent on http://localhost:8081
  • Phase 3: ACA extension on http://localhost:4200

3. Check the agent

curl http://localhost:8081/health

Expected response:

{"status":"ok","mcp_server":"http://host.docker.internal:8003/mcp","model":"ai/gpt-oss"}

4. Get an Alfresco ticket

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

5. Summarize a document

curl -X POST http://localhost:8081/summarize/<nodeId> \
  -H "X-Alfresco-Ticket: TICKET_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

The agent:

  1. Calls get_pdf_rendition
  2. Extracts text with PDFBox
  3. Calls the LLM
  4. Writes the summary back with update_node_properties

6. Use the UI

Open http://localhost:4200 and use default credentials admin/admin

Choose action Summarize Description for a document, cm:description will be updated after a while with the summary.

Architecture

POST /summarize/{nodeId}
  -> Spring Boot agent
  -> MCP tool: get_pdf_rendition
  -> LLM summary
  -> MCP tool: update_node_properties

All Alfresco operations go through the MCP server. The agent does not call Alfresco REST directly.

Authentication

Tickets are passed at runtime:

  • HTTP clients send X-Alfresco-Ticket
  • The agent forwards that value as alf_ticket in each MCP tool call
  • MCP Inspector users pass alf_ticket directly in tool arguments

Tickets are not stored in .env.

Recommended Reading Order

Related Skills

View on GitHub
GitHub Stars3
CategoryOperations
Updated3mo ago
Forks0

Languages

JavaScript

Security Score

73/100

Audited on Apr 20, 2026

1 medium2 low1 info