Alfresco MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level | INFO |
| ALFRESCO_URL | No | Alfresco server URL | http://localhost:8080 |
| FASTAPI_HOST | No | FastAPI host | localhost |
| FASTAPI_PORT | No | FastAPI port | 8000 |
| MAX_FILE_SIZE | No | Max upload size (bytes) | 100000000 |
| MCP_AUTH_ISSUER | No | Optional strict issuer check (must be HTTPS) | |
| ALFRESCO_TIMEOUT | No | Request timeout (seconds) | 30 |
| ALFRESCO_PASSWORD | No | Password (basic/ticket) | admin |
| ALFRESCO_USERNAME | No | Username (basic/ticket) | admin |
| MCP_AUTH_AUDIENCE | No | Optional audience check | |
| MCP_AUTH_JWKS_URI | No | IdP JWKS endpoint used to validate bearer tokens | |
| MCP_TRANSPORT_AUTH | No | Require OAuth2 bearer to call the MCP server (HTTP/SSE only) | false |
| ALFRESCO_VERIFY_SSL | No | Verify SSL certificates | false |
| ALFRESCO_AUTH_METHOD | No | Auth method: basic | ticket | oauth2 | basic |
| ALFRESCO_OAUTH2_CLIENT_ID | No | OAuth2 client id (oauth2) | |
| ALFRESCO_OAUTH2_GRANT_TYPE | No | client_credentials | refresh_token | client_credentials |
| ALFRESCO_OAUTH2_ACCESS_TOKEN | No | Pre-obtained access token (optional, oauth2) | |
| ALFRESCO_OAUTH2_CLIENT_SECRET | No | OAuth2 client secret (oauth2) | |
| ALFRESCO_OAUTH2_REFRESH_TOKEN | No | Refresh token (optional, oauth2) | |
| ALFRESCO_OAUTH2_TOKEN_ENDPOINT | No | OAuth2 token endpoint (oauth2) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_contentB | Search for content in Alfresco using AFTS query language. |
| advanced_searchD | Advanced search with sorting and filtering capabilities. |
| search_by_metadataC | Search for content in Alfresco by metadata fields. |
| cmis_searchC | Search using CMIS SQL syntax. Default query searches for PDF documents. |
| browse_repositoryC | Browse the Alfresco repository structure. |
| upload_documentC | Upload a document to Alfresco. |
| download_documentC | Download a document from Alfresco repository. |
| create_folderC | Create a new folder in Alfresco. |
| get_node_propertiesC | Get metadata and properties of a document or folder. |
| update_node_propertiesC | Update metadata and properties of a document or folder. |
| delete_nodeC | Delete a document or folder from Alfresco. |
| checkout_documentC | Check out a document for editing using Alfresco REST API. |
| checkin_documentC | Check in a document after editing using Alfresco REST API. |
| cancel_checkoutA | Cancel checkout of a document, discarding any working copy. |
| get_repository_info_toolA | Get Alfresco repository information using Discovery Client (as tool instead of resource). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| search_and_analyze | 🔎 Generate comprehensive search and analysis steps for Alfresco documents with customizable analysis types |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| repository_info | 📊 Live Alfresco repository information including version, edition, and connection status |
TDQS
Scored across 15 tools
Four search tools (search_content, advanced_search, search_by_metadata, cmis_search) have overlapping purposes and an agent could easily misselect between them, especially since advanced_search and search_by_metadata may be subsets of the AFTS search. The remaining content management tools are distinct, but the search cluster creates ambiguity.
Most tools follow a verb_noun pattern (upload_document, create_folder, delete_node), but search tools mix conventions: advanced_search is adjective_noun, search_by_metadata uses a preposition, and cmis_search is a noun-qualified verb. Also, get_repository_info_tool has an awkward 'tool' suffix, breaking the pattern.
At 15 tools, the set is within the ideal range for a domain-specific server and each tool addresses a distinct functional need (search, navigation, document operations, repository info). No tools feel redundant or unnecessary, even with multiple search variants.
The server covers core CRUD for nodes, search, browse, checkout/checkin, and property management. Missing operations like copy/move, document content update, and version history are minor gaps for an Alfresco integration, but the main workflows are supported without dead ends.