11,645 karma · joined February 21, 2017
Software development and data mobilization @ Hakai Institute
I’m only prototyping so most of the code will be discarded, but even in this circumstances you can’t allow too much sprawl and decoherence within a single project. It makes prototyping cost so much more over time. It was pretty frustrating.
That aside, the MCP middleman in this case provides a few things:
1. Most importantly, it models and enforces the complex domains of the API and underlying data in a way that most people can't easily, so it maps English requests to sensible queries effortlessly. Claude uses discovery endpoints and constructs queries in seconds, is instructed to check parameters about each endpoint, and generally handles a lot of domain-specific concerns that users typically won't have a full grasp of.
Imagine a sensor network with dozens of stations and thousands of sensors. Which one should you query, for which type of data? What parameters does it take? How granular is the data? These are easy to keep track of if you're familiar with the station and have some API requests on hand that you lean on frequently. It's much harder when you want to know things about an area or type of sensor data you're less familiar with. The MCP server solves for this quite well. You can write things like "How much chlorophyll was in the ocean in the summer months of 2025 near Victoria, BC?" and it can map that to stations, then to sensors (some named chlorophyll, some named fluorometers, some named after the manufacturer's model name, etc). And yes, this can be done with a skill, but my experimentation with this was disappointing. The MCP server provides far more consistent results.
2. Less important, but the API doesn't presently differentiate between users. They have access or they don't. The writable endpoints should not be accessible to Claude, so handing it a token is not acceptable. The MCP server ensures Claude's use of the token is limited. This takes less work than rebuilding auth for the API. We could use a read-only proxy instead, but on its own, this wouldn't help my team much.
3. The API already does return consistent results. The problem lies more in the direction of knowing how to query it.
I suppose a followup point is that the code driving the MCP server is testable and provides some guarantees about the system's behaviour, which allowed me to progressively improve its end results and determinism. I don't know how to do that with skills. I'm also solving a problem for less technical users, so I can't set them loose with a skill and a terminal to begin with.
It was possible without MCP, but arguably this convention made the whole thing a bit more reliable and consistent. It also provides some safe guards against how people might get this data alternatively. People can now ask "What was the ocean acidity like for January 2016 to March 2017 in the Salish Sea? And Claude will reliably draw up a graph for all stations in the Salish Sea monitoring this parameter, report which values have or have not been QC'd, show a map of the stations' locations, etc.
It works better than a skill. It allows me to integrate a protected endpoint more easily for the end users. It only knows about read-only endpoints. No risk of people handing credentials to Claude to make it easier. Overall it makes it pretty seamless to bundle a bunch of domain knowledge into the server, providing access and empowerment to a team of scientists who can but would really prefer not to write API queries when they have one-off questions about our data.
It could also be done with a CLI or something, but, the goal is to provide a powerful interface using simpler tools. An API or CLI would defeat the purpose.
Agreed, and it probably doesn't need to be overwhelming but the design choices leave the intent and purpose of the UI fairly unclear. It requires a bit of clicking around to understand what it's all for, and it's quite flat and unappealing, leaving little drive to do that work.
Given the right tools and instructions I find them to be consistently superhuman. It's unreal.
I have an automated system responding to issues occurring on oceanconnect.ca, and every single diagnosis has been correct for months. Of course I still verify, I tune solutions, I review everything. But it's right. It's not a trivial system. It has a fairly large frontend, a large-scale model processing pipeline on the backend, a fairly complex database, and a queue for getting new data into the system. Claude does a stellar job of navigating and understanding problems, even when they're not 'real' or as they initially appear to be; things like quirks in old versions of Safari, or the model pipeline fails due to data integrity issues from the providers.
I've rarely encountered cases where I need to steer a frontier LLM much when troubleshooting. They're exceptional.
(I wasn't around for this, I just found it)
I also only read the initial post and not the entire 404 article. I suppose if I could edit my comment and have it maintain some posterity, I'd say something like "going all-in on AI doesn't make you evil", but I concede that these guys could certainly be assholes if there's more to it (I'll read the nested article).
edit: stating this based off of the linked post, but will read the article linked in the post as well.
edit edit: Okay, yeah. This seems like an awful place to work.
And it's measurable. We don't just feel more productive; we get grants, we build systems, and we make plans we simply couldn't have before.
It is in the sense that you performed tasks for people, and knew which tasks needed to be performed. The advent of agentic programs now means those same tasks can be deduced by the agent and also performed by it. There's a very thin moat between you and that, now.
setInterval(() => {
const num = Math.round(Math.random() * 10);
const ball = document.querySelector(`.typed-pad .ball-${num}`);
if (ball) {
ball.click();
}
}, 1000);
This isn't very interesting, but it scratched an itch I had to see what would happen. The house's record
The house called 18 of your 190 scored numbers: 9%.
Blind guessing would average about 21.1 of them (11%).
Only 1 of the 206 people in a psychology study was more random than you. The house found you extremely hard to read.
I really want to know who was more random than a RNGI've used it for a total of a few hours in many years, almost exclusively for mini motorways. It never made sense to play over the Switch or PS5. I'm not sure who's using it.