Tableau MCP Locally: Why I Won't Use Claude for My Company Data
You can run the Tableau MCP entirely on your laptop with LM Studio, so you get the ChatGPT-style experience without sending a single byte of company data to Claude or OpenAI.
- Running the Tableau MCP through Claude or ChatGPT risks exposing your company IP and infrastructure context, since you can't verify how those services handle your data despite their service agreements.
- MCPs are model-agnostic, so you can run them locally with tools like Ollama (command-line, server-oriented) or LM Studio (a friendlier chat-style application).
- On Apple Silicon, choose MLX-optimised models and check the download panel for 'full GPU offload possible' to avoid CPU fallback and major performance drops.
- You must manually increase the context window in LM Studio for the MCP to work, balancing it against your available RAM, and each run is non-deterministic even with identical settings.
- Larger 'thinking' models like GPT-OSS 20B give faster, more capable responses and can self-troubleshoot errors, but demand more RAM than smaller models like Gemma 3 12B.
- Why I won't use Claude for company data0:01
- Ways to run local models: Ollama vs LM Studio1:52
- Touring the LM Studio interface2:42
- Browsing and choosing models5:21
- Configuring the Tableau MCP7:05
- Loading a model and setting context window8:30
- First query with Gemma 3 12B12:16
- Switching to the OpenAI 20B model mid-chat16:39
- Closing thoughts and what's next20:29
0:00Okay, so you've probably heard of the Tableau MCP.
0:04I'm on record for saying I think this is one of the most um important technologies in a while coming out of this sort of AI gold rush at the moment.
0:11Because largely it enables us to use a bunch of APIs that, you know, people wouldn't have been able to use before.
0:19And the reason that is is because it essentially sits on top of a bunch of Tableau APIs and allows you to use a large language model
0:26To access the information that those APIs could use.
0:28Essentially, you can sit there in a prompt window, ask a question, and then let the AI handle that request with the API and give you a response back.
0:36It's quite conversational, I'm sure you've seen tons of demos
0:39Now, the thing that hasn't always sat well with me is with all this excitement, I've seen a lot of people using their own Tableau Cloud instances for these demos.
0:47But they've been doing it inside of ChatGPT or Claude.
0:50And and in my opinion, I think it it's still sensible to be cautious about using uh you know these large companies to essentially
0:59um scrape your data.
1:01They they do have service agreements to say, hey, we won't necessarily scrape everything, but as as long as you're interacting in that chat window.
1:07all the responses you get with that ch uh LLM, that there's no guarantee that what they say is actually what's happening.
1:14And in essence, you might be giving away IP or context or information about your infrastructure or your company
1:21that you didn't intend to give away.
1:23Now it is quite easy to use a Tableau MCP.
1:25All you really need is a PAT token.
1:27A PAT token is something that's quite easy to request from your IT team, but they might not know that you're going to use it on the Tableau MCP.
1:34Just don't tell them
1:35But anyway, what I want to show you in this video is an approach where you can run an MCP locally on your laptop without using these two companies or Claude or ChatGPT, the ones that have been mostly talked about
1:48MCPs are agnostic, they're not specific to any one AI model.
1:51Um the tool I want to show you is something called LM Studio.
1:54But just before we get into that.
1:56It is worth sort of highlighting that there are a couple of ways of running local models on your laptop.
2:01The most common one is something called Olama.
2:04Now OLAMA
2:06I is very m sort of I'd say it's it's on the verge of being a developer tool slash sort of enthusiast tool.
2:13It runs in the command line.
2:14You kind of need to know what you're doing in the command line.
2:16The interface isn't the best, but it's really designed for you to set up something locally on your server and then be able to call it locally using your laptop or computer.
2:26So typically in an enterprise setting
2:27company might set up a no lama instance in a central server and then have lots of people querying into it to be able to do stuff locally.
2:35That's sort of one approach.
2:36You can also just run it on your laptop and do exactly the same thing.
2:39That's what you can do here on this website by just downloading it.
2:42A tool that I think is better for everyone to get involved with is something called LM Studio.
2:46Now LM Studio is a software and the thing I really like about it.
2:50is it brings the familiar interface that we know from these chatbots, ChatGPT and Claude, into an application that I think also guides you through the experience of using an LLM locally.
3:02And so if you go to the LM Studio website, you can download it.
3:05set it up.
3:05I'm on a Mac, so I'm going to be running the M series version of this.
3:08You can get this for Windows as well.
3:09This is just um showing me the options available for me right now.
3:13But once you've gone ahead and downloaded it, um this is what it looks like.
3:17It's very, very simple.
3:18Now
3:19I've already I've had this application now for well over a year.
3:22I've used it in sort of very early stages to see what the local models were like
3:26And um it's a very, I think, nice tool to use.
3:29And so what I'll do is I'll just give you a quick sort of, you know, uh tour of how it works
3:34On the left hand side you've got sort of three panes very similar to the Tableau Cloud pane on the left hand side where you can go to different sections.
3:40So you've got the chat window, the developer window where you can actually see the logs that are happening.
3:45You can see that I was doing some testing last night.
3:48Um some models or the folders that I have locally, the models that I have uh downloaded in the past.
3:53We'll get back to this um soon.
3:55And then we have
3:56a search window which allows you to browse these models.
3:58So it gives you these sort of four things in a very easy to use format locally on your machine.
4:03And so what I really like is actually this window because you're able to search models based on a bunch of criteria
4:09I'm on a Mac, so when I'm looking for models, what I actually want to make sure is I run an MLX model.
4:15An MLX model is specifically optimized for Apple Silicon
4:18It runs faster and I have an M3 laptop so it has a couple of capabilities on there that I think really take advantage of MLX and I do notice faster performance.
4:28So you can filter by these model types
4:31And you can sort of pretty much browse what you know all the models that people talk about.
4:35You'll see some very familiar names like Quen, uh Deep Seek, R3.
4:40Um there's also some things I've just never heard of.
4:42OpenAI recently released a a small model as well that you can have a look at.
4:46But there's really a whole range of things to look at.
4:49So
4:49What I would say is this is this is a very enthusiastic thing.
4:52You need to know a little bit about the models to understand what the best sort of use is.
4:56So my sort of layman's guide to this is listen, just come up here to the um uh drop-down.
5:02Just look at most downloads or most likes.
5:04That gives you an indication of what most people are using.
5:06And so if I look at most downloads, you get like a nice list.
5:10Another thing is they do have staff picks.
5:12So if I refresh this
5:14um this will tell you sort of the things that are most um sort of highly ranked as well.
5:18So um this is a really sort of nice way to browse these models.
5:21Now
5:21In terms of what model I'm going to use for this demo, the Tableau MCP, there's a couple of sort of parameters to be aware of.
5:28Number one, you have to think about the context window.
5:30Number two, um you have to think about how much RAM you have in your machine.
5:34I I'm very fortunate to have a large amount of RAM, 128 gig of RAM.
5:38So I'm not really limited by this list, but you might come onto this and see that actually
5:43your model can't load all entirely on RAM.
5:46You can see this here in the download options.
5:47It tells you over here on the bottom right hand side if a full GPU offload is is possible.
5:52If it's not, what will start happening is you'll start using your CPU and your performance will downgrade massively.
5:57So if I look at this OpenAI model from 60 days ago, it's GPT OSS 20B, you'll see that it's uh 12 gig.
6:05Um
6:06in in size.
6:07When I download it, it's MLX um compatible and uh there's a full GP offload possible which means it's going to be able to to bring everything um locally onto the GPU which is great in my instance because then you get a lot better performance.
6:20Um you can go to another model like Gemma.
6:22I think this is Google's uh model, this is Google's local model a hundred days ago.
6:26You can see this has been converted to MLX.
6:28Again, it's 8GB, full GPU offload uh offload possible.
6:32It has other formats as well, not just LMX.
6:35But if you scroll down, you get a little bit more information.
6:37And to be honest, this is just sort of scratching the surface in terms of context, but this is sort of a shopping list.
6:42Choose a couple of models, start with something very small, just so you can get familiar with the software, and then once you've done that, download them.
6:48And when you go ahead and hit download, I'll hit download for example on this Google one here.
6:52You'll see that it starts downloading and if I close this window, um uh it's now going to be downloading here on the bottom right, and you can see all the downloads and all the different um sort of
7:02versions that are are being uh downloaded.
7:04Now that I've done that, I could go back here to the chat window and I'm now ready to configure the Tableau MCP.
7:11Now, in order to do this is exactly the same setup as all the other demos you've seen, all the other examples.
7:17So all you need to do is essentially come to the Tableau MCP instructions.
7:21Go to the getting started, configure your MCP in this exact way.
7:26This is an agnostic way of setting up MCPs across any application.
7:29So you just take the exact same thing if you've already done it for Claude or ChatGPT.
7:34And then you bring it into LM Studio.
7:35And LM Studio has a pretty nice interface.
7:37It's actually very easy interface.
7:39If I just go ahead and create a new chat, you'll see that it creates me a nice little chat window.
7:43It opens up a bunch of uh model parameters on the right hand side and um I'll come to that in one second.
7:49We'll just park it for one minute.
7:50But if I go here to the bottom
7:51you'll see there's a little plugin uh icon here if we click that you'll see that i have this option disabled for tableau mcp mcp forward slash tableau
8:00And if I wanted to add it here because it's not already there, go ahead, select install, edit the JSON, and you'll see the JSON that you've seen pretty much for every other
8:09um set up.
8:10So go ahead and configure this how you need to.
8:12There are lots of great videos already showing you how to do this.
8:15So I won't repeat that here.
8:17But once you've set that up, you're pretty much ready to go.
8:20Refresh the chat window, refresh the application.
8:22Sometimes you need to restart the application.
8:24But LMCD is pretty good at being reactive.
8:27And then you'll be able to start using the model.
8:30Now, in order to use this inside of LMCDO, one thing you'll need to do is load the model.
8:35So I'll go up here to the very top
8:37And you'll see that I have a drop-down of all the models that I downloaded locally before.
8:41You can see that that was um the same, exactly the same list.
8:43And the one I've just downloaded, just finished.
8:46Google Gemma 312B, it's four bits and it's seven seven gig of RAM is needed.
8:53And this could probably work on most laptops.
8:55If you've got a 16 gig laptop, I think this can work pretty well.
8:58So I'm going to go ahead and use this one.
8:59It's MLX compatible, so we should get some nice performance.
9:02It's 12 billion parameters.
9:04The number of parameters tends to give you an indication of how good it is.
9:08Later on, I'll show you how you can switch in the middle of a chat to another model to see if it has a better response.
9:13So let's start with Google.
9:14Now before we do this, we have to make sure we change the context window.
9:19The context window for
9:20This needs to be suitably large enough.
9:22And so the way to change this is just to hold option on a Mac.
9:24Um, you get these sort of model parameters uh appearing here on the right hand side.
9:28So let's go ahead.
9:29And click on that, and you can see here the context length is currently at 131,000 tokens.
9:34We need to increase this, and as you increase this, you are increasing the RAM usage as well.
9:40And the reason we need to do this is to make sure that the responses between the MCP and the chat window and everything sort of don't run out of space.
9:50And so this is a good way to do that.
9:52Just go ahead.
9:52I'll just bump this up.
9:53I don't know, I don't know why I've chosen this number.
9:55I just want to make sure I avoid any sort of errors as a result of this.
9:58You can remember these settings, so it always loads that way.
10:01If you select advanced options, you get a few more, but generally I just leave these as they are
10:06And then if you go ahead and hit load the model, you can see that you get this progress bar here at the top.
10:10And once that has loaded, it's essentially loading it all into RAM.
10:13I can see that my RAM usage is going up here in the bottom right hand side.
10:17You can see that the
10:18uh system memory is going up and um once that is done we're pretty much ready to go the models loaded and we can start working with it now
10:26If you want to change some parameters about how the model works, over here on the right hand side you've got a little context window which allows you to do like a system prompt, very similar to how you would in Claude or ChatGPT.
10:38You've got some model parameters in terms of how it behaves, the temperature settings.
10:42Again, I'm not gonna go into this in this video.
10:45Research these before you start tweaking them, but the defaults are generally quite good.
10:49They've been pre-configured by the LM Studio community.
10:52So again, just leave these as they are.
10:54And then if I go to the program section here, you'll see that because I've already got the MCP enabled for Tableau, you can see that it's got all of these tick boxes enabled.
11:04And in order to activate them, you can go here to the right hand side and switch them on.
11:08So you can do that.
11:09And then you'll see that the tableau icon appears here in the chat window on the bottom.
11:13Or if I didn't do that there, what I can do is I can go here into the chat window, select this up.
11:18and then go ahead and switch this to the right hand side.
11:22That will then do the exact same thing as before.
11:25And if you click on this little tool icon, it just opens this plugin section and highlights it to tell you, hey, here's where to change what I can do with this MTP.
11:33If I don't allow all, for example, you can see that I've got these three where I've explicitly allowed them out of the gate.
11:40This is a good way of restricting what the MCP can do if you want to do that.
11:44And but for the purpose of this demo, I'll just I'll just allow them all and you can uh see that that that happens and basically they all get ticked.
11:52Um you can also disable specific ones.
11:53So
11:54Allowing them all and or disabling them.
11:57This this tick box is really just telling the MCP not to bother thinking about this particular context.
12:03And the allow all is more of a permissioning thing, and you'll see that sort of come up.
12:08Let me do this.
12:09Let me just say ask before running, ask before running, so you can see that interface right before we go.
12:14Okay, so we're gonna ask a question with this model.
12:17We're using Gemma312B and we're using the Tableau MCP.
12:21Let's ask our first question.
12:22Okay, so the first thing I'm going to ask is tell me about my tableau data sources.
12:26So we go ahead and hit enter and you'll see that it uh loads it up.
12:30Now one of the things it has to do is it has to process the prompt.
12:32So processing the prompt is really just taking the text
12:35putting it into memory and I'm doing this for the first time so the model is going to be um you know uh it's going to be thinking about this and and the one thing to check here is that
12:45You can see the context window here is 41% full already, and I haven't really done much, okay?
12:50Um, and so this is why you really have to play with models to really understand
12:54um where the boundaries are.
12:56You can't you can't just, you know, sort of go full full full full sort of full charge as you would with China
13:02GPT and Claude because they do a lot of this behind the scenes for you and they're they're offering a product so they broaden all these parameters out, which is why they're they're quite expensive in their paid capabilities.
13:12But when you're doing this locally, you are limited by your hardware.
13:16And the another weird thing about this is that each run is not deterministic.
13:21So even if I had the exact same hardware, the exact same query, the exact same configuration of everything
13:26Each time I run it, I don't necessarily get the exact same results purely because of the circumstances around the prompt and how it's sent to the GPU and then how it breaks that task down.
13:36So it is very much a trial and error uh capability, but once you have a sweet swap between a model you want, the right context window, and obviously working within the construct of your laptop.
13:48You can more or less remember that configuration and you can use that reliably going forward and you're doing everything locally on your machine.
13:55So here we go.
13:55The model's loaded, the prompt.
13:57And you can see this permission window is loaded up.
13:59Remember, I denied all the permissions before.
14:01I told it to ask every single time.
14:03So it's asking me, hey, would you like me to proceed with this?
14:06I'll say always allow this specific thing and I'll go ahead and allow all the tools.
14:11And as soon as I hit proceed, you'll see that all of them on the right hand side here clear up.
14:15And now it goes ahead and starts processing the argument and the result, and you can see that it gets that back.
14:21And so now I'm having that chat GPT-like experience here locally on my machine.
14:26Nothing's going up to these servers, nothing's going up to Claude if you're using that instead.
14:30And I'm getting a bit of um context actually.
14:32It's actually giving me a little bit of um, you know.
14:35useful information and so we can we can start to do things like um we can ask um some interesting uh information about this data source this is my youtube sort of demo data set so I'll say can you
14:47Tell me more about this data set, okay.
14:52And one thing that I've found is that each time you hit enter, it does take a bit of time.
14:57to generate the prompt.
14:59And I don't know in and don't understand enough about this to understand why this particular step takes a lot of time.
15:06But I think it's it's just a way to do with the models and how they're constructing the queries and then how they're loading that into memory before they then go and do um some tasks.
15:14if that makes sense.
15:15So it does unfortunately take a bit of time, but again, you'll see that it is working.
15:19And this is a trade off.
15:20This is the cost you pay for doing something locally on your machine versus
15:24a massive server farm with tons more compute and tons more resources and also you know typically not free um and so yeah this is a pretty pretty good ability
15:33And I think the trade-off is worth it.
15:35For a lot of people, I still think this is faster than trying to go onto your Tableau cloud and getting all of this information, especially if you have a set of prompts that you've built up front.
15:45And another thing is that LM Studio also allows you to run as a server.
15:49So although we're using here the chat window, you can also simultaneously run it as a server.
15:54So if I actually go to this sort of command line instance, you can see
15:57that everything is happening on um happening behind the scenes so these are the logs that are being generated and you're able to set up um lm studio to act as a service so other applications can run
16:08Using the same model you've got.
16:10So it works a bit like OLAMA on one hand, but it also gives you the nice chat interface at the same time.
16:15So you can use the same model in both instances.
16:17So you can test something
16:19To say you like it and then go ahead and deploy it in an application running on the same machine.
16:23So it's quite handy.
16:24And all of this is happening behind the scenes by the way.
16:26So as we switch these tabs, it's not sort of forgetting anything.
16:29Um we can go ahead and uh just wait for that.
16:32So let's just give this a bit of time.
16:33And what I'll do is I'll switch to another model which is a little bit more capable, and then you'll see what that's like.
16:38So this is uh Google Gemma 3
16:4112B, we'll go ahead and switch to the OpenAI 20B model, which is a little bit larger and should be a little bit more capable.
16:49So let's just give this a moment to finish
17:04Okay, here we go.
17:05So um let's have a look.
17:07And it's interesting because once once it's processed the prompt, everything seems to happen quite quickly.
17:11So um it does the calling, it gets information.
17:14So if you actually want to expand this, you can see that it's
17:17It's gone and got the data source ID, it's got on a response, and now it's processing the prompt.
17:23So this one's different to before because
17:25It got the response and it was immediately able to process the result because it didn't need to do anything more than essentially read this result
17:33But what it's doing here, um, I believe this is not a thinking model.
17:38So what it has to do is process the prompt, process information.
17:41And now I'm getting really useful metadata.
17:43If you've never sort of logged into my site and worked on this data, hey, you're getting information about a data source you knew nothing about, and it's giving you really useful context, I think, on a data source.
17:53And you can even query the data source as an example.
17:55So this is this is really nice.
17:57So this is the core capability.
17:59And again, this is running locally on my machine, and I think the trade-off is worth it
18:04The thing to bear in mind though is that this stuff is moving really quickly.
18:08Like a year ago, this stuff was much, much slower.
18:11The models were okay, but they weren't great.
18:13They weren't generating really nice fluid responses
18:16Even this Google model is about a hundred days old.
18:19If I switch over to the OpenAI variant, the MLX version, the 20B, let's just go ahead and hit option again, make sure the model parameters are suitably set
18:30to quite high we've got a nice big context window.
18:32Let's go ahead and load this model.
18:34And I'm doing this mid-chat by the way.
18:36So nice thing about LM C D is you can change the
18:40uh model mid-chat now that that's loaded you can see I can use the current model which is the one loaded or I can use the Gemma 312B as I had it configured previously.
18:50So now in here I can say, okay, look, can you uh um can you list all the tableau pulse um what is it metrics?
19:01I won't sort of ask metric definitions to be specific.
19:04I'll just say hey listen and can you list all the th the metrics?
19:07And now can you you see this this model is much faster, it's more capable, but it comes with a cost.
19:12This model is quite large.
19:14I believe it's like 12 gig of RAM.
19:17So on a 16 gig RAM it might start to challenge your laptop because obviously your computer needs some RAM to function.
19:24But it's much faster at processing prompts and it's a thinking model.
19:27So you see the behavior here is almost like it's having a conversation with itself
19:31figuring out what it wants you to what you want it to do and then it goes and does the thing.
19:36So the thinking models are supposed to improve the quality of the prompts, the quality of the response.
19:40And they can troubleshoot more.
19:41And I've actually seen this happen really, really well when there are errors.
19:44I've seen it try two or three attempts and then get the right response.
19:47And again, because you're running locally, you're not really that worried about running into API limits or using up credits
19:53It's a really great way of using this and just learning a little bit more about how models actually work behind the scenes.
19:59So here you can see these are the arguments it loaded, this is the response that it got back.
20:05And you can see I have three definitions, which is correct.
20:09I've obviously know my own Tableau instance very well.
20:12So I have three definitions and you can you can
20:16You can uh pass additional arguments and you can see the thinking model is actually quite, let's say, instructive.
20:22It's going ahead and finding new things that it wants to do.
20:26And so listen, this is not perfect
20:29But I think this is like this is very good given that it's running locally on your machine, you're not paying anything to anyone, and your data isn't going off your machine to Claude or ChatGP.
20:40And as a consultant, I think this is super important.
20:42I've honestly been a little bit surprised that this hasn't come up.
20:45Um I think it's maybe it's something that people are doing quietly and so it maybe doesn't
20:50have as much sort of traction as ChatGPT and and and uh Claude but I think it's a great way of working and you can play with the MCP knowing that you're not putting your company's data at risk.
20:59Okay, what I'd be really keen to know is if you try this, I'd love to see what successes you have.
21:04I've got so many sort of small ideas about using this capability.
21:08For example
21:09Hey, can we get this to work with things like table extensions?
21:12Can we get this to work inside of Tableau Prep?
21:14Maybe maybe do the classic old survey analysis example?
21:18Um, who knows?
21:19But
21:19The fact that you can do this locally, I think, opens up options.
21:22And this is the kind of thing where this is what it's like today.
21:24And of course, not everyone changes a laptop every year, I get that.
21:27But in three years' time, it's quite reasonable you have a new laptop
21:31With enough RAM and much improved local models to be able to really get some of the best experience very similar to what we get today but in through three years time running locally on your machine.
21:43So I think it's worth starting to pay attention
21:45This stuff can be really powerful for analytics teams and how they start to think about tooling in the way they do their work and not just using these chatbots as like a way of I guess you know
21:58I don't know, doing sort of like what I would say one-off showcase uh projects.
22:02This is actually something practical.
22:03You can deploy it, you can run it, you can work with IT to figure it out.
22:07And if it works, you might even say, well, let's productionize this properly
22:10Let's to go get OLAMA, let's set up a server internally and start allowing our users to be able to query the server themselves.
22:17Okay, that's pretty much it in the video.
22:20Um I just wanted to show you here's how it works, here how here's how it can work
22:24I'd be really curious to see, hey, what models are you trying?
22:28Would you like to see another uh demo, another tutorial on Tableau MCP?
22:32Have you got any questions that you'd love to have me answer on this topic?
22:36I have I have a lot of like in my head profound thoughts about the way MCPs can work.
22:42I'm not going to cover them in this video.
22:44We've already been going for like three 20 minutes.
22:46But I will follow up at some point before the end of the year with how I think this technology, as it develops, will become pivotal because in many ways it opens up a whole world of opportunities.
22:57Not just for people who use Tableau, but actually fundamentally other applications to better integrate with Tableau.
23:04Thanks for watching.
23:04I'll see you in the next one.
Future-proof your career https://n1d.io
| Sign up to Playfair+ http://bit.ly/4lgOeio - Discount code: TableauTim - Good for 10% discount at checkout. [ Affiliate Link ]
My Courses on Linkedin Learning: https://www.linkedin.com/learning/instructors/tim-ngwena
Boost your skills with DataCamp’s comprehensive, hands-on Data Analyst Courses https://datacamp.pxf.io/XmLyDo - [ Affiliate Link ]
In this video, I’ll walk you through the transformative capabilities of the Tableau MCP and how you can run it locally on your laptop using LM Studio. I discuss the importance of this technology in the current AI landscape and the reasons to be cautious when interacting with large language models through popular chat services. I demonstrate how to set up the MCP locally, highlight the benefits of using LM Studio, and guide you through configuring and using local AI models efficiently. I also talk about potential use cases and future implications for analytics teams. Key chapters include setting up local models, configuring LM Studio, and practical use cases for Tableau MCP.
00:00 Introduction to Tableau MCP
00:39 Concerns with Using Large Language Models
01:36 Running MCP Locally: An Overview
01:51 Introducing LM Studio
03:02 Setting Up LM Studio
03:34 Exploring LM Studio Features
04:04 Choosing and Downloading Models
07:04 Configuring Tableau MCP in LM Studio
12:14 Running Queries with Tableau MCP
15:45 Advanced Features and Tips
20:59 Conclusion and Future Prospects