x=hub

your toolset

    build deployment
    sign in

    内容路由器 · 素材该做成什么

    mcpother official build verified dockerfile by the hub scanned
    cn.savantcat/content-router · v1.0.1
    deploy just this

    给素材做 11 维内容画像,推荐跨媒介输出形态(PPT/信息图/短视频/漫画等 6 种)并给出可执行调度提示词

    run it

    on your own machines, one way per deploy method
    verified 2026-10-18 · v1.0.1 · r-20261018T114535Z-c2082ad9ed03 deployed 2026-10-18 · 5 tools
    The repository has no Dockerfile that builds here: this build uses one the hub wrote (hub-llm:hub-coder@p6), which its worker built and ran, checked by hub-llm:gpt-oss:120b@r2.
    # once, as root:
    docker build -t mcp-local/content-router:9856f95b8da795d916649e3d98e092078f16579a -f - 'https://github.com/savantcat/content-router.git#9856f95b8da795d916649e3d98e092078f16579a' <<'DOCKERFILE'
    FROM python:3.12.8-slim
    WORKDIR /app
    COPY . .
    RUN pip install -r requirements.txt
    RUN useradd --create-home app
    USER app
    EXPOSE 8000
    CMD ["python", "server.py", "--transport", "http", "--host", "0.0.0.0", "--port", "8000"]
    DOCKERFILE
    
    #!/usr/bin/env bash
    # content-router (cn.savantcat/content-router), recipe docker (worker, verified 2026-10-18 on v1.0.1, run r-20261018T114535Z-c2082ad9ed03).
    # Generated by Hub for toolset "my-agent"; started by mcp-my-agent-content-router.service.
    set -euo pipefail
    export HOST=127.0.0.1 PORT=8101
    exec docker run --rm --name mcp-my-agent-content-router -p 127.0.0.1:${PORT}:8000 mcp-local/content-router:9856f95b8da795d916649e3d98e092078f16579a
    
    [Unit]
    Description=MCP server content-router (toolset my-agent), generated by Hub
    After=network-online.target docker.service
    Wants=network-online.target
    
    [Service]
    Type=simple
    User=mcp
    Group=mcp
    SupplementaryGroups=docker
    EnvironmentFile=/etc/mcp/my-agent.env
    Environment=HOME=/var/lib/mcp/content-router
    WorkingDirectory=/var/lib/mcp/content-router
    ExecStart=/opt/mcp/my-agent/bin/content-router.sh
    Restart=on-failure
    RestartSec=5
    NoNewPrivileges=true
    ProtectSystem=strict
    ProtectHome=true
    PrivateTmp=true
    ReadWritePaths=/var/lib/mcp/content-router
    
    [Install]
    WantedBy=multi-user.target
    
    verified 2026-10-18 · v1.0.1 · r-20261018T114535Z-c2082ad9ed03
    The repository has no Dockerfile that builds here: this build uses one the hub wrote (hub-llm:hub-coder@p6), which its worker built and ran, checked by hub-llm:gpt-oss:120b@r2.
    docker build -t content-router -f - 'https://github.com/savantcat/content-router.git#9856f95b8da795d916649e3d98e092078f16579a' <<'DOCKERFILE'
    FROM python:3.12.8-slim
    WORKDIR /app
    COPY . .
    RUN pip install -r requirements.txt
    RUN useradd --create-home app
    USER app
    EXPOSE 8000
    CMD ["python", "server.py", "--transport", "http", "--host", "0.0.0.0", "--port", "8000"]
    DOCKERFILE
    docker run --rm -p 127.0.0.1:8101:8000 content-router
    
    verified 2026-10-18 · v1.0.1 · r-20261018T114535Z-c2082ad9ed03 deployed 2026-10-18 · 5 tools
    The repository has no Dockerfile that builds here: this build uses one the hub wrote (hub-llm:hub-coder@p6), which its worker built and ran, checked by hub-llm:gpt-oss:120b@r2.
    # Generated by Hub for toolset "my-agent" (2026-10-19T04:32:31+00:00).
    # Each package server runs behind a stdio->HTTP bridge and listens on localhost only.
    #   cp .env.example .env    # fill the ${VAR}s
    #   docker compose up -d && bash smoke.sh
    # Remote servers are not here: clients reach them directly (see clients/).
    name: mcp-my-agent
    services:
      content-router:
        build:
          context: https://github.com/savantcat/content-router.git#9856f95b8da795d916649e3d98e092078f16579a
          dockerfile_inline: |
            FROM python:3.12.8-slim
            WORKDIR /app
            COPY . .
            RUN pip install -r requirements.txt
            RUN useradd --create-home app
            USER app
            EXPOSE 8000
            CMD ["python", "server.py", "--transport", "http", "--host", "0.0.0.0", "--port", "8000"]
        x-dockerfile: written by the hub (hub-llm:hub-coder@p6), checked by hub-llm:gpt-oss:120b@r2, not taken
          from the repository
        ports:
        - 127.0.0.1:8101:8000
        restart: unless-stopped
    volumes:
      npm-cache: {}
      uv-cache: {}
    
    verified 2026-10-18 · v1.0.1 · r-20261018T114535Z-c2082ad9ed03 deployed 2026-10-18 · 5 tools
    The repository has no Dockerfile that builds here: this build uses one the hub wrote (hub-llm:hub-coder@p6), which its worker built and ran, checked by hub-llm:gpt-oss:120b@r2.
    # Generated by Hub for toolset "my-agent" (2026-10-19T04:32:31+00:00).
    #   kubectl create namespace mcp
    #   kubectl -n mcp create secret generic mcp-credentials --from-env-file=.env
    #   kubectl apply -f kubernetes.yaml
    # Services are cluster-internal: <name>.mcp.svc.cluster.local:8000/mcp. Put an ingress
    # with auth in front before exposing any of them.
    apiVersion: v1
    kind: Namespace
    metadata:
      name: mcp
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: content-router
      namespace: mcp
      labels: &id001
        app: content-router
    spec:
      replicas: 1
      selector:
        matchLabels: *id001
      template:
        metadata:
          labels: *id001
        spec:
          containers:
          - name: content-router
            image: CHANGE_ME
            ports:
            - containerPort: 8000
              name: http
            env: []
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: content-router
      namespace: mcp
    spec:
      selector:
        app: content-router
      ports:
      - port: 8000
        targetPort: http
        name: http
    
    dockerfile
    FROM python:3.12.8-slim
    WORKDIR /app
    COPY . .
    RUN pip install -r requirements.txt
    RUN useradd --create-home app
    USER app
    EXPOSE 8000
    CMD ["python", "server.py", "--transport", "http", "--host", "0.0.0.0", "--port", "8000"]
    
    verified 2026-10-18 · v1.0.1 · r-20261018T114535Z-c2082ad9ed03 deployed 2026-10-18 · 5 tools
    The repository has no Dockerfile that builds here: this build uses one the hub wrote (hub-llm:hub-coder@p6), which its worker built and ran, checked by hub-llm:gpt-oss:120b@r2.
    # Generated by Hub for toolset "my-agent" (2026-10-19T04:32:31+00:00).
    # Credentials come from the Secret 'mcp-credentials' (kubectl create secret generic ... --from-env-file=.env).
    # Each server under `servers` is one Deployment + Service; the keys after it configure
    # upstream charts a worker verified.
    servers:
      content-router:
        enabled: true
        replicas: 1
        port: 8000
        path: /mcp
        container:
          name: content-router
          image: CHANGE_ME
          ports:
          - containerPort: 8000
            name: http
          env: []
    
    # helm install my-agent helm/my-agent -n mcp
    
    dockerfile
    FROM python:3.12.8-slim
    WORKDIR /app
    COPY . .
    RUN pip install -r requirements.txt
    RUN useradd --create-home app
    USER app
    EXPOSE 8000
    CMD ["python", "server.py", "--transport", "http", "--host", "0.0.0.0", "--port", "8000"]
    

    Scanned github.com/savantcat/content-router at 9856f95b8da7 with [email protected][email protected] on 2026-10-18 before the build: 1 dependencies, 8 known vulnerabilities (4 high, 1 medium, 3 low), nothing in the code that looks malicious.

    connect to it

    copy what your client needs
    {
      "mcpServers": {
        "content-router": {
          "command": "CHANGE_ME",
          "args": []
        }
      }
    }
    #!/usr/bin/env bash
    # Registers every server with Claude Code (run once; `claude mcp list` to check).
    set -euo pipefail
    set -a; [ -f .env ] && source .env; set +a
    claude mcp add content-router -- CHANGE_ME
    
    {
      "mcpServers": {
        "content-router": {
          "command": "CHANGE_ME",
          "args": []
        }
      }
    }
    {
      "servers": {
        "content-router": {
          "type": "stdio",
          "command": "CHANGE_ME",
          "args": []
        }
      }
    }
    name: my-agent
    target: local
    servers:
    - hub: cn.savantcat/content-router
    
    • no recipe for target 'local': fill the files by hand

    tools · 5

    • analyze_contenttested给一段内容做 11 维画像,并推荐最适合的跨媒介输出形态(一次给全)。 适合「这篇到底该做成什么」这类问题。返回画像明细 + 排序推荐(含适配度% 与命中的判据),可直接当决策依据。 Args: text: 原文全文(中英文均可)。建议 200 字以上;过短画像不稳, 长文超过 8000 字会自动截断后画像。

      给一段内容做 11 维画像,并推荐最适合的跨媒介输出形态(一次给全)。 适合「这篇到底该做成什么」这类问题。返回画像明细 + 排序推荐(含适配度% 与命中的判据),可直接当决策依据。 Args: text: 原文全文(中英文均可)。建议 200 字以上;过短画像不稳, 长文超过 8000 字会自动截断后画像。

      called 2026-10-18 · 13 ms · arguments from the schema
      pin 664634633f993983463b7790f6f63098fd95d34ae4a3dcc3a7d0b559a41d64a4
    • get_dispatch_prompttested为指定输出形态生成「调度提示词」——一段可直接交给 Agent 执行的指令。 先 recommend_formats 挑形态,再用本工具取该形态的执行口令。 Args: text: 原文全文。 format_name: 目标形态,必须是 list_formats 里的名字之一: PPT演示文稿 / 信息图 / 60秒短视频脚本 / 漫画/视觉故事 / Newsletter / 结构化Skill封装

      为指定输出形态生成「调度提示词」——一段可直接交给 Agent 执行的指令。 先 recommend_formats 挑形态,再用本工具取该形态的执行口令。 Args: text: 原文全文。 format_name: 目标形态,必须是 list_formats 里的名字之一: PPT演示文稿 / 信息图 / 60秒短视频脚本 / 漫画/视觉故事 / Newsletter / 结构化Skill封装

      called 2026-10-18 · 4 ms · arguments from the schema
      pin 5ea9a76dc44787b9e30fdc8146dd7bed9df5e5d0f6ad681f7f13c06965e42d5b
    • list_formatstested列出 6 种跨媒介输出形态:名字、适合什么内容、对应工作流。 注意:这里都是**媒介发生改变**的形态(文字 → 图表/视频/漫画/PPT/技能)。 公众号版、小红书版这类**同媒介换平台**的改写不在本服务职责内。

      列出 6 种跨媒介输出形态:名字、适合什么内容、对应工作流。 注意:这里都是**媒介发生改变**的形态(文字 → 图表/视频/漫画/PPT/技能)。 公众号版、小红书版这类**同媒介换平台**的改写不在本服务职责内。

      called 2026-10-18 · 6 ms · arguments from the schema
      pin 6a41e74be953dfbf09bd14ffdddd6860c729aec2c5c66cde5b90f4b79f4de8fc
    • profile_schematested列出 11 维内容画像的口径与取值范围(用于理解/修正画像结果)。

      列出 11 维内容画像的口径与取值范围(用于理解/修正画像结果)。

      called 2026-10-18 · 5 ms · arguments from the schema
      pin d16da69b0400118b6cf0c84ec2598a95e5b99380b52cdbd7f87a2869415be255
    • recommend_formatstested只出形态推荐表:按适配度排序,每个形态给出得分、适配度% 和命中理由。 需要画像明细时用 analyze_content。 Args: text: 原文全文。建议 200 字以上。

      只出形态推荐表:按适配度排序,每个形态给出得分、适配度% 和命中理由。 需要画像明细时用 analyze_content。 Args: text: 原文全文。建议 200 字以上。

      called 2026-10-18 · 6 ms · arguments from the schema
      pin d2456789966ab875698f9524fbd0c9321f3765454368ac0979a1243eb6fa2274

    runs · 3

    the latest tests of this entry by the hub and its workers, newest first
    dateworkermethodstatussandboxreason
    2026-10-18 18:18 local-mac-vm baremetal ok —hub-targets —
    2026-10-18 11:45 local-mac-vm dockermcp 2026-07-28 ok5 tools gvisor —
    2026-10-17 13:38 local-mac-vm docker failed gvisor docker: sandbox: docker build: ERROR: failed to build: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory