🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

r3plica

Package Overview
Dependencies
Maintainers
2
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

r3plica

R3PLICA Hub — unified MCP connector for the R3PLICA catalog. Auto-discovers local Unreal Engine and SketchUp plugins. Works with Claude Desktop, Claude Code, Cursor, Continue, Zed, and any MCP-compatible client.

latest
Source
npmnpm
Version
2.3.4
Version published
Weekly downloads
18
-72.31%
Maintainers
2
Weekly downloads
 
Created
Source

r3 — R3PLICA CLI

Query the R3PLICA digital replicas catalog from your terminal. Search products, brands, collections, and finishes — built for AI agents, developers, and scripts.

Install

npm install -g r3plica

Requires Node.js 20+.

Quick Start

# Search products
r3 product search "dining table"

# List brands
r3 brand list

# Filter by brand and category
r3 product list --brand "Cattelan Italia" --category table

# Get product details
r3 product get <mongo_id>

# Pipe to jq
r3 product list --limit 5 --json | jq '.[].name'

Commands

Products

r3 product list [--brand X] [--category X] [--collection X] [--designer X] [--year X] [--limit N] [--page N]
r3 product search <query> [--brand X] [--category X] [--designer X] [--year X] [--limit N]
r3 product get <mongo_id>
r3 product stats [--by category|brand|designer|year] [--brand X]
r3 product compare <id1> <id2>

Brands

r3 brand list [--country X] [--limit N]
r3 brand search <query>

Product Collections

Product collections are furniture lines from a brand (e.g., "Tudor" by Cattelan Italia).

r3 product-collection list [--brand X] [--limit N] [--page N] [--sort X] [--order asc|desc]
r3 product-collection search <query>

Finish Collections

Finish collections are sets of material finishes (shaders) — wood types, fabrics, metals, leathers — that can be applied to product parts.

r3 finish-collection list [--brand X] [--category X] [--limit N] [--page N]
r3 finish-collection search <query>
r3 finish-collection get <mongo_id>

Configuration

r3 config show
r3 config set api-url <url>

Default API URL: https://api.r3plica.space/api/r3vault. Override with R3_API_URL environment variable or r3 config set.

Output

  • Terminal: formatted table with headers and result count
  • Piped: JSON (automatic detection)
  • --json: force JSON output
  • --pretty: force table output
  • --markdown: force markdown table output
# Table output (terminal)
$ r3 brand list --limit 3

  ┌──────────────────┬───────────────────────────┬─────────────────┬────────────┐
  │ ID               │ Name                      │ Country         │ Products   │
  ├──────────────────┼───────────────────────────┼─────────────────┼────────────┤
  │ 0a497f00-cc6f-45 │ Driade                    │ Italy           │ 29         │
  │ 22b4a540-bcf2-4e │ We Are IB                 │ Italy           │ 37         │
  │ ab368a13-6038-41 │ Emu                       │ Italy           │ 26         │
  └──────────────────┴───────────────────────────┴─────────────────┴────────────┘
  3 brands found

# JSON output (piped or --json)
$ r3 brand list --limit 1 --json | jq '.[0].name'
"Driade"

Use with AI Agents

Claude Code / CLAUDE.md

Add to your project's CLAUDE.md:

## R3PLICA Catalog

The `r3` CLI queries the R3PLICA digital replicas catalog. Use it when the user
asks about furniture, finishes, brands, or design products.

- `r3 product search "query"` — search products by text
- `r3 product list --brand X --category X` — filter products
- `r3 product list --designer "Name"` — filter by designer
- `r3 product get <id>` — product details with finish options
- `r3 product stats --by brand` — catalog breakdown
- `r3 product compare <id1> <id2>` — side-by-side comparison
- `r3 brand list` — all available brands
- `r3 finish-collection list --brand X` — available finish collections
- Always use `--json` when processing results programmatically
- Run `r3 --help` for full command reference

MCP Server

The package also includes an MCP server for auto-discovery in Claude Desktop, Cursor, and similar IDEs.

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "r3plica": {
      "command": "r3-mcp"
    }
  }
}

The MCP server exposes the catalog through 13 tools — product_list, product_search, product_get, product_stats, product_compare, brand_list, brand_get, brand_search, product_collection_list, product_collection_search, finish_collection_list, finish_collection_search, finish_collection_get — plus 3 Unreal Engine tools (see below).

Remote MCP (no install)

For users who want to access the R3PLICA catalog from Claude Desktop without installing the full npm package, the catalog half is also available as a remote MCP endpoint hosted on Cloudflare Workers. Claude Desktop doesn't natively accept URL-only configs yet, so we use the standard mcp-remote bridge that proxies a local stdio connection to the remote HTTP endpoint:

{
  "mcpServers": {
    "R3PLICA": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.r3plica.space/sse"]
    }
  }
}

Paste this into your Claude Desktop config (%APPDATA%\Claude\claude_desktop_config.json on Windows or ~/Library/Application Support/Claude/claude_desktop_config.json on macOS) and restart Claude. The bridge is auto-fetched via npx on first connection — no manual install. The 13 catalog tools are immediately available.

Requires Node.js 20+ on the user's machine (for npx). When Claude Desktop adds native HTTP MCP support (in roadmap from Anthropic), users will be able to switch to the simpler {"url": ...} form.

Note: the UE bridge tools (ue_spawn_product, ue_move_actor, ue_list_scene, ue_list_available_assets, ue_get_camera) are NOT exposed remotely. They require localhost reachability to your Unreal Engine editor and are only available via the local stdio MCP server (this npm package).

Landing page with install instructions: mcp.r3plica.space

Deploying the Remote MCP (maintainers only)

The remote server is deployed via Cloudflare Workers. Local development:

npm run remote:dev          # wrangler dev → http://localhost:8787
npm run remote:deploy       # wrangler deploy → mcp.r3plica.space
npm run remote:tail         # live logs from production

First-time setup:

  • wrangler login — authenticate with the R3PLICA Cloudflare account
  • (Optional) Create rate-limit KV namespace: wrangler kv:namespace create RATE_LIMIT and paste the returned id into wrangler.toml
  • Update DNS: mcp.r3plica.space currently points to the old Digital Ocean droplet — replace the A record with a CNAME to <your-workers-domain>.workers.dev (or use Cloudflare's "Add Custom Domain" UI from the Workers dashboard)
  • wrangler deploy — pushes the worker live

Unreal Engine bridge (v1.6+)

The MCP server can drive a live Unreal Engine editor session to spawn and arrange R3PLICA products in a 3D scene. The AI assistant queries the catalog and places assets in the level, end-to-end in one conversation.

Tools

ToolPurpose
ue_spawn_productSpawn an asset by product_id (resolves path via template) or explicit asset_path. Returns an actor tag.
ue_move_actorMove/rotate a spawned actor by tag.
ue_list_sceneList all R3PLICA actors in the active level.

One-time UE setup

  • Enable plugins in the Unreal project: Remote Control API and Remote Control Web Interface (Edit → Plugins). Restart the editor.
  • Confirm Remote Control is listening on http://localhost:30010 (default). Override with Project Settings → Plugins → Remote Control or with -RCWebControlEnable -RCWebControlPort=30010 launch flags.
  • Create a helper Blueprint BP_R3MCPBridge (Actor) with three custom functions exposed to the editor:
    • SpawnProduct(AssetPath: String, Location: Vector, Rotation: Rotator, Tag: String) → bool — loads the asset via LoadAsset and calls SpawnActor, tagging the spawned actor with Tag (and adding the gameplay tag R3Product).
    • MoveActor(ActorTag: String, Location: Vector, Rotation: Rotator) → bool — finds the actor by tag and sets its transform.
    • ListR3Actors() → String — returns a JSON string listing actors tagged R3Product with {tag, asset, location, rotation}.
    • (Optional) DeleteActor(ActorTag: String) → bool
  • Place one BP_R3MCPBridge instance in the demo level.
  • Create a Remote Control Preset RCP_R3MCP (Content Browser → Right-click → Remote Control → Remote Control Preset). Open it, drag the BP_R3MCPBridge actor in, and expose the four functions above.

Asset path convention

The default template matches the R3PLICA project convention:

/Game/R3PLICA/{brand}/Products/{collection}/Meshes/{asset_name}.{asset_name}

Brand and collection segments preserve case (e.g. Cantori/Products/Avantgarde/). Names are sanitized to replace non-alphanumeric characters with underscores but no lowercasing is applied. Available template variables: {brand}, {collection}, {asset_name}, {category}.

Override globally if needed:

r3 config set ue-asset-template "/Game/R3PLICA/{brand}/{asset_name}.{asset_name}"

Or pass asset_path explicitly to ue_spawn_product when the convention doesn't apply.

Config keys

r3 config set ue-host localhost          # default
r3 config set ue-port 30010              # default
r3 config set ue-preset RCP_R3MCP        # default
r3 config set ue-asset-template "/Game/R3PLICA/{brand}/{asset_name}.{asset_name}"

Also overridable via R3_UE_HOST, R3_UE_PORT, R3_UE_PRESET, R3_UE_ASSET_TEMPLATE env vars.

Demo prompt

"Search for three Italian mid-century lounge chairs from the catalog, then arrange them around the origin facing inward, ~150 cm apart."

Claude calls product_search, picks results, then issues three ue_spawn_product calls with the appropriate locations and rotations.

Examples

# Find Italian brands
r3 brand list --country Italy

# Search chairs, limit to 5 results
r3 product search "chair" --limit 5

# Get all products from a brand
r3 product list --brand "Driade"

# Explore a product collection
r3 product-collection search "Tudor"

# Find products by designer
r3 product list --designer "Philippe Starck"

# Catalog stats
r3 product stats --by brand
r3 product stats --brand "Driade" --by designer

# Compare two products
r3 product compare <id1> <id2>

# Find wood finishes
r3 finish-collection list --category wood

# Script: get all brand names
r3 brand list --json | jq -r '.[].name'

# Script: count products per brand
r3 brand list --json | jq -r '.[].name' | while read brand; do
  count=$(r3 product list --brand "$brand" --json 2>/dev/null | jq length)
  echo "$brand: $count"
done

About R3PLICA

R3PLICA provides certified digital replicas of branded furniture, finishes, and materials to architects, interior designers, and visualization professionals. The catalog includes 60+ premium partner brands including Cattelan Italia, Driade, Poliform, and more.

License

Proprietary - R3PLICA S.r.l.

Keywords

r3plica

FAQs

Package last updated on 19 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts