Alfresco MCP Chat
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Alfresco MCP Chatfind all documents modified in the last week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Alfresco MCP Chat (hyland-mcp-gen)
Status: early-stage proof-of-concept
Turns hundreds Alfresco MCP REST endpoints into a 20-50-tool control plane a local LLM can handle. Everything runs on a laptop: FastAPI server + FastMCP + Ollama (default model mistral). The key is a lightweight router that selects only the relevant tools for each user query.
1. Why it exists
Shrink the API surface, so the LLM never sees the full MCP spec
Stay local-first, no cloud calls, perfect for local development
Be hackable: flat repo, single-file entry points, Make targets
2. Quick start
git clone https://github.com/your-org/hyland-mcp-gen.git
cd hyland-mcp-gen
make venv # python -m venv .venv && pip install -U pip uv
make deps # uv pip sync requirements.lock
make server # FastAPI server on :3333
ollama run mistral # start the model in another terminal
make client # Rich CLI chatAssumes
Ollama 0.4+ with model
mistralPort 3333 free
Alfresco 25.x at
http://localhost:8080(override via.env)
3. Requirements
Layer | Version | Why |
Python | 3.10–3.13 | async + pattern-matching |
make | any | convenience, optional |
Ollama | 0.4+ | local LLM |
FastMCP | pinned | agent framework |
Rich | 13.x | streaming CLI |
Alfresco MCP | 25.x | back-end |
uv | installed by | fast resolver |
No extra system libraries.
4. Project layout
hyland-mcp-gen/
* Makefile # venv, lock, deps, server, client
* pyproject.toml # top-level deps
* requirements.lock # fully pinned set
* server.py # FastAPI + FastMCP
* chat_service.py # Rich CLI
* generate_mcp_tools.py # Swagger/OpenAPI > JSON tools
* alfresco_*_tools.json # sample tool sets5. Everyday commands
Target | Action |
| create |
| regenerate |
| install exact lockfile versions |
| run FastAPI server |
| run Rich CLI |
| remove venv, lockfile, byte-code |
6. Configuration (.env or shell)
Var | Default | Purpose |
|
| client > server URL |
|
| model name/tag |
|
| server port override |
|
| MCP back-end |
|
| username |
|
| password |
7. How it works
User > Router > 20 tool specs > LLM > HTTP call > Alfresco7.1 Tool generation (generate_mcp_tools.py)
Accepts Swagger 2 / OpenAPI 3 URL or file.
Resolves
$ref, drops noise, adds examples.Emits OpenAI-style JSON tools.
7.2 Router (RouterBuilder)
Counts path segments, removes stop-words, promotes frequent nouns (
case,rendition, ...) to entities.Clusters endpoints per entity; each cluster = agent.
Scores agents against query terms; top agents donate tools (hard-capped < 20).
Typical reduction: hundreds > 15-35 tools in < 50 ms.
7.3 Executor (FastMCP + httpx)
Fills path/query/body params, keeps connections hot, streams JSON or text.
Errors surface directly in CLI for fast debugging.
8. Regenerate tool sets
python generate_mcp_tools.py \
--input https://api-explorer.alfresco.com/api-explorer/definitions/alfresco-core.yaml \
--output alfresco_core_tools.json9. Dependency workflow
Edit
pyproject.toml.make lockto rewriterequirements.lock.make depsto install. CI/prod install from the lock file only.
Clever routing beats massive context: Alfresco MCP Chat keeps the model fast, local, and secure while still exposing the full power of Alfresco’s API surface
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aborroy/hyland-mcp-gen'
If you have feedback or need assistance with the MCP directory API, please join our Discord server