# waqasdaar/chartiva architecture

> Architecture diagram of the GitHub repository waqasdaar/chartiva, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/waqasdaar/chartiva
- Repository: https://github.com/waqasdaar/chartiva

## Overview

Chartiva is a commercial MCP server and agent skill that lets AI assistants turn user data and plain-language requests into interactive visualizations and analyses. The documented flow is: the assistant uses server tools to profile data, choose and render a chart, check it, and return browser-ready HTML or other exports. Separate capabilities include dashboards, linked datasets, network analysis, anomaly detection, and conversational revision. The repository tree contains only showcase assets and a demo, so implementation paths and internal call relationships cannot be verified; edges below reflect README statements only.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_assistant["Assistant interface"]
  node_assistant_client["AI assistant"]
  node_agent_skill["Agent skill"]
  node_mcp_server["MCP server"]
end

subgraph group_analysis["Data analysis"]
  node_data_ingest["Data ingestion"]
  node_data_profile["Data profiling"]
  node_chart_planner["Chart planner"]
  node_data_linking["Dataset linking"]
end

subgraph group_visuals["Visualization"]
  node_chart_renderer["Chart renderer"]
  node_result_check["Result checking"]
  node_interactive_html["Interactive HTML"]
  node_exports["Chart exports"]
  node_dashboards["Dashboards"]
end

subgraph group_capabilities["Analysis features"]
  node_network_analysis["Network analysis"]
  node_anomaly_detection["Anomaly detection"]
  node_chart_revision["Chart revision"]
  node_version_history["Version history"]
end

node_user(("User"))
node_data["User data"]

node_user -->|"asks questions"| node_assistant_client
node_user -->|"provides data"| node_data
node_assistant_client -->|"follows guidance"| node_agent_skill
node_assistant_client -->|"uses tools"| node_mcp_server
node_mcp_server -->|"reads formats"| node_data_ingest
node_data -->|"supplies input"| node_data_ingest
node_data_ingest -->|"profiles data"| node_data_profile
node_data_profile -->|"informs choice"| node_chart_planner
node_chart_planner -->|"selects chart"| node_chart_renderer
node_chart_renderer -->|"checks result"| node_result_check
node_result_check -->|"returns HTML"| node_interactive_html
node_mcp_server -->|"exports formats"| node_exports
node_mcp_server -->|"creates dashboards"| node_dashboards
node_mcp_server -->|"links datasets"| node_data_linking
node_mcp_server -->|"computes analytics"| node_network_analysis
node_mcp_server -->|"detects anomalies"| node_anomaly_detection
node_assistant_client -->|"refines conversationally"| node_chart_revision
node_chart_revision -->|"tracks versions"| node_version_history

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_assistant_client,node_agent_skill,node_mcp_server,node_user,node_data toneBlue
class node_data_ingest,node_data_profile,node_chart_planner,node_data_linking toneAmber
class node_chart_renderer,node_result_check,node_interactive_html,node_exports,node_dashboards toneMint
class node_network_analysis,node_anomaly_detection,node_chart_revision,node_version_history toneRose
```

## Components

### Assistant interface

- **AI assistant**
- **Agent skill**
- **MCP server**

### Data analysis

- **Data ingestion**
- **Data profiling**
- **Chart planner**
- **Dataset linking**

### Visualization

- **Chart renderer**
- **Result checking**
- **Interactive HTML**
- **Chart exports**
- **Dashboards**

### Analysis features

- **Network analysis**
- **Anomaly detection**
- **Chart revision**
- **Version history**

### Other components

- **User**
- **User data**

## Connections

- User → AI assistant: asks questions (evidence: `README.md`)
- User → User data: provides data (evidence: `README.md`)
- AI assistant → Agent skill: follows guidance (evidence: `README.md`)
- AI assistant → MCP server: uses tools (evidence: `README.md`)
- MCP server → Data ingestion: reads formats (evidence: `README.md`)
- User data → Data ingestion: supplies input (evidence: `README.md`)
- Data ingestion → Data profiling: profiles data (evidence: `README.md`)
- Data profiling → Chart planner: informs choice (evidence: `README.md`)
- Chart planner → Chart renderer: selects chart (evidence: `README.md`)
- Chart renderer → Result checking: checks result (evidence: `README.md`)
- Result checking → Interactive HTML: returns HTML (evidence: `README.md`)
- MCP server → Chart exports: exports formats (evidence: `README.md`)
- MCP server → Dashboards: creates dashboards (evidence: `README.md`)
- MCP server → Dataset linking: links datasets (evidence: `README.md`)
- MCP server → Network analysis: computes analytics (evidence: `README.md`)
- MCP server → Anomaly detection: detects anomalies (evidence: `README.md`)
- AI assistant → Chart revision: refines conversationally (evidence: `README.md`)
- Chart revision → Version history: tracks versions (evidence: `README.md`)
