Let's use MCP: No fluff approach for Developers and Engineers
Acronyms and AI mean I'm like on the cutting edge now, right?
I'm not going to waste a lot of time giving a long intro here. This will be pretty short and sweet.
Also, this article may be very out of date by the time you read it! Things are moving quickly so take this with the time it was written.
If you don't know what MCP is - there are plenty of great videos on YouTube and articles around the internet that can explain MCP and give you better depth here.
What I wanted to know, and want you know to - is how do you actually use it?
MCP Server Usage
So, the people that create MCP Servers can make them usable a few different ways.
Standalone packages
Published to PyPI or NPX, these are very simple to use
More common with more “professional” products, they're easy to plug into your MCP server definitions
Common access patterns might also include access keys to track usage of the MCP Server
Git Repos
More common on less-commercial products
Why? Automation hasn't yet been setup, either due to bandwidth / cost / any number of reasons
Tracking who is using is less important for the owner
Which Tools Allow us to use MCP Servers
The leaders to utilizing MCP Servers are going to be AI-first IDEs; Cursor and Windsurf for example. But our other more traditional IDEs are also supporting MCP Servers in some way.
Here, I'll talk about PyCharm, VSCode, and Cursor.
PyCharm:
In Tools → AI Assistant → MCP, here you can add your MCP Server that you'd like to use.
Visual Studio Code
In settings.json we can define the MCP Server we'd like to use. There are also a few other settings, including enabling MCP.
If you just search “MCP” in settings, you'll see these options!
Cursor
The easiest, as you might imagine!
As simple as going to: Settings → Cursor Settings → MCP → add new Global MCP server.
How do I define an MCP Server to use?
By asking Claude. LOL.
No but it's pretty simple, just depends on the way they've set up their server as I mentioned earlier. And in some of my examples here you see I use UV with Polars MCP Server.
Polars-Docs in my example above is just for my sake. That's my own naming. Polars on their GitHub page shows us how to set this up.
We can infer from here that we have a UV Project that runs a Python program, pretty simple. All the details are contained within the .py file that Polars provides, which will give us the different pieces needed to be able to use it.
We `git clone` into the repo, and provide that URL to our MCP Server configuration, so it looks like the images above.
Github MCP Server
Just to provide another example, available on their page here. I drop down to where I see the Claude Desktop, since I'm using Cursor, they're example the same config.
I just added this to my `mcp.json` where my Polars MCP Server is as well - and you'll notice here you need an environment variable. Different MCP servers will have different requirements for how you need to format them, and what you need to include.
But noticing how these MCP Servers are called, it's a lot like CMD in a Docker container. Which makes sense, we're just running some commands to access an endpoint (or program) that will give our LLM instructions on how to use whatever the tool is.
Using the MCP Server
So, how do we actually use the MCP Server?
Here, I see all the different commands that are available using the Polars MCP Server.
What if I don't specify to use the MCP Server?
Looks like it worked out alright, and these are definitely commands that work. I noticed two that LLMs used to get wrong all the time: `with_column, with_columns`, as they would spit out things without the underscore.
What if I try to use it?
It called the MCP tool and correctly formatted everything here.
Great! That was relatively painless. I do hope other MCP Servers have the same or similar experience.
Wrapping Up
So far, so good, for the usage of MCP Servers in Cursor, and even some other tools like VSCode and PyCharm.
I'd love to see these get easier to use, not having to add the JSON or clone the git repo. Just having them be available by default in tools like Cursor will make our LLMs that much more accurate and easier to work with.
Who else is using MCP Servers?
What about building one?
What MCP Servers are you using?
Would love to hear your war stories, or maybe lack thereof and things have been absolutely so easy!
Until next time we need to break something,
Sam