npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

r3plica

v2.3.4

Published

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.

Downloads

214

Readme

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:

  1. wrangler login — authenticate with the R3PLICA Cloudflare account
  2. (Optional) Create rate-limit KV namespace: wrangler kv:namespace create RATE_LIMIT and paste the returned id into wrangler.toml
  3. 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)
  4. 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

| Tool | Purpose | |---|---| | ue_spawn_product | Spawn an asset by product_id (resolves path via template) or explicit asset_path. Returns an actor tag. | | ue_move_actor | Move/rotate a spawned actor by tag. | | ue_list_scene | List all R3PLICA actors in the active level. |

One-time UE setup

  1. Enable plugins in the Unreal project: Remote Control API and Remote Control Web Interface (Edit → Plugins). Restart the editor.
  2. Confirm Remote Control is listening on http://localhost:30010 (default). Override with Project Settings → Plugins → Remote Control or with -RCWebControlEnable -RCWebControlPort=30010 launch flags.
  3. 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
  4. Place one BP_R3MCPBridge instance in the demo level.
  5. 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.