Alfresco MCP Chat

Alfresco MCP Chat

Turns hundreds of Alfresco MCP REST endpoints into a small set of tools for a local LLM, enabling natural language interaction with Alfresco while keeping everything local and secure.

Category
Visit Server

README

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 chat

Assumes

  • Ollama 0.4+ with model mistral
  • Port 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 make venv 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 sets

5. Everyday commands

Target Action
make venv create .venv + install uv
make lock regenerate requirements.lock
make deps install exact lockfile versions
make server run FastAPI server
make client run Rich CLI
make clean remove venv, lockfile, byte-code

6. Configuration (.env or shell)

Var Default Purpose
MCP_URL http://localhost:3333/mcp client > server URL
OLLAMA_MODEL mistral model name/tag
PORT 3333 server port override
ALFRESCO_URL http://localhost:8080 MCP back-end
ALFRESCO_USER admin username
ALFRESCO_PASS admin password

7. How it works

User > Router > 20 tool specs > LLM > HTTP call > Alfresco

7.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.json

9. Dependency workflow

  1. Edit pyproject.toml.
  2. make lock to rewrite requirements.lock.
  3. make deps to 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured