Ranuk DataCanvas BI

io.github.RanuK12Published by GitHub account RanuK12v1.0.0Updated Oct 25, 2026

Interactive data visualization and executive PDF dashboards for ChatGPT, Claude, and Cursor.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowData & Analytics

Overview

AI-generated overview

DataCanvas turns tabular data into an interactive dashboard panel with live filters, chart switching and KPI cards, plus executive PDF export.

What you can do
Render an interactive dashboard from tabular data (CSV, TSV, JSON, Excel) in a side panel, with live filters, dynamic chart-type selection and reactive KPI cards, aggregated in the browser via DuckDB-WASM and Apache ECharts. Export executive PDF reports, with a watermark and a monthly limit on the free tier. Persist dashboard templates in the sidebar, with one template on the free tier. Pro tier adds heat maps, funnels, unlimited white-label PDFs and PostgreSQL/BigQuery connections.
When to use it
Useful when a conversation involves a dataset that is better explored visually than as a plain table or static image, and when a shareable executive PDF summary is wanted. The free tier covers basic interactive dashboards; paid features are needed for unlimited or unbranded exports and database connections.
Requirements
Remote MCP endpoint at datacanvas.ranuk.dev over streamable HTTP; no authentication, environment variables or headers are declared. The interactive panel runs in the client interface and aggregates data in the browser. A paid subscription is required for Pro features.
Before you install
The README describes a paid Pro plan (monthly or annual) and an on-premise license purchased through an external Stripe checkout; free-tier PDF exports carry a watermark and are limited per month. The README also mentions monitoring report downloads and contacting registered business emails for sales, and logging Stripe transactions to a local ledger. Data submitted for dashboards is processed by a third-party service.

Installation

In SourceWeft

  1. Open Ranuk DataCanvas BI in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.RanuK12%2Fdatacanvas/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ranuk-datacanvas-bi": {
      "type": "http",
      "url": "https://datacanvas.ranuk.dev/mcp"
    }
  }
}

README

DataCanvas — ChatGPT Plugin Extension (MCP)

[OpenAI Plugin Extension] [Python 3.11+] [FastAPI] [Tailwind & ECharts] [License]

Desarrollado y operado por Ranuk IT Solutions (Emilio Ranucoli)
Transforma cualquier conjunto de datos (CSV, TSV, JSON, Excel) en un tablero analítico interactivo en tiempo real directamente en la interfaz de ChatGPT (thread_panel lateral y global sidebar), con exportación ejecutiva de PDFs vectoriales de alta fidelidad (>400KB) y funnel externo a monetización SaaS.


🎯 Resumen Ejecutivo

DataCanvas resuelve la principal limitación del análisis de datos en ChatGPT: la estaticidad. Cuando un usuario proporciona datos tabulares, en lugar de recibir una tabla de texto plano o una imagen estática generada con Matplotlib, DataCanvas despliega un Conversation Panel interactivo con filtros en vivo, selector dinámico de tipos de gráficos y tarjetas KPI reactivas.

Por qué este modelo genera negocio:

  • Costo de Adquisición (CAC) = $0: Tráfico orgánico impulsado por el directorio global de OpenAI (~1.2B WAU) y triggers contextuales de conversación.
  • Costo de Cómputo Cliente = $0: Las agregaciones analíticas corren en el navegador del usuario vía DuckDB-WASM y Apache ECharts.
  • Monetización 100% Externa: Cumple de forma estricta las normativas de OpenAI. Cero cobros digitales dentro del plugin; todo upgrade a planes Pro ($19/mes o $190/año) se realiza vía Stripe Hosted Checkout en un dominio controlado por Ranuk IT Solutions, sin comisiones ni revenue-share.

🏗️ Arquitectura del Sistema

mermaid
sequenceDiagram    autonumber    actor User as Usuario en ChatGPT    participant GPT as ChatGPT (LLM)    participant MCP as Servidor MCP (FastAPI :7800)    participant UI as Panel UI (Iframe Sandboxed)    participant Engine as Ranuk Report Engine    participant Stripe as Stripe Checkout (Externo)
    User->>GPT: "Armame un dashboard interactivo de este CSV"    GPT->>MCP: Call tool: datacanvas_render_dashboard(title, raw_data)    MCP-->>GPT: Return metadata OpenAIUiToolMetadata (ui://datacanvas/dashboard)    GPT->>UI: Despliega Iframe en el panel lateral vía postMessage    User->>UI: Filtra datos, alterna gráficos y examina KPIs    UI->>UI: Agregación client-side sin costo de cómputo para el backend    User->>UI: Click en "Exportar Reporte Ejecutivo PDF"    alt Usuario Gratuito        UI->>Engine: Genera reporte con watermark Ranuk        Engine-->>UI: Descarga PDF oficial (>400KB) + Modal Upgrade    else Click en "Desbloquear Pro / White-Label"        UI->>User: window.open("https://datacanvas.ranuk.dev/checkout")        User->>Stripe: Pago de suscripción ($19/mo)        Stripe->>MCP: Webhook asienta cobro en income_ledger.json    end

📦 Estructura del Repositorio

text
rk-mcp-datacanvas/├── manifest.json              # Especificación oficial de OpenAI Plugin Extension├── README.md                  # Manual de arquitectura, despliegue y operaciones├── server/│   ├── main.py               # Servidor FastAPI (Protocolo MCP JSON-RPC + UI Server)│   ├── tools.py              # Definición analítica y schemas OpenAIUiToolMetadata│   └── report_bridge.py      # Conexión al motor ranukita_report.py├── ui/│   └── index.html            # Frontend interactivo para el iframe (Tailwind + ECharts)├── scripts/│   ├── rk-mcp-pack.py        # Validador y empaquetador para Apps Management (.zip)│   └── rk-mcp-growth.py      # Cron diario de health check, leads B2B y sync con ledger├── tests/│   └── test_mcp_server.py    # Suite de tests (MCP handshake, tools y reportes)├── submission/│   ├── video_script.md       # Guion de 75 segundos para el revisor de OpenAI│   └── test_cases.json       # Casos de prueba reproducibles para el submission└── dist/    └── rk-mcp-datacanvas.zip # Paquete validado y listo para envío

💎 Modelo de Oferta: Free vs. Pro

CaracterísticaDataCanvas Free (In-Plugin)DataCanvas Pro ($19/mes o $190/año)
Visualización interactiva en ChatGPTIlimitadaIlimitada
Gráficos dinámicos (Barras, Líneas, Donut)SíSí + Mapas de Calor y Funnels
Filtros en tiempo real vía DuckDB-WASMSíSí
Exportación de Reportes PDF3 reportes/mes (con marca de agua)Ilimitados, White-Label y >400KB
Persistencia de plantillas en Sidebar1 plantillaIlimitadas
Conexión con PostgreSQL / BigQueryNoSí
Licencia On-Premise para empresasNoDisponible ($490 un solo pago)

🤖 Manual de Operaciones: Distribución de Tareas

Para garantizar que el sistema funcione de forma autónoma y minimice la carga manual, los roles están distribuidos entre el equipo de agentes de Ranukita y Emilio:

👤 Tareas de Emilio (Única vez — ~5 minutos):

  1. Subir paquete en OpenAI: Ingresar a OpenAI Developer Dashboard / Apps Management, crear nueva aplicación y subir el archivo dist/rk-mcp-datacanvas.zip.
  2. Video de Submission: Grabar un walkthrough de 75 segundos siguiendo el guion submission/video_script.md.
  3. Dominio Público: Asignar el túnel DNS datacanvas.ranuk.dev hacia el servidor local (ej. Cloudflare Tunnel hacia el puerto 7800).

🤖 Tareas de los Agentes de Ranukita (Automáticas 24/7):

  • Director Comercial: Revisa semanalmente la tasa de conversión a checkout y valida las metas de ingresos en el ledger.
  • Vendedor: Monitorea los correos empresariales registrados en descargas de reportes para enviar propuestas de licencia Enterprise ($490 a $1,500).
  • Dev-Bounties / NEXUS: Mantiene el servidor MCP activo, atiende issues de formato de datos y corre los tests de regresión.
  • Cron Diario (rk-mcp-growth.py):
    • Corre a las 10:00 AM todos los días.
    • Verifica el uptime del servidor.
    • Registra las transacciones externas de Stripe directamente en ~/.ranukita/income_ledger.json.
    • Emite el reporte de crecimiento en ~/.ranukita/buzon/.

🚀 Guía de Inicio Rápido

1. Ejecutar Tests de Verificación

bash
python3 -m unittest tests/test_mcp_server.py

2. Iniciar Servidor MCP Localmente

bash
python3 server/main.py# El servidor iniciará en http://127.0.0.1:7800

3. Exponer con Túnel Cloudflare (para pruebas con OpenAI)

bash
cloudflared tunnel --url http://127.0.0.1:7800

4. Regenerar el Paquete de Envío

bash
python3 scripts/rk-mcp-pack.py

5. Ejecutar Cron de Crecimiento Manualmente

bash
python3 scripts/rk-mcp-growth.py

Source: README.md at commit bbc05aa

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v1.0.0LatestOct 25, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declaredRequired10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.