简单Alfresco代理网
一个比较三种路由选项的实践实验室(谨慎, LangGraph, 调用Index)在相同的Alfresco设置上
这 mcp客户端 始终与中可用的MCP服务器通信 localhost:8085;一次启用一个路由器,然后扇出 MCP审计 和 MCP文件,两人交谈 Alfresco存储库
旋转的堆栈:
- Alfresco社区存储库,包括Audit示例配置
- 两台MCP服务器:
- 审核MCP - Spring AI,流式HTTP(公开以审计为中心的工具) - 源代码可在https://github.com/jottley/alfresco-mcp - MCP文件 - python alfresco-mcp 服务器(内容/doc工具) - 源代码可在https://github.com/stevereiner/python-alfresco-mcp-server
- MCP路由器/编排器(cagent、LangGraph或LlamaIdex):对用户提示进行分类并将MCP调用转发到正确后端的服务(*审计* 兽医 *文档*)
设计易于在本地运行,易于理解,是构建更复杂的代理网格的好模板
里面是什么
.
├── agent-mesh-tools
│ ├── cagent/ # Router with Docker cagent (LLM required)
│ ├── langgraph/ # Router with LangGraph (deterministic, no LLM)
│ └── llamaindex/ # Router with LlamaIndex (LLM required)
├── alfresco-agents
│ ├── alfresco/ # Alfresco Community stack (Repo, Share, Search, etc.)
│ ├── alfresco-mcp-audit/ # MCP Audit server
│ ├── alfresco-mcp-server/ # MCP Docs server
│ └── compose.yaml # Always-on: Repo + MCP backends
├── mcp-client/ # Client used to test the active router
└── compose.yaml # Root compose with `include:` and profiles per router
建筑
flowchart LR
%% Client
C[mcp-client]
%% Routers
subgraph Routers
CA[cagent - local app]
LG[langgraph - router:8085]
LI[llamaindex - router:8085]
end
%% MCP backends
subgraph MCP["MCP Servers"]
AU[MCP Audit - 8081]
DO[MCP Docs - 8003]
end
%% Alfresco core
subgraph Alfresco
RE[Alfresco Repository - 8080]
end
%% Connections
C --> CA
C --> LG
C --> LI
CA --> AU
CA --> DO
LG --> AU
LG --> DO
LI --> AU
LI --> DO
AU --> RE
DO --> RE- 这 路由器 是客户端的单个MCP端点
- 它 *分类* 每个请求和 *代表* 要么 审核MCP 或 MCP文件 基于流式HTTP的后端
- 两个后端都在与 露天
路由器概览(选择一个)
- LangGraph — *确定性路由器,无需LLM*非常适合可重复的流程和简单、可审计的路由规则。
- 调用Index — *LLM驱动的刀具布线*.使用该模型在审计/文档工具之间进行选择;更具适应性的需要LLM。
- 谨慎 — *LLM驱动的代理运行时(YAML)* 具有一流的MCP工具集成。它作为CLI/TUI代理独立运行,如中所述
需求
- Docker和Docker Compose v2+
需要运行全栈(Alfresco、MCP服务器、路由器、客户端)。
- 系统资源
至少8 GB RAM可用,建议使用4个CPU内核。
- 开放端口
- 8080>Alfresco知识库 - 8081>MCP审计 - 8003>MCP文档 - 8085>活动路由器(LangGraph或LlamaIdex)
- LLM运行时
- 对于 cagent LlamaIdex,需要法学硕士学位 - 这个实验室使用 没有 使用本地模型 gpt-oss - 启动前,确保Olama已安装并拉动模型:
ollama pull gpt-oss- 无需法学硕士
- LangGraph路由器在没有LLM的情况下工作稳定
快速启动
- 启动Alfresco社区+MCP后端
docker compose up --build- 只激活一个路由器(两者都暴露
:8085):
docker compose --profile langgraph up -ddocker compose --profile llamaindex up -d对于 cagent 按照中的步骤进行操作 - 用客户端测试(总是点击8085)
docker compose -f mcp-client/compose.yaml run --rm mcp-client- 交换路由器(保持Alfresco运行)
docker compose --profile langgraph down
docker compose --profile llamaindex up --build示例提示(复制/粘贴)
\[文件\]
> I need to search for documents in Alfresco. Can you search for:
* Documents containing "budget"
* Maximum 5 results\[审计\]
> List Alfresco audit apps> List Alfresco audit entries for audit app "search"提示:
- 如果你的路由器 *LangGraph*,路由是基于规则的--日志/保留/合规性> 审计;搜索/元数据/格式转换/转换> 文档
- 如果是 *调用Index* 或 *谨慎*,确保配置了模型(例如,OpenAI/Anthropic/GGemini或通过Docker model Runner配置的本地模型)
实验室流程(推荐)
- 打开Alfresco+MCP(等待健康)
- 首先启动LangGraph(无需按键)并运行上面的提示
- 停止LangGraph,启动LlamaIndex;重复提示,观察路线/答案的差异
- 停止LlamaIdex,按照中的步骤操作
许可证
此存储库在 Apache 2.0 许可证(参见 LICENSE). 上游组件维护自己的许可证。
