feat: expose project writes and upload endpoint

This commit is contained in:
nac
2026-07-13 02:04:31 +00:00
parent 731a41c652
commit dae2784e2b
6 changed files with 250 additions and 14 deletions
+5 -3
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
"""Manage the user-level read-only HTTP NocoBase CRM MCP systemd service."""
"""Manage the user-level HTTP NocoBase CRM MCP systemd service."""
from __future__ import annotations
@@ -26,6 +26,7 @@ DEFAULT_NB_ENV = "nb-mcp"
DEFAULT_CONFIG_PATH = "config.json"
DEFAULT_TOKEN_BYTES = 32
DEFAULT_UV_CACHE_DIR = "/tmp/uv-cache"
DEFAULT_UPLOAD_MAX_BYTES = 25 * 1024 * 1024
@dataclass(frozen=True)
@@ -87,7 +88,7 @@ def render_service_unit(
)
return (
"[Unit]\n"
"Description=NocoBase CRM readonly HTTP MCP server\n"
"Description=NocoBase CRM HTTP MCP server\n"
"After=network-online.target\n"
"Wants=network-online.target\n"
"\n"
@@ -125,6 +126,7 @@ def write_token_env_file(
env_file.write(f"NOCOBASE_MCP_PATH={path}\n")
env_file.write(f"NOCOBASE_MCP_ENV={nb_env}\n")
env_file.write(f"NOCOBASE_MCP_CONFIG={config_path}\n")
env_file.write(f"NOCOBASE_MCP_UPLOAD_MAX_BYTES={DEFAULT_UPLOAD_MAX_BYTES}\n")
env_path.chmod(0o600)
@@ -364,7 +366,7 @@ def service_status(*, project_root: Path) -> str:
def main(argv: Sequence[str] | None = None) -> int:
parser = argparse.ArgumentParser(description="Manage the readonly HTTP NocoBase CRM MCP user service.")
parser = argparse.ArgumentParser(description="Manage the HTTP NocoBase CRM MCP user service.")
subparsers = parser.add_subparsers(dest="command", required=True)
new_token_parser = subparsers.add_parser("new-token", help="Generate a new token and print remote MCP client configuration.")