fix: reduce end-user installation footprint

This commit is contained in:
nac
2026-08-15 02:59:28 +00:00
parent 5d3122b7e4
commit 5288590893
10 changed files with 98 additions and 79 deletions
+16 -12
View File
@@ -13,8 +13,10 @@ MCP 不保存公共业务账号,也不需要部署一个多人共用的远程
## 环境要求
- Python 3.12 或更高版本
- Git(仅安装、版本校验和更新)
- `uv`
- NocoBase `nb` CLI 2.1 或更高版本
- Node.js/npm(仅在尚未安装 `nb` 时用于安装官方 CLI)
- 可通过浏览器访问目标 NocoBase
- 管理员已为用户配置所需的 NocoBase 角色与数据权限
@@ -31,7 +33,7 @@ MCP 不保存公共业务账号,也不需要部署一个多人共用的远程
```bash
git clone https://github.com/Donaldttt/nocobase-mcp.git
cd nocobase-mcp
uv sync --locked
uv sync --locked --no-dev
cp config.example.json config.json
```
@@ -47,7 +49,7 @@ Agent 先引导用户在 NocoBase 个人设置中创建可撤销、有合理有
先进行健康检查:
```bash
uv run nocobase-crm-mcp --config config.json
.venv/bin/python -m nocobase_crm_mcp.server --config config.json
```
然后让 MCP 客户端调用 `crm_health`。如果返回 `nb_auth_failed`,由 Agent 重新启动 `connect-key`,用户在新的本机隐藏提示中输入新 Key;不要让用户手动尝试 `nb` 命令。
@@ -60,21 +62,23 @@ uv run nocobase-crm-mcp --config config.json
{
"mcpServers": {
"nocobase-crm": {
"command": "uv",
"command": "/absolute/path/to/nocobase-mcp/.venv/bin/python",
"args": [
"--directory",
"/absolute/path/to/nocobase-mcp",
"run",
"--no-sync",
"nocobase-crm-mcp",
"-m",
"nocobase_crm_mcp.server",
"--config",
"/absolute/path/to/nocobase-mcp/config.json"
]
],
"env": {
"NOCOBASE_MCP_NB_BIN": "/absolute/path/to/nb"
}
}
}
}
```
不要手写猜测虚拟环境路径;优先使用 `scripts/agent_install.py client-config` 的输出。上例是 POSIX 路径,Windows 输出会自动使用 `.venv\\Scripts\\python.exe`。
默认只读。如需项目创建和更新,在参数末尾加入 `--enable-writes`。这些写工具只允许预先定义的项目字段,不提供删除或任意资源访问能力。
附件上传需要可选的本机 HTTP 模式。HTTP 服务默认只监听 `127.0.0.1:10087`;上传路由本身也默认关闭,不得暴露到局域网或公网:
@@ -120,8 +124,8 @@ Linux 用户也可以执行 `bash scripts/mcp_service.sh start` 安装用户级
```bash
git rev-parse HEAD
git pull --ff-only
uv sync --locked
uv run python -m unittest discover -s tests
uv sync --locked --no-dev
.venv/bin/python -m unittest discover -s tests
```
使用 systemd 本机 HTTP 服务时,再执行:
@@ -136,7 +140,7 @@ journalctl --user -u nocobase-crm-mcp.service -n 200 --no-pager
```bash
git switch --detach <previous-release-tag-or-commit>
uv sync --locked
uv sync --locked --no-dev
bash scripts/mcp_service.sh start
```