test-tableau-mcp
About
a quick POC to expose Tableau VDS endpoints through an MCP server and integrate them with Claude Desktop client
Details
- License
- Apache-2.0
Explore
- Exposes Tableau VDS API as MCP tools.
- Query data sources with fields, filters, sorts, and limits.
- Integrates directly with Claude Desktop.
- Supports in-context sample payloads for correct syntax.
- Requires manual authentication via hardcoded session token.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
test-tableau-mcpCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
System requirements
Python 3.10 or higher installed. You must use the Python MCP SDK 1.2.0 or higher.Set up your environment
Install UV if you haven't already.curl -LsSf https://astral.sh/uv/install.sh | sh
Make sure to restart your terminal afterwards to ensure that the uv command gets picked up.
Now, create and set up your virtual environment:
```python
The VDS API syntax is not explicitly passed in MCP tools, so start your session by passing a few in context samples that show Claude how to properly format Query objects. You can copy the array of dictionaries in the samples.py. Send an inital message to Claude like so:
make sure you generate payloads according to this syntax:
in_context_samples = [
{
"fields": [
{ "fieldCaption": "Segment" },
{ "fieldCaption": "Sales", "function": "SUM" }
]
},
{
"fields": [
{ "fieldCaption": "Category" },
{ "fieldCaption": "Profit", "function": "SUM", "sortDirection": "DESC" }
]
},
{
"fields": [
{ "fieldCaption": "State/Province" },
{ "fieldCaption": "Sales", "function": "SUM", "sortDirection": "DESC" }
],
"filters": [
{
"field": { "fieldCaption": "Segment" },
"filterType": "SET",
"values": ["Consumer"],
"exclude": false
},
{
"field": { "fieldCaption": "Order Date" },
"filterType": "RANGE",
"min": "2021-01-01",
"max": "2021-12-31"
}
],
"limit": 5
}
]
do the states with the most sales also have the most profit?
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"test-tableau-mcp": {
"vds": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/test-tableau-mcp/",
"run",
"vds.py"
]
}
}
}
}
McpServers
{
"vds": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/test-tableau-mcp/",
"run",
"vds.py"
]
}
}
To run this MCP Server and connect it Claude Desktop follow these steps. These instructions were adapted from the MCP how-to guide. These instructions assume you are using MacOS/Linux. If you're running Windows, refer to the how-to guide linked above.
System requirements
Python 3.10 or higher installed. You must use the Python MCP SDK 1.2.0 or higher.Set up your environment
Install UV if you haven't already.curl -LsSf https://astral.sh/uv/install.sh | sh
Make sure to restart your terminal afterwards to ensure that the uv command gets picked up.
Now, create and set up your virtual environment:
```python
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


