{
  "markdown": "<!-- mcp-name: io.github.nveil-ai/nveil -->\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/nveil-ai/nveil-toolkit/main/assets/logo.png\" alt=\"NVEIL\" width=\"180\">\n</p>\n\n<h1 align=\"center\">NVEIL Toolkit</h1>\n\n<p align=\"center\">\n  <strong>Describe your data. Get production charts. Your data stays local.</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://pypi.org/project/nveil/\"><img src=\"https://img.shields.io/pypi/v/nveil?color=orange&label=PyPI\" alt=\"PyPI\"></a>\n  <a href=\"https://pypi.org/project/nveil/\"><img src=\"https://img.shields.io/pypi/pyversions/nveil?color=blue\" alt=\"Python\"></a>\n  <a href=\"https://docs.nveil.com\"><img src=\"https://img.shields.io/badge/docs-docs.nveil.com-blue\" alt=\"Docs\"></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-AGPL--3.0--or--later-blue\" alt=\"License\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://docs.nveil.com/getting-started/quickstart/\">Quickstart</a> &bull;\n  <a href=\"https://docs.nveil.com/api-reference/\">API Reference</a> &bull;\n  <a href=\"https://docs.nveil.com/examples/\">Examples</a> &bull;\n  <a href=\"https://docs.nveil.com/changelog/\">Changelog</a>\n</p>\n\n---\n\nNVEIL is an AI-powered data visualization toolkit. Write one line of natural language, and NVEIL processes your data and generates publication-ready visualizations — no chart code, no hallucinations, no data leaving your machine.\n\n```python\nimport nveil\n\nnveil.configure(api_key=\"nveil_...\")\n\n# Pass a file path directly — no DataFrame loading required.\nspec = nveil.generate_spec(\"Revenue by region, colored by quarter\", \"sales.csv\")\n\nfig = spec.render(\"sales.csv\")   # 100% local — no API call\nnveil.show(fig)                   # opens in browser\n```\n\n### From your shell\n\nAfter `pip install nveil` the `nveil` command is on your `$PATH`:\n\n```bash\nexport NVEIL_API_KEY=nveil_...\n\n# Ground yourself on the dataset (shape / dtypes / head preview)\nnveil describe sales.csv\n\n# Generate HTML + PNG + a reusable .nveil spec, print the explanation\nnveil generate \"Revenue by region, colored by quarter\" \\\n  --data sales.csv --format all --explain\n\n# Re-render an existing spec on fresh data — no API call\nnveil render chart.nveil --data new_sales.csv\n```\n\n### For AI agents (Claude Code / Claude Desktop / Cursor / Codex / …)\n\nNVEIL ships first-class integrations:\n\n```bash\n# Claude Code / Claude Desktop — install the bundled skill\nnveil install-skill\n\n# Claude Desktop, Cursor, any MCP client — add an MCP server:\n# {\"mcpServers\": {\"nveil\": {\"command\": \"nveil\", \"args\": [\"mcp\"]}}}\nnveil mcp                    # stdio server; launched by the MCP client\n```\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/nveil-ai/nveil-toolkit/main/assets/dashboard.png\" alt=\"NVEIL multi-panel dashboard with charts, heatmaps, and flow diagrams\" width=\"800\">\n</p>\n\n## Why NVEIL?\n\n| Capability | **NVEIL** | Chatbot data analysis¹ | LLM-to-viz libraries² | Traditional plotting³ |\n|---|:-:|:-:|:-:|:-:|\n| Natural-language input | ✓ | ✓ | ✓ | ✗ |\n| Raw data stays on your machine | ✓ | ✗ | ✗ | ✓ |\n| Only schema + stats sent to server | ✓ | ✗ | ✗ | N/A |\n| Deterministic, reproducible output | ✓ | ✗ | ✗ | ✓ |\n| Offline re-rendering, zero API calls | ✓ | ✗ | ✗ | ✓ |\n| Portable saved specs (`.nveil` files) | ✓ | ✗ | ✗ | ✗ |\n| 2D + 3D + geospatial + scientific | ✓ | 2D | 2D | varies |\n| Multi-backend (Plotly, VTK, DeckGL) | ✓ | ✗ | ✗ | ✗ |\n| Data processing engine | ✓ | ✓ | partial | ✗ |\n\n<sub>¹ ChatGPT Advanced Data Analysis, Claude Analysis tool, Gemini Data Agent &nbsp;·&nbsp; ² PandasAI, LIDA, Julius, Vanna &nbsp;·&nbsp; ³ Plotly, Matplotlib, Seaborn</sub>\n\n## How It Works\n\n```\nYour Data ──> Toolkit ──metadata only──> NVEIL AI ──> Processing Plan ──> Local Execution ──> Result\n               ^                                                           ^\n          raw data stays here                                     raw data stays here\n```\n\n1. **You describe** what you want in plain language\n2. **NVEIL AI plans** the data processing and visualization (only metadata is sent — column names, types, statistics)\n3. **The Toolkit executes locally** — joins, aggregations, pivots, rendering — all on your machine\n4. **You get a figure** — Plotly, VTK, or DeckGL, auto-selected for your data\n\n## Key Features\n\n<table>\n<tr>\n<td width=\"50%\">\n\n### 🧠 Two Engines in One\nData processing (joins, pivots, aggregations, geocoding, time series) **AND** visualization generation from a single prompt.\n\n### 🔒 Data Privacy by Design\nRaw data never leaves your machine. Only column names, types, and aggregate statistics are sent.\n\n### 📈 Multi-Backend Rendering\nAuto-detects the best engine: **Plotly** (2D charts), **VTK** (3D/medical), **DeckGL** (geospatial).\n\n</td>\n<td width=\"50%\">\n\n### 🧪 Auditable Results\nPowered by constraint solving, not random generation. Same input = same output, every time.\n\n### ⚡ Offline Rendering\n`spec.render()` runs 100% locally with zero API calls.\n\n### 💾 Reusable Specs\nSave to `.nveil` files, reload later, render on new data — no server needed.\n\n</td>\n</tr>\n</table>\n\n## Beyond Simple Charts\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/nveil-ai/nveil-toolkit/main/assets/ai-chat.png\" alt=\"NVEIL AI chat — conversational data exploration with geospatial heatmaps\" width=\"800\">\n</p>\n\nNVEIL handles geospatial heatmaps, 3D volumes, scientific visualizations, medical imaging (DICOM), biosignal data (EDF/EDF+), network graphs, and 50+ other visualization types — all from natural language.\n\n## Save Once, Render Forever\n\n```python\n# Generate once (API call)\nspec = nveil.generate_spec(\"Monthly trend by category\", df)\nspec.save(\"trend.nveil\")\n\n# Reload anywhere — no API call, no server, no cost\nspec = nveil.load_spec(\"trend.nveil\")\nfig = spec.render(fresh_data)\nnveil.save_image(fig, \"report.png\")\n```\n\n## Installation\n\n```bash\npip install nveil\n```\n\n**Requirements:** Python 3.10+\n\n## Getting Started\n\n1. Create an account at [app.nveil.com](https://app.nveil.com)\n2. Generate an API key in **Settings**\n3. Start visualizing\n\n```python\nimport os\nimport nveil\n\nnveil.configure(api_key=os.environ[\"NVEIL_API_KEY\"])\n\nspec = nveil.generate_spec(\"scatter plot of price vs area\", df)\nfig = spec.render(df)\nnveil.show(fig)\n```\n\nSee the [examples/](examples/) directory for more usage patterns.\n\n## Documentation\n\nFull documentation is available at **[docs.nveil.com](https://docs.nveil.com)**:\n\n- [Quickstart Guide](https://docs.nveil.com/getting-started/quickstart/)\n- [Core Concepts](https://docs.nveil.com/concepts/) — sessions, specs, and the two-stage flow\n- [API Reference](https://docs.nveil.com/api-reference/) — full reference for all public functions\n- [Privacy Model](https://docs.nveil.com/concepts/privacy-model/) — what data is sent, what stays local\n- [Examples](https://docs.nveil.com/examples/) — bar charts, multi-dataset, offline rendering\n\n## Contributing\n\nContributions are welcome under the project's [Contributor License Agreement](licensing/CLA.md). Bug reports and feature requests are welcome via [GitHub Issues](https://github.com/nveil-ai/nveil-toolkit/issues).\n\n## License\n\nGNU AGPL v3 or later. See [LICENSE](LICENSE). Commercial dual-licensing is available — contact `pierre.jacquet@nveil.com`.\n\n---\n\n<p align=\"center\">\n  <a href=\"https://nveil.com\">Website</a> &bull;\n  <a href=\"https://docs.nveil.com\">Documentation</a> &bull;\n  <a href=\"https://app.nveil.com\">Platform</a>\n</p>\n",
  "bytes": 7431,
  "sha": "88953e0fda234567f0a51c7a87e6ee11ef93b0cb2d7c34ef57b405b7f46bafce",
  "repo_slug": "nveil-ai/nveil-toolkit",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_nveil_ai_nveil_314f371c/readme"
}