MCP Configuration Management by CLI
*Aurora has been rebranded Sloan. See Sloan docs here: docs.fiveonefour.com/sloan
Or, general grouchiness on the state of MCP hosts, and general excitement about MCPs more broadly
By George Anderson and Johanan Ottensooser
We were obviously pretty excited by MCPs when we started using them. But there remained a few barriers that kind of stymied our user experience. We didn't want the users of our CLI products to hit those same jagged edges.
In this blog post, I'll write about some of those jagged edges in the two clients we are supporting:
- Claude Desktop: https://claude.ai/download
- Cursor: https://www.cursor.com/downloads
| Complaint | Affects | Fixed by our CLI |
|---|---|---|
| Setting up config JSONs can be annoying | Claude Desktop, Cursor (Project), Cursor (Global) | ✅ |
| Keeping track of your config JSONs and updating them all | Claude Desktop, Cursor (Project), Cursor (Global) | ✅ |
| Global MCP configurations, project based MCPs | Claude Desktop, Cursor (Global) | ✅ |
| Updating your MCPs | ❗Claude Desktop, Cursor (Project), Cursor (Global) | ❌, we're just venting |
| Toggling Tool Selection | Claude Desktop, Cursor (Project), Cursor (Global) | ✅ |
| PATH access | ❗Claude Desktop, Cursor (Project), Cursor (Global) | 🟠, Stay posted |
General issues
Whilst there is a standard for mcp config JSON, the files live in different places for different clients, and can be fiddly
We allow you to create a project with our MCP pre-configured aurora init, and if you have an existing project, you can create a configuration for our MCP for it with aurora setup --mcp <MCP>.
Having to change each config JSON if you want to change your MCPs settings
Each of our MCP configurations managed by our CLI is logged in our CLI's config.toml, alongside the users selected configurations. If the user changes their configurations (e.g. chooses to enable experimental tools with aurora config tools experimental, then that change will be propagated to all MCPs tracked by our CLI.
Many CLI clients are globally configured, but many MCPs have a project or directory scope
Quite a few of the MCPs we use are (or should be) restricted in scope to a project or a directory. The one we're building is no different.
But many MCP clients are globally configured, so if I want to work on a different project, I need to edit the global config (and, in some cases, restart the software entirely: looking at you Claude!).
We love what Cursor is doing here, allowing project level configurations for your projects, but until then:
We've allowed our user's to change their configurations via CLI.
"Focus"
This allows the user to easily toggle which project their global MCPs have in their scope.
If they change the "focus"; this will be propagated to each global MCP config set up by our CLI.
Tool choice
This allows the user to select which tools they want to use—for now, we've kept the options pretty simple, our release tools (the Analytics Engineer suite of tools) and all the rest, which are experimental. In the future, we could add flags for any single tool or group of tools.
If you change your preference on tooling, this change will be propagated by the CLI to all MCPs configured by the CLI.
Client specific issues: Claude Desktop
"Have you tried turning it on and off again"
Claude does allow you to command + r refresh, but it seems, at best, to be temperamental. For real—Claude, would love a fix for this.
Our CLI doesn't fix this, just venting.
Reconfiguring your MCPs
Want to reconfigure your MCPs in Claude? 1. Claude > Settings > Developer > Edit Config, 2. open the file up in a code editor, 3. Edit, 4. restart Claude.
We don't fix all of these steps, but you can reconfigure our MCPs from our CLI (changing keys, toolset, "focus", models used by our agentic tools, and more. You'll still have to restart your Claude.
PATH inheritence
Unlike Cursor, Claude launched from the GUI does not inherit your full PATH, which means that the tools that defer to other programs may not be able to find them. We do the work of sourcing the absolute paths of necessary programs that our MCP needs and provides them to the mcp configuration file.
The only workaround right now that avoids the need to pass in the absolute paths is to open Claude from the directory that contains the project.
Client specific issues: Cursor
Refreshing your MCPs
We really love what Cursor's doing with MCPs.
✅ Being able to toggle MCPs on and off (🟠 though no tool selection yet)
✅ Having project-specific MCP configs
✅ Being able to refresh your MCPs without restarting the whole program
The only real complaint we have, which is small, is that Cursor doesn't watch its config files. After we change a /.cursor/mcp.json file and save, that isn't picked up automatically by Cursor, we need to go to the MCP settings and refresh the MCP.
Postscript about the pace of AI
The AI world changes so much so quickly, these gripes are current as of 1 April 2025, and we assume that by next week they will be completely out of date!
Interested in learning more?
Sign up for our newsletter — we only send one when we have something actually worth saying.
Related posts
All Blog Posts
Product
From Parquet files in S3 to production CH + NextJS app hosted on Boreal and Vercel
A step-by-step guide showing how to bootstraps a MooseStack MCP project with Parquet data from S3, generate ingest pipelines, load ClickHouse, test with chat, build a Next.js frontend, and deploy securely to Boreal and Vercel.

OLAP, Product
Ship your data with Moose APIs
You’ve modeled your OLAP data and set up CDC—now it’s time to ship it. Moose makes it effortless to expose your ClickHouse models through typed, validated APIs. Whether you use Moose’s built-in Api class or integrate with Express or FastAPI, you’ll get OpenAPI specs, auth, and runtime validation out of the box.