目录操作服务器

Rastro MCP是一个用于目录操作的服务器,提供目录、服务、执行和本地可视化工具,支持与Claude、Codex或任何MCP兼容客户端一起使用。

  • by Rastro-AI
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Rastro-AI/rastro-mcp

使用说明

Rastro MCP

用于Rastro目录操作的MCP服务器。公开目录、服务、执行和本地可视化工具,供Claude、Codex或任何兼容MCP的客户端使用。

安装

来自PyPI (一经发布):

pip install rastro.ai
# or
uv add rastro.ai

来源:

git clone https://github.com/Rastro-AI/rastro-mcp
cd rastro-mcp
uv sync

所需环境

export RASTRO_AUTH_TOKEN=<bearer-token>                # Preferred: user token or API key
# export RASTRO_USER_TOKEN=<user-jwt>                  # Equivalent user-token alias
# export RASTRO_API_KEY=rastro_pk_...                  # API-key alias
export RASTRO_BASE_URL=https://catalogapi.rastro.ai/api  # Production (default)
# export RASTRO_BASE_URL=http://127.0.0.1:8000/api       # Local dev
# export RASTRO_ORGANIZATION_ID=<uuid>                    # Recommended for user tokens; picks the target org

跑

# stdio transport (for MCP clients)
uv run python -m rastro_mcp.server

# or via CLI entry point (if installed from package)
rastro-mcp

克劳德代码/克劳德桌面配置

添加 .mcp.json 或 claude_desktop_config.json:

{
  "mcpServers": {
    "rastro": {
      "command": "uv",
      "args": ["run", "python", "-m", "rastro_mcp.server"],
      "env": {
        "RASTRO_AUTH_TOKEN": "<bearer-token>",
        "RASTRO_ORGANIZATION_ID": "<org-uuid>",
        "RASTRO_BASE_URL": "https://catalogapi.rastro.ai/api"
      }
    }
  }
}

工具参考

目录工具

catalog_list

列出已验证组织的所有目录。

参数 类型 默认值 说明
limit integer 50 要返回的最大结果
offset 整数 0 分页偏移

catalog_get

按ID获取单个目录,包括元数据和项目计数。

参数 类型 必填 说明
catalog_id string yes 目录UUID

catalog_delete

删除目录(不可逆)。需要明确的确认短语。

参数 类型 必填 说明
catalog_id string yes 目录UUID
confirm boolean 否 必须是 true 执行
confirmation string no 必须完全匹配 DELETE <catalog_id>
expected_name string no 安全检查:必须与目录名称匹配

catalog_duplicate

复制目录架构,并可选择复制源项。

参数 类型 必填 说明
catalog_id string yes 源目录UUID
name string no 新目录的名称
description string no 新目录的描述
include_items boolean no 复制项目(默认值:false)

catalog_schema_get

获取包含字段类型、描述、范围和工作流元数据的目录架构定义。

参数 类型 必填 说明
catalog_id string yes 目录UUID
version string no 架构版本(默认:当前)

catalog_taxonomy_get

获取具有层次结构、属性和继承的目录分类。

参数 类型 必填 说明
catalog_id string yes 目录UUID

catalog_update_quality_prompt

设置评判工具和准备检查使用的目录质量提示。完全替换当前提示。

参数 类型 必填 说明
catalog_id string yes 目录UUID
prompt string yes 质量提示文本(判断行的标准)

catalog_items_query

使用分页、文本搜索和字段排序查询目录项。

参数 类型 必填 说明
catalog_id string yes 目录UUID
limit integer no 最大结果(默认值:50)
offset integer no 分页偏移量(默认值:0)
search string 否 全文搜索查询
sort_field string no 排序依据的字段
sort_order string 否 asc 或 desc (默认值:asc)

catalog_item_get

按ID获取具有完整数据、实体类型和分类属性的单个目录项。

参数 类型 必填 说明
catalog_id string yes 目录UUID
item_id string yes 项目UUID(数据库ID)

catalog_item_update

直接更新单个目录项的数据。 默认情况下已禁用 --使用 catalog_activity_create_transform 相反。

参数 类型 必填 说明
catalog_id string yes 目录UUID
item_id string yes 项目UUID
data object yes 要更新的键值对

启用 RASTRO_MCP_ENABLE_DIRECT_ITEM_UPDATE=true (仅限打碎玻璃)。

catalog_activity_list

使用可选的状态/类型筛选器列出目录的活动。

参数 类型 必填 说明
catalog_id string yes 目录UUID
status string 否 筛选器: pending_review, completed等等。
activity_type string 否 筛选器: custom_transform等等。
limit integer no 最大结果(默认值:20)
offset integer no 分页偏移量(默认值:0)

catalog_activity_get

按ID获取具有完整元数据的单个活动。

参数 类型 必填 说明
activity_id string yes 活动UUID

catalog_activity_get_staged_changes

获取待处理活动的阶段性更改。返回数据对前后分页的结果。

参数 类型 必填 说明
activity_id string yes 活动UUID
limit integer no 每页最大结果数(默认值:50)
offset integer no 分页偏移量(默认值:0)

catalog_visualize_local

为目录或活动的阶段性更改构建一个自包含的本地HTML查看器,然后可以选择在默认浏览器中打开它。

参数 类型 必填 说明
catalog_id string 条件 要可视化的目录UUID
activity_id string 条件 要可视化的活动UUID
mode string 否 auto, catalog,或 activity (默认:自动)
title string no 查看器中显示的自定义标题
limit integer no 要加载的最大匹配记录数(默认值:500)
offset integer no 偏移到匹配的记录中(默认值:0)
search string no 传递给后端的可选搜索筛选器
output_dir string no 工件输出目录(默认: ./work/visualizations)
open_browser boolean no 工件生成后打开尽力而为的浏览器(默认值:true)

输出a bundle.json,静态 viewer.html,以及本地主机 viewer_url.更喜欢 viewer_url 过度开放 viewer.html 直接;localhost路径为远程图像/文档启用本地媒体代理。当浏览器启动失败时(例如在无头shell中),工件文件仍然可用。

catalog_activity_create_transform

使用分阶段更改、脚本来源和审核元数据创建自定义转换活动。验证捆绑包,将所有更改分阶段到一个待处理的审核活动中(如果需要,在内部分块),并打开仪表板审核URL。

参数 类型 必填 说明
catalog_id string yes 目标目录UUID
activity_message string yes 人类可读的描述
script 对象 否 {filename, content, sha256} 用于审计
diff_summary 对象 否 来源 execution_local_diff_compute
validation_report 对象 否 来源 execution_bundle_validate
staged_changes_inline array no 内联分段更改
staged_changes_file_path string 否 路径 .jsonl/.json/.parquet 文件
schema_changes object 否 要应用的架构更改
taxonomy_changes object 否 要应用的分类更改
attachments array 否 存储在 activity_context.attachments
activity_context object 否 其他审核上下文
base_snapshot_id string no 审计跟踪的快照ID
auto_open_review boolean 否 打开仪表板URL(默认值:true)

catalog_activity_save_workflow

将活动另存为可重用的工作流模板。

参数 类型 必填 说明
catalog_id string yes 目录UUID
activity_id string yes 活动UUID
workflow_name string yes 已保存工作流的名称
workflow_description string 否 描述
python_code string no 转换代码
attachments array 否 附件元数据
timeout_seconds integer no 执行超时(默认值:120)

catalog_snapshot_list

列出回滚/历史记录的目录快照。

参数 类型 必填 说明
catalog_id string yes 目录UUID
snapshot_type string 否 按类型筛选
limit integer no 最大结果(默认值:20)
offset integer no 分页偏移量(默认值:0)

catalog_snapshot_create

为回滚安全创建手动快照。

参数 类型 必填 说明
catalog_id string yes 目录UUID
reason string no 原因(默认:“MCP手动快照”)

catalog_snapshot_restore

将目录还原到特定快照。

参数 类型 必填 说明
catalog_id string yes 目录UUID
snapshot_id string yes 要还原的快照UUID

维修工具

富集API合同注释

MCP包公开了目录感知帮助程序,但代理仍可能调用 /api/public/enrich 通过客户端或后端。保持这些丰富的形状不同:

  • 仅分类: 发送 taxonomy, predict_taxonomy: true, predict_taxonomy_attributes: false,并省略 output_schema 除非您还希望提取普通字段。不要发明虚拟字段,例如 empty.
  • 具有属性的分类学: 保持 predict_taxonomy_attributes 省略或 true;结果包括 taxonomy_attributes 分类后。
  • 请求的属性: 发送顶级 attribute_sets 并把 attribute_set_id 在每个项目上。输出架构必须请求 attribute_results_json;每行内联 requested_attributes / source_hints 被公众预检拒绝。

service_map_to_catalog_schema

使用AI富集将源项映射到目标目录模式。始终与 web_search=false.

参数 类型 必填 说明
catalog_id string yes 目标目录UUID
items array yes 要映射的源项
prompt string no 映射指令(默认:“将源字段映射到目标目录架构”)
async_mode boolean no 异步运行(默认值:false)
speed string 否 fast, medium,或 slow (默认值:中等)

service_judge_catalog_rows

判断目录行的数据质量。当 catalog_id 提供,自动加载目录的模式和quality_prompt(来自readines_config)。

参数 类型 必填 说明
rows array yes 要计算的行数(最多500行)
catalog_id string no 目录UUID(自动加载架构+quality_prompt)
schema object no 内联模式(仅在没有catalog_id时需要)
prompt string no 额外说明(附加到目录的quality_prompt)
model string no 模型预设(默认:快速)
max_rows integer no 每个请求的最大行数(默认值:200)

service_image_run

提交图像编辑作业。支持:生成、编辑、输入、bg_remove、重新点亮、升级。

参数 类型 必填 说明
tool string 是 generate, edit, inpaint, bg_remove, relight, upscale
image_url string 条件 输入图像(编辑/输入/bg_remove/重新点亮/升级所需)
mask_url string conditional 蒙版图像(inpaint所需)
prompt string conditional 文本提示(生成/编辑/输入所需)
provider string no 模型提供程序覆盖
quality string 否 high 或 low
size string 否 输出大小
num_options integer no 结果数(默认值:1)
catalog_id string no 用于跟踪的目录ID
item_id string no 用于跟踪的项目ID

service_image_status

获取图像编辑运行的状态/进度/结果。

参数 类型 必填 说明
run_id string yes 运行UUID

service_image_list

使用可选过滤器运行列表图像编辑。

参数 类型 必填 说明
catalog_id string 否 按目录筛选
item_id string 否 按项目筛选
status string 否 按状态筛选
tool string 否 按工具类型筛选
limit integer no 最大结果(默认值:20)
offset integer no 分页偏移量(默认值:0)

执行工具(在本地运行)

execution_catalog_snapshot_pull

将目录行+模式导出到本地文件(拼花/csv)以进行Python转换。使用快速并行分页。

参数 类型 必填 说明
catalog_id string yes 目录UUID
output_dir string no 输出目录(默认: ./work/snapshots)
format string 否 parquet 或 csv (默认设置:拼花地板)
sample_size integer no 限制采样行数(null=全部)
page_size integer 否 每页行数(默认值:400)
max_concurrency integer no 并行取线程(默认值:8)
prefer_raw boolean 否 使用 /raw-items 用于完全保真度(默认值:true)
use_cache boolean 否 在可用时重用本地清单支持的快照(默认值:true)
refresh boolean no 强制实时拉取并更新本地快照缓存(默认值:false)

快照拉取也会写入 catalog_<id>_manifest.json 使用确定性行/模式哈希。重用缓存将跳过API拉取并返回 cache_hit=true;通行证 refresh=true 在最终阶段之前,当你需要一个新的来源时。

execution_local_diff_compute

计算本地数据集前后的行/字段差异。输出 staged_changes.jsonl.

参数 类型 必填 说明
before_path string yes 数据集之前的路径(拼花地板/csv)
after_path string yes 后置数据集路径(拼花地板/csv)
key_field string no 行匹配列(默认值: __catalog_item_id).空键行=新插入。使用业务密钥(例如SKU)按该字段进行匹配。

execution_bundle_validate

在创建活动之前验证转换包。检查文件是否存在、架构兼容性、行数、产品变体完整性和策略规则。

参数 类型 必填 说明
catalog_id string yes 用于模式验证的目录UUID
before_path string no 数据集路径之前
after_path string no 数据集路径之后
script_path string no 转换脚本路径
staged_changes_path string no 分阶段更改文件路径
diff_summary object no 与 execution_local_diff_compute
schema_changes object 否 建议的架构更改
taxonomy_changes object 否 建议的分类更改
rules.allow_row_deletes boolean 否 允许行删除(默认值:false)
rules.max_change_ratio_warning number no 高于此变化率时发出警告(默认值:0.2)

execution_catalog_stage_dataset

一个命令暂存:计算前后数据集的差异,验证捆绑包(包括产品变体完整性),并创建一个待处理的审查活动。

参数 类型 必填 说明
catalog_id string yes 目标目录UUID
before_path string yes 数据集路径之前(拼花地板/csv)
after_path string yes 数据集路径之后(拼花地板/csv)
activity_message string yes 人类可读的评论消息
key_field string no 行匹配列(默认值: __catalog_item_id)
script_path string no 审计来源的Python脚本路径
schema_changes object 否 要应用的架构更改
taxonomy_changes object 否 要应用的分类更改
attachments array 否 附件元数据
activity_context object 否 其他审核上下文
base_snapshot_id string no 审计跟踪的可选源快照ID
validate_only boolean no 在不创建活动的情况下计算差异和验证
auto_open_review boolean 否 打开仪表板URL(默认值:true)

提示

master_prompt

单一统一提示,指导代理商完成目录操作、产品变体处理、安全规则和关键字段匹配。加载自 rastro_mcp/prompts/master_prompt.md.

典型工作流程

1. catalog_get / catalog_schema_get      -- understand the catalog
2. catalog_visualize_local               -- inspect catalog state or staged changes visually when useful
3. execution_catalog_snapshot_pull       -- pull data to local parquet
4. (your Python transform script)        -- modify the data
5. execution_catalog_stage_dataset       -- diff + validate + stage
6. Review in dashboard                   -- approve and apply

大目录行为

  • execution_catalog_snapshot_pull 更喜欢原始目录行(product + variant)via /raw-items,然后回到传统 /items.
  • catalog_activity_create_transform 将大型变更集分阶段进行 活动 通过块附加阶段性更改,然后最终确定为 pending_review.
  • execution_catalog_stage_dataset 在一个命令中计算diff+阶段,将所有内容放入一个待处理的审查活动中。

安全默认值

  • catalog_item_update 残疾的 --后端PUT替换完整的项目数据。以(权力)否决 RASTRO_MCP_ENABLE_DIRECT_ITEM_UPDATE=true
  • 程序化批准/应用已禁用 --仅从仪表板查看和应用。
  • 活动优先工作流 --所有的写作都要经过审阅。
  • 捆绑验证 --自动模式、行计数和产品变体完整性检查。
  • 路径安全 --执行工具验证路径以防止目录遍历。

配置

变量 默认值 描述
RASTRO_AUTH_TOKEN 可选 首选承载令牌env var.支持用户JWT和API密钥。
RASTRO_USER_TOKEN 可选 用户JWT别名 RASTRO_AUTH_TOKEN.
RASTRO_API_KEY 的可选 API密钥别名 RASTRO_AUTH_TOKEN.
RASTRO_BASE_URL https://catalogapi.rastro.ai/api API基本URL
RASTRO_ORGANIZATION_ID 可选 组织UUID覆盖。使用用户令牌时建议使用。
RASTRO_MCP_ENABLE_DIRECT_ITEM_UPDATE false 启用直接项目PUT
RASTRO_MCP_STAGE_BATCH_SIZE 2000 用于举办大型活动的积木大小
RASTRO_MCP_STAGE_RETRIES 3 暂存块的重试计数