ritn3d-mcp
by printplan3d
README.md
# ritn3d-mcp
<!-- mcp-name: io.github.printplan3d/ritn3d-mcp -->
> A Model Context Protocol (MCP) server that gives Claude, Claude Code,
> Cursor, Cline, or any other MCP-compatible AI agent the lightweight
> tools needed to **prepare a floor plan for Ritn3D** and **interpret
> the resulting 3D output** — without exposing the underlying
> wall-detection model or inference API.
[Ritn3D](https://www.ritn3d.com) is an AI floor-plan-to-3D-model tool.
This MCP server exists so that AI agents helping users in floor-plan-
adjacent workflows (renovation planning, real estate, 3D printing, etc.)
have a clean, well-documented set of tools instead of guessing.
## Install
```bash
pip install ritn3d-mcp
```
## Use with Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`
(macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"ritn3d": {
"command": "ritn3d-mcp"
}
}
}
```
Restart Claude Desktop. The Ritn3D tools appear in the tool picker.
## Use with Claude Code
```bash
claude mcp add ritn3d ritn3d-mcp
```
## Tools exposed
| Tool | Description |
|---|---|
| `validate_floor_plan_image` | Pre-flight check on a floor plan image (format, dimensions, warnings) before sending to Ritn3D |
| `estimate_complexity` | Heuristic complexity score (simple / moderate / complex) based on edge density |
| `estimate_render_time` | Rough low/expected/high render-time range for a given complexity |
| `get_share_link_metadata` | Fetch public page title + OpenGraph data from a Ritn3D share URL |
| `validate_glb` | Sanity-check a downloaded GLB file (magic header, version, chunks) |
| `convert_units` | Unit conversion with optional model scale factor (1:100, 1:50, etc.) |
| `get_capabilities` | Returns Ritn3D's supported inputs, outputs, accuracy by input type, and pricing |
| `get_pricing` | Returns current Ritn3D pricing tiers in USD |
| `get_failure_modes` | Returns structured list of known failure modes with mitigation tips |
## Resources exposed
| URI | Content |
|---|---|
| `ritn3d://capability-card` | Machine-readable summary of what Ritn3D does, accuracy, pricing |
| `ritn3d://failure-playbook` | Common failure modes and mitigations |
## Example agent flow
> User: "I have a real estate listing PDF I want to 3D print as a model
> of my future apartment."
>
> Agent calls `validate_floor_plan_image("listing.pdf.jpg")` →
> warnings: aspect ratio normal, resolution OK.
>
> Agent calls `estimate_complexity(...)` → label "moderate", score 0.5.
>
> Agent calls `get_failure_modes()` → notices the
> "real-estate-listing-render" failure mode applies; warns the user
> that wood-floor textures may trip detection.
>
> Agent calls `get_pricing()` → quotes Pro+ at $19.99/mo for STL export.
>
> Agent recommends: try the Ritn3D web app at app.ritn3d.com; if
> detection fails on this listing PDF, ask the agent to estimate the
> complexity of an alternate input.
## What this server does NOT do
- Run inference. The Ritn3D wall-detection model lives on Ritn3D's
servers and is reached through the [web app](https://app.ritn3d.com).
- Bypass the Ritn3D subscription. Pricing is enforced server-side.
- Expose the rendering pipeline internals.
- Provide a render queue or job-tracking API.
The intent is to make agents better citizens of the Ritn3D workflow,
not to replicate it.
## Source
Built by the [Ritn3D](https://www.ritn3d.com) team. Same group that
maintains [`ritn3d-stl-tools`](https://pypi.org/project/ritn3d-stl-tools/)
and [`ritn3d-floorplan-eval`](https://pypi.org/project/ritn3d-floorplan-eval/).
## License
MIT — see [LICENSE](LICENSE).
TDQS
A4.4/5.0
Scored across 3 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: one validates the image format, one estimates complexity, and one estimates render time. There is no functional overlap.
Naming Consistency5/5
All tools follow a consistent verb_noun pattern (validate_, estimate_). The naming is predictable and clear.
Tool Count5/5
With 3 tools, the server is well-scoped for its purpose as a pre-processing helper. The count is appropriate and not excessive.
Completeness4/5
The tools cover essential pre-flight checks and estimations. The missing actual rendering submission is likely handled externally, so no critical gap.
Maintenance
ActivityInactive
ResponsivenessNo issues