Python Alfresco MCP Server v1.1是一款用于Alfresco内容服务的模型上下文协议(MCP)服务器,具备丰富的工具和功能,可用于搜索和内容管理。它提供了完整的文档、示例以及针对各种MCP客户端的配置,能帮助用户高效地进行内容管理和搜索操作。
你需要安装Python 3.10+,若未安装,可从Python.org Downloads下载最新的3.13.x版本。
UV 是用 Rust 编写的现代Python包管理器,提供 uv(包管理器)和 uvx(工具运行器)。由于其编译性质和优化的依赖解析,它比 pip 快得多。
# 安装UV(提供uv和uvx命令)
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# 或者通过pip安装
pip install uv
# 验证安装(两个命令都应正常工作)
uv --version
uvx --version
UV参考链接:
UVX 是UV的工具运行器,类似于 pipx,但更快、更现代。它会自动处理隔离和全局可用性:
# 使用uvx安装python-alfresco-mcp-server(在完成上述UV/UVX设置后)
uvx python-alfresco-mcp-server --help
# 这将测试安装是否成功 - UVX会在首次使用时自动安装包!
为什么选择UVX:UVX结合了 pipx(隔离环境 + 全局可用性)的优点,以及UV基于Rust的速度和现代依赖解析能力。它会在首次使用时自动安装包。
UV 是用 Rust 编写的现代Python包管理器,能自动处理一切。由于其编译性质和优化的依赖解析,它比 pip 快得多。
# 从PyPI安装并运行(对用户来说最快)
uv tool install python-alfresco-mcp-server
uv tool run python-alfresco-mcp-server --help # 测试安装是否成功
# 或者从源代码安装(用于开发)
git clone https://github.com/stevereiner/python-alfresco-mcp-server.git
cd python-alfresco-mcp-server
uv run python-alfresco-mcp-server --help # 测试安装是否成功
有关传统Python包管理方法,请参阅 使用pip和pipx安装。
注意:你仍然需要使用适当的配置来配置你的MCP客户端(Claude Desktop、MCP Inspector等)。有关客户端配置详细信息,请参阅下面的 MCP客户端设置和使用 部分。
若要进行开发或访问最新功能:
# 1. 克隆仓库
git clone https://github.com/stevereiner/python-alfresco-mcp-server.git
cd python-alfresco-mcp-server
# 2. UV会自动处理一切 - 立即运行!
uv run python-alfresco-mcp-server --help # 测试安装是否成功
# 或者为开发显式安装依赖项
uv sync # 基本依赖项
uv sync --extra dev # 包含开发工具
uv sync --extra test # 包含测试工具
uv sync --extra all # 包含所有内容
选项1:环境变量
# Linux/Mac
export ALFRESCO_URL="http://localhost:8080"
export ALFRESCO_USERNAME="admin"
export ALFRESCO_PASSWORD="admin"
export ALFRESCO_VERIFY_SSL="false"
# Windows PowerShell
$env:ALFRESCO_URL="http://localhost:8080"
$env:ALFRESCO_USERNAME="admin"
$env:ALFRESCO_PASSWORD="admin"
$env:ALFRESCO_VERIFY_SSL="false"
# Windows Command Prompt
set ALFRESCO_URL=http://localhost:8080
set ALFRESCO_USERNAME=admin
set ALFRESCO_PASSWORD=admin
set ALFRESCO_VERIFY_SSL=false
选项2:.env文件(推荐 - 跨平台)
# 复制sample-dot-env.txt到.env并进行自定义
# Linux/macOS
cp sample-dot-env.txt .env
# Windows
copy sample-dot-env.txt .env
# 编辑.env文件并设置你的配置
ALFRESCO_URL=http://localhost:8080
ALFRESCO_USERNAME=admin
ALFRESCO_PASSWORD=admin
ALFRESCO_VERIFY_SSL=false
注意:出于安全考虑,
.env文件不会被提交到git。请使用sample-dot-env.txt作为模板。
📖 有关完整的设置选项,请参阅 配置指南
如果你还没有安装Alfresco服务器,可以从Github获取社区版的Docker镜像:
git clone https://github.com/Alfresco/acs-deployment.git
切换到Docker Compose目录
cd acs-deployment/docker-compose
编辑community-compose.yaml
ports:
- "8161:8161" # Web控制台
#- "5672:5672" # AMQP
#- "61616:61616" # OpenWire
#- "61613:61613" # STOMP
使用Docker Compose启动Alfresco
docker-compose -f community-compose.yaml up
使用UVX(推荐 - 自动隔离和全局可用)
# 使用STDIO传输运行MCP服务器(默认)
uvx python-alfresco-mcp-server
# 使用HTTP传输进行Web服务(与MCP Inspector匹配)
uvx python-alfresco-mcp-server --transport http --host 127.0.0.1 --port 8003
# 使用SSE传输进行实时流
uvx python-alfresco-mcp-server --transport sse --host 127.0.0.1 --port 8001
使用UV(用于开发或源代码安装)
# 使用STDIO传输运行MCP服务器(默认)
uv run python-alfresco-mcp-server
# 使用HTTP传输进行Web服务(与MCP Inspector匹配)
uv run python-alfresco-mcp-server --transport http --host 127.0.0.1 --port 8003
# 使用SSE传输进行实时流
uv run python-alfresco-mcp-server --transport sse --host 127.0.0.1 --port 8001
使用传统方法(pip/pipx)
有关 pip 和 pipx 的使用说明,请参阅 使用pip和pipx安装。
Python-Alfresco-MCP-Server已在Claude Desktop上进行了测试,推荐将其作为最终用户的MCP客户端。同时,它也在MCP Inspector上进行了测试,推荐开发人员使用该工具来测试带有参数值的工具。
📖 完整设置指南:Claude Desktop设置指南
📥 下载Claude Desktop(免费版和专业版)
🔧 根据安装方法进行Claude Desktop配置 Claude Desktop的配置因MCP服务器的安装方式而异:
1. UVX(推荐 - 现代工具运行器)
{
"command": "uvx",
"args": ["python-alfresco-mcp-server", "--transport", "stdio"]
}
2. UV(开发或源代码安装)
{
"command": "uv",
"args": ["run", "python-alfresco-mcp-server", "--transport", "stdio"],
"cwd": "C:\\path\\to\\python-alfresco-mcp-server"
}
uv run 并将 cwd 指向你的 项目目录.venvuv tool install 之后3. 传统方法(pipx/pip) 有关传统安装方法,请参阅 使用pip和pipx安装,其中涵盖:
🔐 逐个工具的权限系统 Claude Desktop会在首次使用每个工具时单独提示你。由于此MCP服务器有15个工具,如果你使用所有功能,可能会看到多达15个权限提示。对于每个工具,你可以选择:
此逐个工具的安全功能可确保你对可执行的外部工具保持精细控制。
🛡️ 病毒扫描器注意事项:如果你使用Norton 360等病毒检查器,当你第一次看到pip、pipx、uv、uvx或python-alfresco-mcp-server.exe的 "检查中" 消息时,不要担心 - 这是正常的安全扫描行为。
使用工具:
示例1:文档管理
注意:Claude会在第二次尝试时自动使用base64编码进行首次上传
示例2:搜索操作 "使用Alfresco,请测试所有3种搜索方法和CMIS查询":
更多示例:创建文件夹、浏览文件夹、获取存储库信息
聊天框按钮:
搜索和分析提示:
存储库信息资源(和工具):
示例:
📖 设置指南:完整的MCP Inspector设置和连接说明请参阅 MCP Inspector设置指南
📥 安装MCP Inspector:
npm install -g @modelcontextprotocol/inspectornpx @modelcontextprotocol/inspector(无需全局安装)推荐的工作方法: 1. 使用HTTP传输启动MCP服务器
# 使用UVX(推荐)
uvx python-alfresco-mcp-server --transport http --port 8003
# 使用UV(开发)
uv run python-alfresco-mcp-server --transport http --port 8003
# 传统方法 - 请参阅传统安装指南
2. 使用配置启动MCP Inspector UVX安装(推荐)
# 使用stdio传输启动
npx @modelcontextprotocol/inspector --config mcp-inspector-stdio-uvx-config.json --server python-alfresco-mcp-server
# 使用http传输启动
npx @modelcontextprotocol/inspector --config mcp-inspector-http-uvx-config.json --server python-alfresco-mcp-server
UV安装(开发)
# 从存在配置文件的项目目录中启动
npx @modelcontextprotocol/inspector --config mcp-inspector-stdio-uv-config.json --server python-alfresco-mcp-server # stdio传输
npx @modelcontextprotocol/inspector --config mcp-inspector-http-uv-config.json --server python-alfresco-mcp-server # http传输
传统方法(pipx/pip) 有关pipx和pip的配置选项,请参阅 使用pip和pipx安装。
3. 使用预填充的令牌打开浏览器
http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=这种方法可以避免代理连接错误,并提供直接身份验证。
对于Cursor、Claude Code和其他MCP客户端: 📖 完整设置指南:客户端配置指南
search_content)可与Alfresco社区版(已测试)和企业版配合使用
请参考上述快速开始部分的安装步骤,包括Python安装、UV/UVX设置、不同安装方式的选择以及Alfresco连接配置等内容。
以下是使用UVX启动MCP服务器的基本示例:
uvx python-alfresco-mcp-server
以下是使用HTTP传输启动MCP服务器的示例,适用于Web服务和测试:
uvx python-alfresco-mcp-server --transport http --host 127.0.0.1 --port 8003
fastmcp_server.py 文件中tools/search/、tools/core/、resources/、prompts/、utils/ 目录# 运行完整的测试套件
pytest
# 运行并生成覆盖率报告
pytest --cov=alfresco_mcp_server --cov-report=term-missing
# 运行特定类型的测试
pytest -m "unit" # 仅运行单元测试
pytest -m "fastmcp" # 运行FastMCP 2.0测试
pytest -m "integration" # 运行集成测试(需要Alfresco)
🧪 有关详细的测试策略,请参阅 测试指南
项目包括 4个级别的测试:
| 工具 | 描述 | 参数 |
|---|---|---|
search_content |
搜索文档和文件夹 | query (str), max_results (int), node_type (str) |
advanced_search |
带过滤器的高级搜索 | query (str), content_type (str), created_after (str) 等 |
search_by_metadata |
按元数据属性搜索 | property_name (str), property_value (str), comparison (str) |
cmis_search |
CMIS SQL查询 | cmis_query (str), preset (str), max_results (int) |
| 工具 | 描述 | 参数 |
|---|---|---|
browse_repository |
浏览存储库文件夹 | node_id (str) |
repository_info |
获取存储库信息 | 无 |
upload_document |
上传新文档 | filename (str), content_base64 (str), parent_id (str), description (str) |
download_document |
下载文档内容 | node_id (str), save_to_disk (bool) |
create_folder |
创建新文件夹 | folder_name (str), parent_id (str), description (str) |
get_node_properties |
获取节点元数据 | node_id (str) |
update_node_properties |
更新节点元数据 | node_id (str), name (str), title (str), description (str), author (str) |
delete_node |
删除文档/文件夹 | node_id (str), permanent (bool) |
checkout_document |
签出文档进行编辑 | node_id (str), download_for_editing (bool) |
checkin_document |
编辑后签入文档 | node_id (str), comment (str), major_version (bool), file_path (str) |
cancel_checkout |
取消签出/解锁 | node_id (str) |
📖 有关详细的工具文档,请参阅 API参考
| 资源 | 描述 | 访问方法 |
|---|---|---|
repository_info |
获取全面的存储库信息,包括版本、版本类型、许可证详细信息、安装的模块和系统状态 | 既可用作MCP资源,也可用作工具 |
repository_info 资源提供:
📖 有关详细的资源文档,请参阅 API参考
| 提示 | 描述 | 参数 |
|---|---|---|
search_and_analyze |
交互式表单,用于引导式内容搜索和分析 | query (搜索词), analysis_type (摘要/详细/趋势/合规性) |
搜索和分析提示提供:
📖 有关详细的提示文档,请参阅 API参考
| 环境变量 | 默认值 | 描述 |
|---|---|---|
ALFRESCO_URL |
http://localhost:8080 |
Alfresco服务器URL |
ALFRESCO_USERNAME |
admin |
用于身份验证的用户名 |
ALFRESCO_PASSWORD |
admin |
用于身份验证的密码 |
ALFRESCO_VERIFY_SSL |
false |
验证SSL证书 |
ALFRESCO_TIMEOUT |
30 |
请求超时时间(秒) |
FASTAPI_HOST |
localhost |
FastAPI主机 |
FASTAPI_PORT |
8000 |
FastAPI端口 |
LOG_LEVEL |
INFO |
日志级别 |
MAX_FILE_SIZE |
100000000 |
最大上传大小(字节) |
⚙️ 有关部署选项,请参阅 配置指南
┌─────────────────────────────────────────────────────┐
│ MCP Clients │
│ Claude Desktop │ MCP Inspector │ Cursor │ Claude │
│ Code │ n8n │ LangFlow │ Custom MCP Client App │
└─────────────────┬───────────────────────────────────┘
│ stdio/HTTP/SSE
┌─────────────────▼───────────────────────────────────┐
│ FastMCP 2.0 MCP Server │
│ ┌─────────────┬─────────────┬─────────────────┐ │
│ │ MCP Tools │ MCP │ HTTP/SSE API │ │
│ │ (15 total) │ Resources │ │ │
│ │ │ MCP Prompts │ │ │
│ └─────────────┴─────────────┴─────────────────┘ │
└─────────────────┬───────────────────────────────────┘
│ python-alfresco-api
┌─────────────────▼───────────────────────────────────┐
│ Alfresco Content Services │
│ (Community/Enterprise Edition) │
└─────────────────────────────────────────────────────┘
本项目采用Apache 2.0许可证 - 详情请参阅 LICENSE 文件。
🚀 本MCP服务器使用 python-alfresco-api 和 FastMCP 2.0 构建