MurphyA/hacker-news huggingface dataset:
Show HN: Mcp-use – Connect any LLM to any MCP
by pzullo | 2025-07-31 16:25:51+00:00
Hey Pietro and Luigi here, we are the authors of mcp-use (https://github.com/mcp-use/mcp-use).

When the first MCP servers came out we were very excited about the technology, but as soon as we wanted to get our hands dirty, we found out that MCP could be used only through Claude Desktop or Cursor. As engineers, we did not like that. MCP seemed like something you wanted to use to build products and applications yourself, not something to hide behind a closed source application.

So we approached the SDK but were pretty dissatisfied with the developer experience (double async loops, lots of boilerplate). We decided to write mcp-use to make our lives easier.

mcp-use lets you connect any LLM to any MCP server in just 6 lines of code. We provide a high level abstraction over the official MCP SDK that makes your life easier and supports all the functionalities of the protocol.

Demo video here: https://www.youtube.com/watch?v=nL_B6LZAsp4.

The key abstractions we provide are called MCPClient and MCPAgent.

MCPClient takes in a set of server configurations, automatically detects the transport type and creates a background task which handles the stream from/to the server.

MCPAgent is a combination of the MCPClient, an LLM, and a custom system prompt. It consumes the MCP client by transforming the tools, resources and prompts into model agnostic tools that can be called by the LLM.

The library also contains some cool utilities:

- secure sandboxed execution of MCP servers (we know the protocol doesn't shine for security)

- meta-tools that allow the agent to search over available servers and tools (to avoid context flooding) and connect dynamically to the server it needs (you could create the omnipotent agent with this).

Some cool things we did with this: - write an agent that can use a browser and create/read linear tickets updated with latest information on the internet

- write an agent that has access to the metrics of our company to automatically create weekly reports.

- I connected an agent to an IKEA curtain I hacked an MCP on to adapt the lighting of my room from images of the lighting situation.

- recreated am open source claude code like CLI, with full MCP capability but with custom models and BYOK (https://github.com/mcp-use/mcp-use-cli).

We recently crossed 100,000 download and we are used by many organizations, including NASA!

We’d love to hear what you think of it, most importantly how we can improve it! We are happy to answer any questions and look forward to your comments.
by Isamu | 2025-07-31 16:26:08+00:00
>Otherwise you run into Borges’ map problem—if you want a map that contains all the details of the territory that it’s supposed to represent, then the map has to be the size of the territory itself.

Is this what everyone describes as “the map is not the territory”, or something else? I can imagine some other subtleties of being within a territory that an exact projection might not provide.
by Theodores | 2025-07-31 16:26:10+00:00
It is interesting how laptops, whether running a consumer operating system or Linux, are poorly protected from theft. There is the Kensington lock hole that nobody uses and that is about it. Really, any laptop needs to be a brick without the magic password or bio-id, if the owner has configured it to be so when stolen, as identified by a change of power source or other cause.

As it is, all you need is a screwdriver to take out the disc, put it in another box, format it and put it back. Then you have a machine good to sell on eBay.

NFC could be another way of protecting a PC so you need your phone to unlock it.

PCs used to have a low grade lock on them originally, that locked the power button and disks behind a flimsy piece of plastic. This feature was soon dropped.

Clearly the market does not demand theft proofing. Otherwise we would have a little bit more than noble efforts like this udev script.
by __red__ | 2025-07-31 16:26:19+00:00
I'm not sure I understand what you mean by "real-time safe GC algorithms", but pony is not a language that has being a "real time system" as a design goal.

This pony paper here describes the pony GC algorithms and compares their performance under various scenarios to other language GCs.

https://www.ponylang.io/media/papers/orca_gc_and_type_system...

The charts you want to look at are on pages 19-21.

It shows that ORCA (pony's GC) has extremely low jitter and is highly performant compared to the other industry leaders at the time of publication.
by blackjack_ | 2025-07-31 16:26:21+00:00
I've been trying to watch old 80s-90s movies recently. I'm happy to pay $5 or whatever, and they just aren't available anywhere. Rental stores are dead, so I can't go rent them from blockbuster or whatever, and streaming sites have splintered to the point I'm not even sure what is a scam and what is a legitimate business anymore. Trying to even find availability of what films exist on which streaming sites has been an absolute pain. There are theoretical catalogue sites, but they are all randomly out of date to the point that its not very useful.

I'm literally at the point where its looking like pirating the movies is the only way to watch them...
by pavel_lishin | 2025-07-31 16:26:40+00:00
> That's the easiest part for anyone who's been on the internet long enough.

I've been on the internet for awhile. I've had people tell me to kill myself, I've had 3am phone calls insulting me, I've had to drop a handle on a social networking site because I got a death threat that was just plausible enough that I decided to adopt a pseudonym going forward.

But that doesn't compare to seeing dozens, hundreds, thousands of those comments directed at you day by day. I refuse to believe that it doesn't wear down your psyche after some time.

> I wouldn't and don't care and your buddy shouldn't either. Modern content creation aka TikTok is basically shouting into the void. Why would I care what the void shouts back?

I straight up told him to not read any of the comments, because you're right - it's better to shout into the void, than to attempt to make friends with it.
by bee_rider | 2025-07-31 16:27:25+00:00
> Then I’d send ‘em to my advisor Dan, and he would unpack them in 10 seconds flat. “I do this,” he would say, miming typing on a keyboard, “And I do this,” he would add, gesturing to the student and himself. “I write research papers and I talk to students. Would you like to do those things?”

> Most of those students would go, “Oh, no I would not like to do those things.” The actual content of a professor’s life had never occurred to them. If you could pop the tops of their skulls and see what they thought being a professor was like, you’d probably find some low-res cartoon version of themselves walking around campus in a tweed jacket going, “I’m a professor, that’s me! Professor here!” and everyone waving back to them going, “Hi professor!”

I don’t know if there’s something wrong with me, but as a grad student I hated walking around at the front of class going “I’m a lecturer here” and having the students say “hi lecturer!” It was the least satisfying part of the job. Maybe it feels better if you have the real title.

Office hours were great, though. It’s is like debugging a program, you start at the symptoms and then try to trace your way up to the root cause. Except you have a conversation instead of a stack trace. Just like debugging, it can be really frustrating in the moment, but the end result is really satisfying.

Also, grading was fun, just because you can be an unusually good grader by doing the barest-minimum and including, like, any notes at all (the students just want to know that you actually understood why you took their points away).

It strikes me that those are two spots that seem hardest to automate away, and involve satisfying the customer the most. But they don’t really seem to be central to the professor’ actual identities, or to the general perception of them.
by benterix | 2025-07-31 16:28:20+00:00
No, 44k for a bus driver is in Germany. I also saw job offers for SWE in Germany at 35k, though... To make a solid argument we would have to compare medians.

My loose impression is the median for regular SWEs in Germany is around 60k and for senior positions ca 80k. Whether this is demotivating or otherwise is a matter of personal attitude I think - the difference is not enormous but it is there.
by bayindirh | 2025-07-31 16:28:29+00:00
Any website and app can do it. Zoom / Google Meet / YouTube / Bandcamp / Spotify already does this. I don't think it needs to be hidden behind walls. Maybe a user override can be added.

In Linux, KDE's power manager PowerDevil shows if something is blocking device or display sleep for example. I don't think it's hard to add an indicator in macOS, too.
by AIPedant | 2025-07-31 16:28:56+00:00
This has been the case in software development for a very long time, it is almost impossible to get reliable scientific data about these things because it's almost impossible to run a controlled experiment, and even if you did it's very difficult to decide what to measure and how to measure it. (It's easy to say "compare complexity and quality metrics" but how the fk are you going to define that? Does it really make sense to use the same complexity metric for Go and C++?)

Software developers have had many flame wars over the decades because the lack of data forces the conversation to be anecdotal and ideological:

- should we use dynamic/gradual typing and prioritize developer productivity, or static typing to help enforce correctness?

- agile vs waterfall

- OO vs procedural vs functional

- is Rust's fussiness around memory management more trouble than it's worth for large projects?

- when should you use a 3rd-party library vs doing it yourself?

So this really is nothing new. You are badly underestimating the scientific challenges, instead just hoping big data will plow through. It won't.
by DoctorOetker | 2025-07-31 16:28:57+00:00
The question is not if the described behavior is happening, but how credible their claims of cryptographic security are for the cryptographic primitives we depend on en masse.

Apart from unconditional security protocols, the safety of the cryptographic primitives is never proven, but insinuated by the lack of a public disproof.

How can consensus agreement be satisfied with the situation that 1) FLT may have been proven by Wiles 2) But has not been formally verified yet 3) We assume Fermat could not have found a proof, which insinuates that 4) a succinct proof is assumed to be impossible unless 5) we collectively underestimate Fermat / the power of individual human brains / sheer dedication 6) while pretending there is little to no connection between FLT and public key encryption schemes.
by tharmas | 2025-07-31 16:29:18+00:00
When I first used it, when it was first opened, I couldn't believe how tiny the platforms were. I don't think I'd seen anything so noticeably small before. It was a huge let down. It seemed that the planners/designers were completely clueless on what is required for transit line. Didn't they use the Skytrain and see how busy it was at the time? And if you are going to spend all that money building it in the first place why would you build it so small from the get go? The only explanation was they knew it was too small but they just built it so they could say that they got it done. A big fail in my books. They should be ashamed of themselves.
by colechristensen | 2025-07-31 16:29:34+00:00
>I don’t know if there’s something wrong with me, but as a grad student I hated walking around at the front of class going “I’m a lecturer here” and having the students say “hi lecturer!” It was the least satisfying part of the job. Maybe it feels better if you have the real title.

You didn't like teaching like that. Some people really do, some people don't. Nothing wrong with individual preferences.
by firefax | 2025-07-31 16:29:37+00:00
I never was able to self teach myself math. One of my big regrets is I wanted to keep the door open for law school so I didn't take calc I/II as electives + a CS minor.

I think having that expert who will give you problem sets + classroom instruction where you can ask clarifying questions is extremely important, and a lot of self taught coders flounder on anything quantitative if they lack it.
by mrtksn | 2025-07-31 16:30:08+00:00
What do you plan to do when definitions of crime start getting fuzzy? Crime is not just petty crimes where it's a clear cut to tell if someone did something bad in definitive terms.

Other crime types exist that are crime only within a structure. The crime of sharing copyrighted files is a crime within a framework of intellectual rights but then training AI on the same files and and producing alternative files bypassing the IP is not a crime. Then you get into political crimes, i.e. it can be a crime to deny the Armenian genocide, denying the Jewish genicide and protesting against the extermination of the Palestinians at this very moment. It can be crime to hide from the US embassy that you are not completely in support of extermination of Gaza people. Your government might cut a deal to save Greenland from US invasion that makes certain things a crime that the current US administration doesn't like.

This all can change as politics evolves. Do you intend to support whatever the current position the current government has?
by luiscape | 2025-07-31 16:30:23+00:00
Modal eng here.

We have been using the new CUDA Checkpoint API (https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__CH...) in combination with gVisor's checkpoint / restore API and our custom file system to greatly reduce container cold boot. This is particularly impactful if you need to warm-up GPUs, for example if you are using torch.compile (i.e. you entirely skip torch.compile on restore cold boot).
by azangru | 2025-07-31 16:30:48+00:00
The author of the article writes:

> You’re not the player, you’re the coach. Sometimes that means strategy and big-picture thinking. Sometimes it means shielding your team from dumb shit. Sometimes it means buying someone coffee and saying, “You’re not crazy. This is hard.”

Guess what good agile coaches or scrum masters are expected to do :-)
by mlyle | 2025-07-31 16:31:07+00:00
You've never accidentally spun something up that consumes all the leases?

It's just been a couple of times, but I've definitely done it (e.g. bridged a couple of networks that shouldn't have been).

But mostly, it's the other two things: it provides me with a list of hosts active now, and if the DHCP server is subtly broken I get a sentinel signal of something being wrong earlier (and it tends to be a partial instead of complete failure).

One more bonus: if I move something to a static lease, out of the pool, it'll renumber in a reasonable time and I don't need to go kick link state to get it to request again.

Things like really big caches and really long lease times: They're good for average performance, and they can let you ride out small problems. The flip side is that they tend to mask problems and to create really big demand transients at times. The trick is always to find a good middle ground.
by DaveZale | 2025-07-31 16:31:22+00:00
A decade ago, while helping care for an 85 year old family member, I read several books on Alzheimers. One was "What if it's not Alzheimers?"

Long story short, the "magic bullet" approach of big pharma began with very simple antibiotics whose mission was to "take out the bad guys" like syphilus, TB, pneumonia, etc., with very simple drugs, some of them synthetic, some of them fungal products.

The amyloid hypothesis was an attempt to rationalize a correlation of higher amyloid in the brains of patients who died while afflicted with "Alzheimers" - so that small molecules or antibodies could target the amyloid.

Billions were spent. Patients died.

If you back up over a century to the work of Dr. Alzheimer, only a small fraction of today's AD patients actually have thr irregulataries he observed. But the US health care system provides compensation for medical services based upon "billing codes" - so the Alzheimer's disease diagnosis is a kind of umbrella diagnosis to get payment.

So the AD diagnosis is not the most scientific term in medicine, but involves patients with "dementia" or "senility" ... all terms for similar symptoms. What really underlies dementia? It can be brain damage, it can be vascular - hardening or occulsiom of arteries or the effects of stroke, it can be the long term effects of smoking or overeating for decades.

Our medical system is geared toward "magic bullet" thinking, which goes back over a century. But maybe there ara no magic bullets for AD. Maybe there are only lifestyle interventions which must be implemented decades before symptoms appear.

Of course, a few percent of true hereditary AD cases do appear, usually to patients that are younger. But for the vast majority, the true causes are varied and sometimes overlapping.
by thundergolfer | 2025-07-31 16:31:55+00:00
We've run gVisor for over 2 years at Modal, and it's been a huge unlock for us. We get a secure sandbox with GPU support that can run on VMs. Just recently it allowed us to checkpoint/restore containers AND its GPUs[1].

gVisor's achilles heel is it's missing or inaccurate syscalls, but the gVisor team is first class in responding to Github issues so it's really quite manageable in practice if you know how to debug and hack on a userspace kernel.

1. https://news.ycombinator.com/item?id=44747116
by ants_everywhere | 2025-07-31 16:32:07+00:00
So IIUC like if an article is covering a debate, 3 sources assert "A", and another 3 assert "~A", then the heuristic "3 sources assert means it's true", gives you a logical setup with "A ^ ~A"?

If so, then yes that's a bug in that heuristic. Like I said in my first comment, what OP is describing is impossible the way they're describing it. So I think in that sense we're in agreement.

But on the other hand, maybe OP will end up hacking together a thing that resembles probabilistic modal logic.

At the time I wrote that comment OP was being downvoted and there were no encouraging responses, which I felt wasn't representative of the math community as I know it. Now there is a good discussion of the problem space and some suggestions to check out different kinds of logic, so I'm glad to see all that going on!
by krapp | 2025-07-31 16:32:07+00:00
>Yes, but I understood the discussion about discoverability to be in the perspective of the webmaster.

Fair enough, but I think the problem is the same regardless of the perspective. You as a webmaster wanting to be discovered and me as a user wanting to discover you implies an optimal interface between the two to facilitate that discovery.

Unfortunately, the web is no longer old fashioned. Most links are being posted to social media platforms or link aggregators like HN and Reddit. Most pages only link to other pages if it helps their SEO.

And unfortunately Google no longer ranks content based on quality because they sell rank space and because search is no longer about discovery so much as it is advertising. Which is why I think we do need search engines and algorithms, but we need the kind of search engines and algorithms we had when Google started and before they monetized search and before SEO ate everything when it actually did surface relevant content based on organic links.

I'm not arguing that hyperlinks don't solve the problem of discovery, just that they only solve it at a small scale, and we need a larger scale solution as well.
by mttpwll | 2025-07-31 16:32:24+00:00
This seems like an impressive amount of work and an interesting way to combine RBAC + [realtime] Sync/Conflict Resolution + [local] Document Storage/Querying (and I'm personally interested in the geo module and am intrigued by the AI module to help with some async data pipelines); however, I'm having trouble seeing how this is graph database? Maybe I'm misunderstanding, but I don't see ways for traversing the graph.

I understand that you can create and store a node and then link that node to another node, but how could I query for nodes based on that link/relationship?

E.g.,

```

const alice = await db.put({ name: "Alice", age: 30 }); const bob = await db.put({ name: "Bob", age: 31 }); const cooper = await db.put({ name: "Cooper", age: 29 }); const dwight = await db.put({ name: "Dwight", age: 33 }); await db.link(alice, bob); await db.link(alice, cooper); await db.link(cooper, dwight); const { results } = await db.map({ query: { 'edges.age': { $gt: 30 } // pseudo code }, }); console.log(results[0].name); // 'Alice'

```

I see that an `edges` property is added on result nodes from one of the examples[1] and I'm not familiar with Mongo-style queries[2] to know if there's a better operator, but the query above is meant to find nodes that have connected/edge nodes that have an age greater than 30 (e.g., Bob).

(Also, I'm not sure what it'd look like to check against direct AND indirect edges? e.g., Bob and Dwight)

Anyways, my question/point is, is there support (or plans to support) querying and traverse a directed graph?

[1] https://github.com/estebanrfp/gdb/wiki/.map()#b-query-langua... [2] https://estebanrfp.github.io/gdb/examples/testlinks.html
by tome | 2025-07-31 16:33:23+00:00
A few thoughts:

1. "Not seeing any other reason" doesn't seem to be a particularly strong argument. But let's take it at face value. Estimates of German civilian deaths during WW2 range from 1.5m to 3m people:

https://en.wikipedia.org/wiki/World_War_II_casualties

Was that because the allies were "collectively punishing" or "committing genocide" on Germans? I don't think so, and I don't see any reason that civilian deaths in Gaza imply that either.

2. Do you have a source for your death statistics that doesn't ultimately trace back to the "health ministry" of an internationally proscribed terrorist organisation?

3. Not all children who have died in Gaza since 2023 will have been "killed by Israel". Many will have been killed by Hamas for a variety of reasons, including misfired rockets, booby trapped houses, mosques and schools, and getting caught in the crossfire. Since Hamas knows that every child death will be attributed to Israel it's quite happy for that statistic to rise.

4. As far as I can tell, Israel does not kill children (or any civilians) intentionally. Any civilian killed by Israel in Gaza was unintentional, and civilian deaths occur in any war. This happens all the more in Gaza since Hamas deliberately puts civilians in harms way, and booby traps civil infrastructure or uses it to hide in.

5. Hamas is the government of Gaza, and as such it seems like it is their responsibility, not Israel's, to take action to ensure that harm is prevented to their civilians, up to and including freeing the hostages they hold and unconditionally surrendering. That's what the governments of Germany and Japan ultimately did.
by firefax | 2025-07-31 16:33:25+00:00
>In this attack, it redirects to a Secret Blizzard-controlled domain that likely displays a certificate validation error and gets the user to download and execute ApolloShadow. If the device isn't running on default admin settings, the user is presented with a pop-up window that tells them to download fake certificates, named CertificateDB[.]exe, which gives the attackers elevated privileges.

While this is certainly troubling, it's at it's heart a phishing message.

It sounds like if you don't get tricked into installing weird Russian certificates, your HTTPS traffice can travel unmolested.

Twenty years ago, they'd have been snarfing up passwords sent in the clear and redirecting without a single warning to the user -- the fact they use this technique shows that the encryption and integrity checks present in modern TLS are working as intended.