vizro-mcp 0.1.2__tar.gz → 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/.gitignore +5 -0
  2. vizro_mcp-0.1.4/.readthedocs.yaml +17 -0
  3. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/CHANGELOG.md +27 -1
  4. vizro_mcp-0.1.4/PKG-INFO +202 -0
  5. vizro_mcp-0.1.4/README.md +182 -0
  6. vizro_mcp-0.1.4/docs/assets/images/chart-context-copy.png +0 -0
  7. vizro_mcp-0.1.4/docs/assets/images/claude_prompt.png +0 -0
  8. vizro_mcp-0.1.4/docs/assets/images/claude_working.png +0 -0
  9. vizro_mcp-0.1.4/docs/assets/images/cursor-tutorial-allowlist-disclaimer.png +0 -0
  10. vizro_mcp-0.1.4/docs/assets/images/cursor-tutorial-multiple-allowlist-additions.png +0 -0
  11. vizro_mcp-0.1.4/docs/assets/images/cursor-tutorial-update-allowlist.png +0 -0
  12. vizro_mcp-0.1.4/docs/assets/images/cursor-tutorial-vizro-mcp-confirmed.png +0 -0
  13. vizro_mcp-0.1.4/docs/assets/images/cursor-tutorial1.png +0 -0
  14. vizro_mcp-0.1.4/docs/assets/images/cursor-tutorial2.png +0 -0
  15. vizro_mcp-0.1.4/docs/assets/images/cursor-tutorial3.png +0 -0
  16. vizro_mcp-0.1.4/docs/assets/images/cursor-tutorial4.5.png +0 -0
  17. vizro_mcp-0.1.4/docs/assets/images/cursor-tutorial4.png +0 -0
  18. vizro_mcp-0.1.4/docs/assets/images/cursor-tutorial5.png +0 -0
  19. vizro_mcp-0.1.4/docs/assets/images/cursor-tutorial6.png +0 -0
  20. vizro_mcp-0.1.4/docs/assets/images/favicon.png +0 -0
  21. vizro_mcp-0.1.4/docs/assets/images/install-vizro-mcp-cursor-docker.png +0 -0
  22. vizro_mcp-0.1.4/docs/assets/images/install-vizro-mcp-cursor-uv.png +0 -0
  23. vizro_mcp-0.1.4/docs/assets/images/install-vizro-mcp-vscode-uv.png +0 -0
  24. vizro_mcp-0.1.4/docs/assets/images/looping-data-upload.gif +0 -0
  25. vizro_mcp-0.1.4/docs/assets/images/pycafe-usage.png +0 -0
  26. vizro_mcp-0.1.4/docs/assets/images/save-pycafe.png +0 -0
  27. vizro_mcp-0.1.4/docs/assets/images/share-vizro-project-options.png +0 -0
  28. vizro_mcp-0.1.4/docs/assets/images/show-mcp-under-profiles.gif +0 -0
  29. vizro_mcp-0.1.4/docs/assets/images/song-decades-iteration1.png +0 -0
  30. vizro_mcp-0.1.4/docs/assets/images/song-decades-iteration2.png +0 -0
  31. vizro_mcp-0.1.4/docs/assets/images/song-decades-iteration3.png +0 -0
  32. vizro_mcp-0.1.4/docs/assets/images/song-top-10-iteration1.png +0 -0
  33. vizro_mcp-0.1.4/docs/assets/images/two-chart-dashboard-iteration1.png +0 -0
  34. vizro_mcp-0.1.4/docs/assets/images/two-chart-dashboard-iteration2.png +0 -0
  35. vizro_mcp-0.1.4/docs/assets/images/use-cursor-prompt-template.png +0 -0
  36. vizro_mcp-0.1.4/docs/assets/images/vizro-mcp-templates-in-claude.png +0 -0
  37. vizro_mcp-0.1.4/docs/assets/images/vscode-tutorial-file-creation.png +0 -0
  38. vizro_mcp-0.1.4/docs/assets/images/vscode-tutorial-permission-grant.png +0 -0
  39. vizro_mcp-0.1.4/docs/assets/images/vscode-tutorial-permisson-request.png +0 -0
  40. vizro_mcp-0.1.4/docs/assets/videos/vs-code-tutorial/00-create-workspace.mp4 +0 -0
  41. vizro_mcp-0.1.4/docs/assets/videos/vs-code-tutorial/00-prompt-submission.mp4 +0 -0
  42. vizro_mcp-0.1.4/docs/assets/videos/vs-code-tutorial/01-blank-dashboard.mp4 +0 -0
  43. vizro_mcp-0.1.4/docs/assets/videos/vs-code-tutorial/02-first-chart-first-run.mp4 +0 -0
  44. vizro_mcp-0.1.4/docs/assets/videos/vs-code-tutorial/03-first-chart-with-slider.mp4 +0 -0
  45. vizro_mcp-0.1.4/docs/assets/videos/vs-code-tutorial/04-first-chart-complete.mp4 +0 -0
  46. vizro_mcp-0.1.4/docs/assets/videos/vs-code-tutorial/05-second-chart-first-run.mp4 +0 -0
  47. vizro_mcp-0.1.4/docs/assets/videos/vs-code-tutorial/06-second-chart-complete.mp4 +0 -0
  48. vizro_mcp-0.1.4/docs/assets/videos/vs-code-tutorial/07-final-dashboard.mp4 +0 -0
  49. vizro_mcp-0.1.4/docs/assets/videos/vs-code-tutorial/08-share-with-pycafe.mp4 +0 -0
  50. vizro_mcp-0.1.4/docs/index.md +39 -0
  51. vizro_mcp-0.1.4/docs/pages/API-reference/API-reference.md +16 -0
  52. vizro_mcp-0.1.4/docs/pages/explanation/contribute.md +33 -0
  53. vizro_mcp-0.1.4/docs/pages/explanation/disclaimers.md +53 -0
  54. vizro_mcp-0.1.4/docs/pages/explanation/faqs.md +21 -0
  55. vizro_mcp-0.1.4/docs/pages/guides/create-charts-only.md +11 -0
  56. vizro_mcp-0.1.4/docs/pages/guides/get-live-preview.md +7 -0
  57. vizro_mcp-0.1.4/docs/pages/guides/set-up-vizro-mcp-basics.md +84 -0
  58. vizro_mcp-0.1.4/docs/pages/guides/set-up-vizro-mcp-with-claude.md +98 -0
  59. vizro_mcp-0.1.4/docs/pages/guides/set-up-vizro-mcp-with-cursor.md +97 -0
  60. vizro_mcp-0.1.4/docs/pages/guides/set-up-vizro-mcp-with-vscode.md +73 -0
  61. vizro_mcp-0.1.4/docs/pages/guides/use-data.md +43 -0
  62. vizro_mcp-0.1.4/docs/pages/guides/use-prompt-templates.md +23 -0
  63. vizro_mcp-0.1.4/docs/pages/tutorials/claude-desktop-tutorial.md +272 -0
  64. vizro_mcp-0.1.4/docs/pages/tutorials/cursor-tutorial.md +383 -0
  65. vizro_mcp-0.1.4/docs/pages/tutorials/first-dashboard-tutorial.md +95 -0
  66. vizro_mcp-0.1.4/docs/pages/tutorials/vs-code-tutorial.md +465 -0
  67. vizro_mcp-0.1.4/docs/stylesheets/extra.css +47 -0
  68. vizro_mcp-0.1.4/hatch.toml +86 -0
  69. vizro_mcp-0.1.4/mkdocs.yml +122 -0
  70. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/pyproject.toml +4 -3
  71. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/src/vizro_mcp/__init__.py +1 -1
  72. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/src/vizro_mcp/_schemas/__init__.py +2 -0
  73. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/src/vizro_mcp/_schemas/schemas.py +18 -2
  74. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/src/vizro_mcp/_utils/configs.py +2 -2
  75. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/src/vizro_mcp/_utils/prompts.py +36 -10
  76. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/src/vizro_mcp/_utils/utils.py +5 -2
  77. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/src/vizro_mcp/server.py +65 -51
  78. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/tests/unit/vizro_mcp/test_server.py +2 -1
  79. vizro_mcp-0.1.2/PKG-INFO +0 -323
  80. vizro_mcp-0.1.2/README.md +0 -304
  81. vizro_mcp-0.1.2/assets/claude_prompt.png +0 -0
  82. vizro_mcp-0.1.2/assets/claude_working.png +0 -0
  83. vizro_mcp-0.1.2/assets/cursor_working.png +0 -0
  84. vizro_mcp-0.1.2/hatch.toml +0 -45
  85. vizro_mcp-0.1.2/uv.lock +0 -1485
  86. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/.dockerignore +0 -0
  87. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/Dockerfile +0 -0
  88. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/LICENSE.txt +0 -0
  89. /vizro_mcp-0.1.2/changelog.d/20250630_120648_maximilian_schulz_mcp.md → /vizro_mcp-0.1.4/changelog.d/20260204_090843_maximilian_schulz_0_1_4.md +0 -0
  90. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/changelog.d/new_fragment.md.j2 +0 -0
  91. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/changelog.d/scriv.ini +0 -0
  92. {vizro_mcp-0.1.2/assets → vizro_mcp-0.1.4/docs/assets/images}/claude_validate.png +0 -0
  93. {vizro_mcp-0.1.2/assets → vizro_mcp-0.1.4/docs/assets/images}/vizro-mcp.gif +0 -0
  94. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/glama.json +0 -0
  95. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/src/vizro_mcp/_utils/__init__.py +0 -0
  96. {vizro_mcp-0.1.2 → vizro_mcp-0.1.4}/src/vizro_mcp/py.typed +0 -0
@@ -37,6 +37,7 @@ share/python-wheels/
37
37
  .installed.cfg
38
38
  *.egg
39
39
  MANIFEST
40
+ vizro-core/cache/*
40
41
 
41
42
  # macOS
42
43
  *.DS_Store
@@ -163,3 +164,7 @@ cython_debug/
163
164
  *.sqlite
164
165
  *.sqlite3
165
166
  *.orc
167
+
168
+ #uv
169
+ # Every library user will have its own lock file
170
+ uv.lock
@@ -0,0 +1,17 @@
1
+ # Read the Docs configuration file for MkDocs projects
2
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3
+
4
+ # Required
5
+ version: 2
6
+
7
+ # Set the version of Python and other tools you might need
8
+ build:
9
+ os: ubuntu-22.04
10
+ tools:
11
+ python: "3.13"
12
+ commands:
13
+ - pip install hatch
14
+ - cd vizro-mcp/ && hatch run docs:pip tree
15
+ - cd vizro-mcp/ && hatch run docs:build
16
+ - mkdir --parents $READTHEDOCS_OUTPUT
17
+ - mv vizro-mcp/site/ $READTHEDOCS_OUTPUT/html
@@ -1,4 +1,30 @@
1
- <a id='changelog-0.1.2'></a>
1
+ <a id='changelog-0.1.4'></a>
2
+
3
+ # 0.1.4 — 2026-02-04
4
+
5
+ ## Added
6
+
7
+ - Add support for Python 3.14. ([#1484](https://github.com/mckinsey/vizro/pull/1484))
8
+
9
+ ## Changed
10
+
11
+ - Simplified MCP prompts by removing opinionated layout instructions to make the tool more neutral. ([#1535](https://github.com/mckinsey/vizro/pull/1535)) <a id='changelog-0.1.3'></a>
12
+
13
+ # 0.1.3 — 2025-09-29
14
+
15
+ ## Added
16
+
17
+ - Added ability to use KPI cards in `Figure`. ([#1392](https://github.com/mckinsey/vizro/pull/1392))
18
+
19
+ ## Changed
20
+
21
+ - Updated Layout prompting for better Layout performance of the MCP server. ([#1405](https://github.com/mckinsey/vizro/pull/1405))
22
+
23
+ - Updated Vizro version to >=0.1.46. ([#1423](https://github.com/mckinsey/vizro/pull/1423))
24
+
25
+ ## Fixed
26
+
27
+ - Added tool parameter descriptions to Field definition instead of docstring so that they display properly in hosts like Cursor. ([#1374](https://github.com/mckinsey/vizro/pull/1374)) <a id='changelog-0.1.2'></a>
2
28
 
3
29
  # 0.1.2 — 2025-06-30
4
30
 
@@ -0,0 +1,202 @@
1
+ Metadata-Version: 2.4
2
+ Name: vizro-mcp
3
+ Version: 0.1.4
4
+ Summary: MCP server to help create Vizro dashboards and charts
5
+ Author: Vizro Team
6
+ License-File: LICENSE.txt
7
+ Classifier: Programming Language :: Python
8
+ Classifier: Programming Language :: Python :: 3.10
9
+ Classifier: Programming Language :: Python :: 3.11
10
+ Classifier: Programming Language :: Python :: 3.12
11
+ Classifier: Programming Language :: Python :: 3.13
12
+ Classifier: Programming Language :: Python :: 3.14
13
+ Requires-Python: >=3.10
14
+ Requires-Dist: click>=8.1.7
15
+ Requires-Dist: httpx>=0.28.1
16
+ Requires-Dist: mcp[cli]>=1.6.0
17
+ Requires-Dist: pandas[excel,html,parquet]
18
+ Requires-Dist: vizro>=0.1.46
19
+ Description-Content-Type: text/markdown
20
+
21
+ <!-- <a href="https://glama.ai/mcp/servers/@mckinsey/vizro">
22
+ <img width="380" height="200" src="https://glama.ai/mcp/servers/@mckinsey/vizro/badge" />
23
+ </a> -->
24
+
25
+ # Vizro-MCP
26
+
27
+ Vizro-MCP is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server, which works alongside an LLM to help you create Vizro dashboards and charts.
28
+
29
+ <img src="docs/assets/images/vizro-mcp.gif" width="600" alt="Vizro-MCP Demo">
30
+
31
+ To find out more, consult the [Vizro-MCP documentation](https://vizro.readthedocs.io/projects/vizro-mcp/).
32
+
33
+ ## Set up Vizro-MCP
34
+
35
+ Vizro-MCP is best used with Claude Desktop, Cursor or VS Code. However, it can be used with most LLM products that enable configuration of MCP server usage.
36
+
37
+ > 💡 Tip: For best performance, we recommend using the `claude-4-sonnet` model, or another high-performing model of your choice. Using the often offered `auto` setting may lead to inconsistent or unexpected results.
38
+
39
+ Our documentation offers separate, detailed steps for [Claude Desktop](https://vizro.readthedocs.io/projects/vizro-mcp/en/latest/pages/guides/set-up-vizro-mcp-with-claude/), [Cursor](https://vizro.readthedocs.io/projects/vizro-mcp/en/latest/pages/guides/set-up-vizro-mcp-with-cursor/) and [VS Code](https://vizro.readthedocs.io/projects/vizro-mcp/en/latest/pages/guides/set-up-vizro-mcp-with-vscode/).
40
+
41
+ ### Basic configuration
42
+
43
+ The following is for those familiar with MCP server setup who are comfortable with basic configuration settings. You must have downloaded and installed the LLM app you want to configure and use as a MCP host.
44
+
45
+ <details>
46
+ <summary><strong>Quick setup for Vizro-MCP using uv</strong></summary>
47
+
48
+ You must first install [uv](https://docs.astral.sh/uv/getting-started/installation/).
49
+
50
+ Next, open a terminal window and type `uv` to confirm that is available. To get the path to `uvx`, type the following:
51
+
52
+ ```shell
53
+ which uv
54
+ ```
55
+
56
+ Copy the path returned, and add the following to the JSON file used to configure MCP servers for your LLM app. Be sure to substitute your path to uv as returned above, for the placeholder given:
57
+
58
+ ```
59
+ {
60
+ "mcpServers": {
61
+ "vizro-mcp": {
62
+ "command": "/placeholder-path/uvx",
63
+ "args": [
64
+ "vizro-mcp"
65
+ ]
66
+ }
67
+ }
68
+ }
69
+ ```
70
+
71
+ **Quick install**
72
+
73
+ | Host | Prerequisite | Link |
74
+ | ----------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
75
+ | [Cursor](https://www.cursor.com/) | [uv](https://docs.astral.sh/uv/getting-started/installation/) | [![Install with UVX in Cursor](https://img.shields.io/badge/Cursor-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://cursor.com/en/install-mcp?name=vizro-mcp&config=eyJjb21tYW5kIjoidXZ4IHZpenJvLW1jcCJ9) |
76
+ | [VS Code](https://code.visualstudio.com/) | [uv](https://docs.astral.sh/uv/guides/tools/) | [![Install with UVX in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=vizro-mcp&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22vizro-mcp%22%5D%7D) |
77
+
78
+ </details>
79
+
80
+ <details>
81
+ <summary><strong>Quick setup for Vizro-MCP using Docker</strong></summary>
82
+
83
+ You must first install [Docker](https://www.docker.com/get-started/).
84
+
85
+ Next, add the following to the JSON file used to configure MCP servers for your LLM app.
86
+
87
+ ```
88
+ {
89
+ "mcpServers": {
90
+ "vizro-mcp": {
91
+ "command": "docker",
92
+ "args": [
93
+ "run",
94
+ "-i",
95
+ "--rm",
96
+ "mcp/vizro"
97
+ ]
98
+ }
99
+ }
100
+ }
101
+ ```
102
+
103
+ **To use local data with Docker**
104
+
105
+ Mount your data directory or directories into the container with the following extended configuration. Replace `</absolute/path/to/allowed/dir>` (syntax for folders) or `</absolute/path/to/data.csv>` (syntax for files) with the absolute path to your data on your machine. For consistency, we recommend that the `dst` path matches the `src` path.
106
+
107
+ ```
108
+ {
109
+ "mcpServers": {
110
+ "vizro-mcp": {
111
+ "command": "docker",
112
+ "args": [
113
+ "run",
114
+ "-i",
115
+ "--rm",
116
+ "--mount",
117
+ "type=bind,src=</absolute/path/to/allowed/dir>,dst=</absolute/path/to/allowed/dir>",
118
+ "--mount",
119
+ "type=bind,src=</absolute/path/to/data.csv>,dst=</absolute/path/to/data.csv>",
120
+ "mcp/vizro"
121
+ ]
122
+ }
123
+ }
124
+ }
125
+ ```
126
+
127
+ **Quick install**
128
+
129
+ | Host | Prerequisite | Link | Notes |
130
+ | ----------------------------------------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
131
+ | [Cursor](https://www.cursor.com/) | [Docker](https://www.docker.com/get-started/) | [![Install with Docker in Cursor](https://img.shields.io/badge/Cursor-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://cursor.com/en/install-mcp?name=vizro-mcp&config=eyJjb21tYW5kIjoiZG9ja2VyIHJ1biAtaSAtLXJtIG1jcC92aXpybyIsImVudiI6e319) | For local data access, [mount your data directory](#setup-instructions) |
132
+ | [VS Code](https://code.visualstudio.com/) | [Docker](https://www.docker.com/get-started/) | [![Install with Docker in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=vizro-mcp&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22mcp%2Fvizro%22%5D%7D) | For local data access, [mount your data directory](#setup-instructions) |
133
+
134
+ </details>
135
+
136
+ ## Disclaimers
137
+
138
+ ### Transparency and trust
139
+
140
+ MCP servers are a relatively new concept, and it is important to be transparent about what the tools are capable of so you can make an informed choice as a user. Overall, the Vizro MCP server only reads data, and never writes, deletes or modifies any data on your machine.
141
+
142
+ ### Third party API
143
+
144
+ Users are responsible for anything done via their host LLM application.
145
+
146
+ Users are responsible for procuring any and all rights necessary to access any third-party generative AI tools and for complying with any applicable terms or conditions thereof.
147
+
148
+ Users are wholly responsible for the use and security of the third-party generative AI tools and of Vizro.
149
+
150
+ ### Legal information
151
+
152
+ <details>
153
+ <summary><strong>User acknowledgments</strong></summary>
154
+
155
+ Users acknowledge and agree that:
156
+
157
+ Any results, options, data, recommendations, analyses, code, or other information (“Outputs”) generated by any third-party generative AI tools (“GenAI Tools”) may contain some inaccuracies, biases, illegitimate, potentially infringing, or otherwise inappropriate content that may be mistaken, discriminatory, or misleading.
158
+
159
+ McKinsey & Company:
160
+
161
+ (i) expressly disclaims the accuracy, adequacy, timeliness, reliability, merchantability, fitness for a particular purpose, non-infringement, safety or completeness of any Outputs,
162
+
163
+ (ii) shall not be liable for any errors, omissions, or other defects in, delays or interruptions in such Outputs, or for any actions taken in reliance thereon, and
164
+
165
+ (iii) shall not be liable for any alleged violation or infringement of any right of any third party resulting from the users’ use of the GenAI Tools and the Outputs.
166
+
167
+ The Outputs shall be verified and validated by the users and shall not be used without human oversight and as a sole basis for making decisions impacting individuals.
168
+
169
+ Users remain solely responsible for the use of the Output, in particular, the users will need to determine the level of human oversight needed to be given the context and use case, as well as for informing the users’ personnel and other affected users about the nature of the GenAI Output. Users are also fully responsible for their decisions, actions, use of Vizro and Vizro-MCP and compliance with applicable laws, rules, and regulations, including but not limited to confirming that the Outputs do not infringe any third-party rights.
170
+
171
+ </details>
172
+
173
+ <details>
174
+ <summary><strong>Warning and safety usage for generative AI models</strong></summary>
175
+
176
+ Vizro-MCP is used by generative AI models because large language models (LLMs) represent significant advancements in the AI field. However, as with any powerful tool, there are potential risks associated with connecting to a generative AI model.
177
+
178
+ We recommend users research and understand the selected model before using Vizro-MCP. We also recommend users to check the MCP server code before using it.
179
+
180
+ Users are encouraged to treat AI-generated content as supplementary, always apply human judgment, approach with caution, review the relevant disclaimer page, and consider the following:
181
+
182
+ <ol>
183
+ <li>Hallucination and misrepresentation</li>
184
+ Generative models can potentially generate information while appearing factual, being entirely fictitious or misleading.
185
+
186
+ The vendor models might lack real-time knowledge or events beyond its last updates. Vizro-MCP output may vary and you should always verify critical information. It is the user's responsibility to discern the accuracy, consistent, and reliability of the generated content.
187
+
188
+ <li>Unintended and sensitive output</li>
189
+ The outputs from these models can be unexpected, inappropriate, or even harmful. Users as human in the loop is an essential part. Users must check and interpret the final output. It is necessary to approach the generated content with caution, especially when shared or applied in various contexts.
190
+
191
+ <li>Data privacy</li>
192
+ Your data is sent to model vendors if you connect to LLMs via their APIs. For example, if you connect to the model from OpenAI, your data will be sent to OpenAI via their API. Users should be cautious about sharing or inputting any personal or sensitive information.
193
+
194
+ <li>Bias and fairness</li>
195
+ Generative AI can exhibit biases present in their training data. Users need to be aware of and navigate potential biases in generated outputs and be cautious when interpreting the generated content.
196
+
197
+ <li>Malicious use</li>
198
+ These models can be exploited for various malicious activities. Users should be cautious about how and where they deploy and access such models.
199
+ </ol>
200
+ It's crucial for users to remain informed, cautious, and ethical in their applications.
201
+
202
+ </details>
@@ -0,0 +1,182 @@
1
+ <!-- <a href="https://glama.ai/mcp/servers/@mckinsey/vizro">
2
+ <img width="380" height="200" src="https://glama.ai/mcp/servers/@mckinsey/vizro/badge" />
3
+ </a> -->
4
+
5
+ # Vizro-MCP
6
+
7
+ Vizro-MCP is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server, which works alongside an LLM to help you create Vizro dashboards and charts.
8
+
9
+ <img src="docs/assets/images/vizro-mcp.gif" width="600" alt="Vizro-MCP Demo">
10
+
11
+ To find out more, consult the [Vizro-MCP documentation](https://vizro.readthedocs.io/projects/vizro-mcp/).
12
+
13
+ ## Set up Vizro-MCP
14
+
15
+ Vizro-MCP is best used with Claude Desktop, Cursor or VS Code. However, it can be used with most LLM products that enable configuration of MCP server usage.
16
+
17
+ > 💡 Tip: For best performance, we recommend using the `claude-4-sonnet` model, or another high-performing model of your choice. Using the often offered `auto` setting may lead to inconsistent or unexpected results.
18
+
19
+ Our documentation offers separate, detailed steps for [Claude Desktop](https://vizro.readthedocs.io/projects/vizro-mcp/en/latest/pages/guides/set-up-vizro-mcp-with-claude/), [Cursor](https://vizro.readthedocs.io/projects/vizro-mcp/en/latest/pages/guides/set-up-vizro-mcp-with-cursor/) and [VS Code](https://vizro.readthedocs.io/projects/vizro-mcp/en/latest/pages/guides/set-up-vizro-mcp-with-vscode/).
20
+
21
+ ### Basic configuration
22
+
23
+ The following is for those familiar with MCP server setup who are comfortable with basic configuration settings. You must have downloaded and installed the LLM app you want to configure and use as a MCP host.
24
+
25
+ <details>
26
+ <summary><strong>Quick setup for Vizro-MCP using uv</strong></summary>
27
+
28
+ You must first install [uv](https://docs.astral.sh/uv/getting-started/installation/).
29
+
30
+ Next, open a terminal window and type `uv` to confirm that is available. To get the path to `uvx`, type the following:
31
+
32
+ ```shell
33
+ which uv
34
+ ```
35
+
36
+ Copy the path returned, and add the following to the JSON file used to configure MCP servers for your LLM app. Be sure to substitute your path to uv as returned above, for the placeholder given:
37
+
38
+ ```
39
+ {
40
+ "mcpServers": {
41
+ "vizro-mcp": {
42
+ "command": "/placeholder-path/uvx",
43
+ "args": [
44
+ "vizro-mcp"
45
+ ]
46
+ }
47
+ }
48
+ }
49
+ ```
50
+
51
+ **Quick install**
52
+
53
+ | Host | Prerequisite | Link |
54
+ | ----------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
55
+ | [Cursor](https://www.cursor.com/) | [uv](https://docs.astral.sh/uv/getting-started/installation/) | [![Install with UVX in Cursor](https://img.shields.io/badge/Cursor-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://cursor.com/en/install-mcp?name=vizro-mcp&config=eyJjb21tYW5kIjoidXZ4IHZpenJvLW1jcCJ9) |
56
+ | [VS Code](https://code.visualstudio.com/) | [uv](https://docs.astral.sh/uv/guides/tools/) | [![Install with UVX in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=vizro-mcp&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22vizro-mcp%22%5D%7D) |
57
+
58
+ </details>
59
+
60
+ <details>
61
+ <summary><strong>Quick setup for Vizro-MCP using Docker</strong></summary>
62
+
63
+ You must first install [Docker](https://www.docker.com/get-started/).
64
+
65
+ Next, add the following to the JSON file used to configure MCP servers for your LLM app.
66
+
67
+ ```
68
+ {
69
+ "mcpServers": {
70
+ "vizro-mcp": {
71
+ "command": "docker",
72
+ "args": [
73
+ "run",
74
+ "-i",
75
+ "--rm",
76
+ "mcp/vizro"
77
+ ]
78
+ }
79
+ }
80
+ }
81
+ ```
82
+
83
+ **To use local data with Docker**
84
+
85
+ Mount your data directory or directories into the container with the following extended configuration. Replace `</absolute/path/to/allowed/dir>` (syntax for folders) or `</absolute/path/to/data.csv>` (syntax for files) with the absolute path to your data on your machine. For consistency, we recommend that the `dst` path matches the `src` path.
86
+
87
+ ```
88
+ {
89
+ "mcpServers": {
90
+ "vizro-mcp": {
91
+ "command": "docker",
92
+ "args": [
93
+ "run",
94
+ "-i",
95
+ "--rm",
96
+ "--mount",
97
+ "type=bind,src=</absolute/path/to/allowed/dir>,dst=</absolute/path/to/allowed/dir>",
98
+ "--mount",
99
+ "type=bind,src=</absolute/path/to/data.csv>,dst=</absolute/path/to/data.csv>",
100
+ "mcp/vizro"
101
+ ]
102
+ }
103
+ }
104
+ }
105
+ ```
106
+
107
+ **Quick install**
108
+
109
+ | Host | Prerequisite | Link | Notes |
110
+ | ----------------------------------------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
111
+ | [Cursor](https://www.cursor.com/) | [Docker](https://www.docker.com/get-started/) | [![Install with Docker in Cursor](https://img.shields.io/badge/Cursor-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://cursor.com/en/install-mcp?name=vizro-mcp&config=eyJjb21tYW5kIjoiZG9ja2VyIHJ1biAtaSAtLXJtIG1jcC92aXpybyIsImVudiI6e319) | For local data access, [mount your data directory](#setup-instructions) |
112
+ | [VS Code](https://code.visualstudio.com/) | [Docker](https://www.docker.com/get-started/) | [![Install with Docker in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=vizro-mcp&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22mcp%2Fvizro%22%5D%7D) | For local data access, [mount your data directory](#setup-instructions) |
113
+
114
+ </details>
115
+
116
+ ## Disclaimers
117
+
118
+ ### Transparency and trust
119
+
120
+ MCP servers are a relatively new concept, and it is important to be transparent about what the tools are capable of so you can make an informed choice as a user. Overall, the Vizro MCP server only reads data, and never writes, deletes or modifies any data on your machine.
121
+
122
+ ### Third party API
123
+
124
+ Users are responsible for anything done via their host LLM application.
125
+
126
+ Users are responsible for procuring any and all rights necessary to access any third-party generative AI tools and for complying with any applicable terms or conditions thereof.
127
+
128
+ Users are wholly responsible for the use and security of the third-party generative AI tools and of Vizro.
129
+
130
+ ### Legal information
131
+
132
+ <details>
133
+ <summary><strong>User acknowledgments</strong></summary>
134
+
135
+ Users acknowledge and agree that:
136
+
137
+ Any results, options, data, recommendations, analyses, code, or other information (“Outputs”) generated by any third-party generative AI tools (“GenAI Tools”) may contain some inaccuracies, biases, illegitimate, potentially infringing, or otherwise inappropriate content that may be mistaken, discriminatory, or misleading.
138
+
139
+ McKinsey & Company:
140
+
141
+ (i) expressly disclaims the accuracy, adequacy, timeliness, reliability, merchantability, fitness for a particular purpose, non-infringement, safety or completeness of any Outputs,
142
+
143
+ (ii) shall not be liable for any errors, omissions, or other defects in, delays or interruptions in such Outputs, or for any actions taken in reliance thereon, and
144
+
145
+ (iii) shall not be liable for any alleged violation or infringement of any right of any third party resulting from the users’ use of the GenAI Tools and the Outputs.
146
+
147
+ The Outputs shall be verified and validated by the users and shall not be used without human oversight and as a sole basis for making decisions impacting individuals.
148
+
149
+ Users remain solely responsible for the use of the Output, in particular, the users will need to determine the level of human oversight needed to be given the context and use case, as well as for informing the users’ personnel and other affected users about the nature of the GenAI Output. Users are also fully responsible for their decisions, actions, use of Vizro and Vizro-MCP and compliance with applicable laws, rules, and regulations, including but not limited to confirming that the Outputs do not infringe any third-party rights.
150
+
151
+ </details>
152
+
153
+ <details>
154
+ <summary><strong>Warning and safety usage for generative AI models</strong></summary>
155
+
156
+ Vizro-MCP is used by generative AI models because large language models (LLMs) represent significant advancements in the AI field. However, as with any powerful tool, there are potential risks associated with connecting to a generative AI model.
157
+
158
+ We recommend users research and understand the selected model before using Vizro-MCP. We also recommend users to check the MCP server code before using it.
159
+
160
+ Users are encouraged to treat AI-generated content as supplementary, always apply human judgment, approach with caution, review the relevant disclaimer page, and consider the following:
161
+
162
+ <ol>
163
+ <li>Hallucination and misrepresentation</li>
164
+ Generative models can potentially generate information while appearing factual, being entirely fictitious or misleading.
165
+
166
+ The vendor models might lack real-time knowledge or events beyond its last updates. Vizro-MCP output may vary and you should always verify critical information. It is the user's responsibility to discern the accuracy, consistent, and reliability of the generated content.
167
+
168
+ <li>Unintended and sensitive output</li>
169
+ The outputs from these models can be unexpected, inappropriate, or even harmful. Users as human in the loop is an essential part. Users must check and interpret the final output. It is necessary to approach the generated content with caution, especially when shared or applied in various contexts.
170
+
171
+ <li>Data privacy</li>
172
+ Your data is sent to model vendors if you connect to LLMs via their APIs. For example, if you connect to the model from OpenAI, your data will be sent to OpenAI via their API. Users should be cautious about sharing or inputting any personal or sensitive information.
173
+
174
+ <li>Bias and fairness</li>
175
+ Generative AI can exhibit biases present in their training data. Users need to be aware of and navigate potential biases in generated outputs and be cautious when interpreting the generated content.
176
+
177
+ <li>Malicious use</li>
178
+ These models can be exploited for various malicious activities. Users should be cautious about how and where they deploy and access such models.
179
+ </ol>
180
+ It's crucial for users to remain informed, cautious, and ethical in their applications.
181
+
182
+ </details>
@@ -0,0 +1,39 @@
1
+ ---
2
+ hide:
3
+ - navigation
4
+ - toc
5
+ ---
6
+
7
+ # Vizro-MCP
8
+
9
+ Vizro-MCP is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server, which works alongside a LLM to help you create Vizro dashboards and charts.
10
+
11
+ <img src="./assets/images/vizro-mcp.gif" width="600" alt="Vizro-MCP Demo">
12
+
13
+ <div class="grid cards" markdown>
14
+
15
+ - :fontawesome-solid-wand-magic-sparkles:{ .lg .middle } __Benefits of Vizro-MCP__
16
+
17
+ - One consistent framework for charts and dashboards with one common design language.
18
+
19
+ - Validated config output that is readable and easy to alter or maintain.
20
+
21
+ - Live preview of the dashboard to iterate the design until the dashboard is perfect.
22
+
23
+ - Use of local or remote datasets simply by providing a path or URL.
24
+
25
+ - :fontawesome-solid-heart-crack:{ .lg .middle } __Without Vizro-MCP__
26
+
27
+ - Limited guidance, design principles, and consistency.
28
+
29
+ - Results tend to be a vibe-coded mess that may or may not run, but certainly is not very maintainable.
30
+
31
+ - No way to easily preview the dashboard.
32
+
33
+ - No easy way to connect to real data.
34
+
35
+ - :fontawesome-solid-wand-magic-sparkles:{ .lg .middle } __Agent Skills__
36
+
37
+ If your AI development tools support [Agent skills](https://agentskills.io/), we offer [dashboard design and build skills](https://github.com/mckinsey/vizro/tree/main/vizro-e2e-flow) that guide you through a 2-phase workflow: design (requirements, layout, visualization) and build (implementation, testing).
38
+
39
+ </div>
@@ -0,0 +1,16 @@
1
+ # API reference
2
+
3
+ The API reference serves mostly as a reference what tools are available to the model and what prompts are available to the user. The Vizro-MCP server works by allowing the LLM to call this set of carefully crafted tools. You will never call these tools directly, but this reference gives an overview over what these tools do and what the model will get as information when deciding which tool to call. Should your host not support tool calling, the usability of the MCP server is limited.
4
+
5
+ !!! note
6
+ The `validate_dashboard_config` tool opens a link to a live preview of the dashboard, which will take you to [PyCafe](https://py.cafe). If you don't want to open the link, you can tell the LLM to not do so.
7
+
8
+ The `load_and_analyze_data` tool loads a CSV file from a local path or URL into a pandas DataFrame and provides detailed analysis of its structure and content. It only uses `pd.read_xxx`, so in general there is no need to worry about privacy or data security. However, you should only run Vizro-MCP locally, not as a hosted server, because there is currently no authentication to manage access.
9
+
10
+
11
+ ::: vizro_mcp.server
12
+ options:
13
+ filters:
14
+ - "!^Data"
15
+ - "!^Model"
16
+ - "!^Validate"