frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

From OpenAPI spec to MCP: How we built Xata's MCP server

https://xata.io/blog/built-xata-mcp-server
45•tudorg•7mo ago

Comments

_pdp_•7mo ago
I mean there are 2 other posts related to data exfiltration attacks against MCP severs on the main page of HN at the time of this comment - at this point I think you want to involve a security person to make sure it is not vulnerable to stupid things.
Atotalnoob•7mo ago
The MCP attacks are really just due to bad token scoping.

If you allow Y to do X, if an attacker takes control of Y, of course they can do X.

wild_egg•7mo ago
Can you elaborate on "bad token scoping"?

I don't think your XY phrasing fully describes the GitHub MCP exploit and curious if you think that's somehow a "token scoping" issue.

fkyoureadthedoc•7mo ago
I'm unaware of the GitHub MCP "exploit", but given the overall state of LLM/MCP security FUD, there's probably some self promotion blog post from a security company about an LLM doing something stupid with GitHub data that the owner of the LLM using system didn't intend.

For example, let's say I create an application that lets you chat with my open source repo. I set up my LLM with a GitHub tool. I don't want to think about oauth and getting a token from the end user, so I give it a PAT that I generated from my account. I'm even more lazy so I just used a PAT I already had laying around, and it unfortunately had read/write access to SSH keys. The user can add their ssh key to my account and do malicious things.

Oh no, MCP is super vulnerable, please buy my LLM security product.

If you give the LLM a tool, and you give the LLM input from a user, the user has access to that tool. That shrimple.

wild_egg•7mo ago
https://news.ycombinator.com/item?id=44097390

Also currently on the front page. It's mainly that this tool hits the trifecta of having privileged access, untrusted inputs, and ability to exfiltrate. Most tools only do 1-2 of those so attacks need to be more sophisticated to coordinate that.

rexer•7mo ago
I think this downplays the security issue. It's true that scoping the token correctly would prevent this exploit, but it's not a reasonable solution under the assumptions that are taken by the designers of MCP. LLM+MCP is intended to be ultra flexible, and requiring a new (differently scoped) token for each input is not flexible.

Perhaps you could have an allow/deny popup whenever the LLM wanted to interact with a service. But I think the end state there is presenting the user a bunch of metadata about the operation, which the user then needs to reason about. I don't know that's much better; those OAuth prompts are generally click throughs for users.

truemotive•7mo ago
GitLab Duo got hit with an oopsie, "AI agent runs with same privilege to site content as the authenticated user" kinda oopsie where you could just exfiltrate private repo information via a pixel gif.

I knew it would get bad, but this bad already? I yearn for rigor haha

alooPotato•7mo ago
i really dont get why we cant just feed the openapi spec to the LLM instead of having this intermediate MCP representation. Don't really buy the whole 'the api docs will overwhelm an LLM" - that hasn't been my experience.
wild_egg•7mo ago
I haven't looked at MCP payloads properly to compare but often the raw OpenAPI spec is overly verbose and eats context space pretty quick.

Really trivial to have the LLM first filter it down to the sections it cares about and then condense those sections though.

Wrap that process in a small tool and give that to the LLM along with a `fetch` tool that handles credentials based on URLs and agent capabilities explode pretty rapidly.

crystal_revenge•7mo ago
I see this question frequently related to MCP, but I'm guessing these questions come from people who haven't built a lot of products using LLMs?

Even if you're LLM could learn the openai spec, you still have to figure out how to concretely receive a response back. This is necessary for virtually any application build using an LLM and requires support for far, far more use cases than just calling an API.

Consider the following use case: - You need to include some relevant contextual data from a local RAG system. - There are local functions that you want the model to be able to call - The API example you describe - You need to access data from a database

In all of these cases, if you have experience working with LLMs, you've implemented some ad hoc template solution to pass the context into the model. You might have writing something like "Here is the info relevant to this task {{info}}" or "These are the tools you can use {{tools}}", but in each case you've had to craft a prompting solution specific to one problem.

MCP solves this by making a generic interface to sending a wide range of information to the model to make use of. While the hype can be a bit much, it's a pretty good (minus the lack of foresight around security) and obvious solution to this current problem in AI Engineering.

otabdeveloper4•7mo ago
Just ask the model to respond with JSON. Give it a template example response.

You don't need a spec.

For sending prompts to the LLM you will absolutely need to hand-craft custom prompts anyways, as each model responds slightly different.

wild_egg•7mo ago
> you still have to figure out how to concretely receive a response back

Isn't that handled by whatever Tool API you're using? There's usually a `function_call_output` or `tool_result` message type. I haven't had a need for a separate protocol just to send responses.

truemotive•7mo ago
If you're working from OpenAPI, ideally you want to be able to process any, potentially full of shit formatting spec file. I find that half the integrations I run into have some old weird version of Swagger, and the rest work like hell to stay up to date with the 3.x spec track.

I agree, I wish, it will be a solved problem eventually. Just feeding a complex data model like that to the paper shredder that is the LLM, for making decisions about whether DELETE or POST is used is just asking for trouble.

lmeyerov•7mo ago
Slightly different experience here

We have been adding MCP remote server to louie.ai, think a semantic layer over DBs for automating investigations, analytics, and viz over operational systems. MCP is nice so people can now use from Slack, VS Code, CLI, etc, without us building every single integration when they want to use it outside of our AI notebooks. And same starting point of openAPI spec, and even better, fastapi standard web framework for the REST layer.

Using frameworks has been good. However, for chat ergonomics, we find we are defining custom tools, as talking directly to REST APIs is better than nothing, but that doesn't mean it's good. The tool layer isn't that fancy, but getting the ergonomics right matters, at least in our experience. Most of our time has been on security and ergonomics. (And for fun, we had an experiment of vibe coding this while hitting enterprise-level quality goals.)

ENGNR•7mo ago
Agreed, I’ve only implemented one endpoint, but even on that the amount of data coming back was too high, and the json shape ate up context

I think MCP responses will be high level, aggregated, sorted, etc. Also strongly considering YAML over JSON

matt-attack•7mo ago
Why? Does the a sense of quotes and commas really make a difference in context size?
jedisct1•7mo ago
If you got an OpenAPI spec and want to expose it as MCP, https://jedisct1.github.io/openapi-mcp/ is an easy way to do it.

Sergey Brin's Unretirement

https://www.inc.com/jessica-stillman/google-co-founder-sergey-brins-unretirement-is-a-lesson-for-...
180•iancmceachern•6d ago•200 comments

The creator of Claude Code's Claude setup

https://twitter.com/bcherny/status/2007179832300581177
379•KothuRoti•4d ago•220 comments

Vector graphics on GPU

https://gasiulis.name/vector-graphics-on-gpu/
38•gsf_emergency_6•4d ago•7 comments

Stop Doom Scrolling, Start Doom Coding: Build via the terminal from your phone

https://github.com/rberg27/doom-coding
430•rbergamini27•14h ago•305 comments

Electronic nose for indoor mold detection and identification

https://advanced.onlinelibrary.wiley.com/doi/10.1002/adsr.202500124
118•PaulHoule•10h ago•60 comments

Opus 4.5 is not the normal AI agent experience that I have had thus far

https://burkeholland.github.io/posts/opus-4-5-change-everything/
564•tbassetto•16h ago•764 comments

Rust is beyond object-oriented, part 3: Inheritance (2023)

https://www.thecodedmessage.com/posts/oop-3-inheritance/
30•zahrevsky•3d ago•37 comments

Show HN: SMTP Tunnel – A SOCKS5 proxy disguised as email traffic to bypass DPI

https://github.com/x011/smtp-tunnel-proxy
63•lobito25•10h ago•18 comments

A 30B Qwen model walks into a Raspberry Pi and runs in real time

https://byteshape.com/blogs/Qwen3-30B-A3B-Instruct-2507/
244•dataminer•13h ago•71 comments

On the slow death of scaling

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5877662
70•sethbannon•6h ago•12 comments

Oral microbiome sequencing after taking probiotics

https://blog.booleanbiotech.com/oral-microbiome-biogaia
143•sethbannon•13h ago•60 comments

Vietnam bans unskippable ads

https://saigoneer.com/vietnam-news/28652-vienam-bans-unskippable-ads,-requires-skip-button-to-app...
1328•hoherd•17h ago•686 comments

We recreated Steve Jobs's 1975 Atari horoscope program

https://blog.adafruit.com/2026/01/06/we-recreated-steve-jobss-1975-atari-horoscope-program-and-yo...
65•ptorrone•9h ago•27 comments

I wanted a camera that doesn't exist, so I built it

https://medium.com/@cristi.baluta/i-wanted-a-camera-that-doesnt-exist-so-i-built-it-5f9864533eb7
365•cyrc•4d ago•112 comments

Calling All Hackers: How money works (2024)

https://phrack.org/issues/71/17
244•krrishd•14h ago•161 comments

Microsoft probably killed my Snapdragon Dev Kit

https://jasoneckert.github.io/myblog/how-microsoft-killed-my-snapdragon-devkit/
166•jasoneckert•7h ago•91 comments

What *is* code? (2015)

https://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/
35•bblcla•5d ago•12 comments

CES 2026: Taking the Lids Off AMD's Venice and MI400 SoCs

https://chipsandcheese.com/p/ces-2026-taking-the-lids-off-amds
102•rbanffy•12h ago•58 comments

Show HN: VaultSandbox – Test your real MailGun/SES/etc. integration

https://vaultsandbox.com/
31•vaultsandbox•20h ago•2 comments

Launch HN: Tamarind Bio (YC W24) – AI Inference Provider for Drug Discovery

69•denizkavi•16h ago•17 comments

Two ways to crack a walnut, per Grothendieck (2025)

https://shreevatsa.net/post/grothendieck-approaches/
33•ethanseal•2d ago•8 comments

Show HN: TCP chat server written in C# and .NET 9, used in the terminal

https://github.com/Sieep-Coding/simple-chat-csharp
15•sieep•4d ago•4 comments

High-Performance DBMSs with io_uring: When and How to use it

https://arxiv.org/abs/2512.04859
139•matt_d•15h ago•38 comments

Show HN: Make audio loops online

https://makeloops.online/
39•bilalba•1d ago•9 comments

Investigating and fixing a nasty clone bug

https://kobzol.github.io/rust/2025/12/30/investigating-and-fixing-a-nasty-clone-bug.html
3•r4um•4d ago•0 comments

Locating a Photo of a Vehicle in 30 Seconds with GeoSpy

https://geospy.ai/blog/locating-a-photo-of-a-vehicle-in-30-seconds-with-geospy
123•kachapopopow•16h ago•107 comments

Comparing AI agents to cybersecurity professionals in real-world pen testing

https://arxiv.org/abs/2512.09882
100•littlexsparkee•13h ago•66 comments

Passing of Joe Mancuso

https://github.com/MasoniteFramework/masonite/discussions/853
175•wilsonfiifi•16h ago•16 comments

Laylo (YC S20) – Head of Growth (Organic and Partners and Loops and AI) – Remote US

https://www.ycombinator.com/companies/laylo/jobs/ZtLHRXe-head-of-growth
1•amellin794•12h ago

Show HN: Mantic.sh – A structural code search engine for AI agents

https://github.com/marcoaapfortes/Mantic.sh
65•marcoaapfortes•20h ago•26 comments