frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: tomcp.org – Turn any URL into an MCP server

https://github.com/Ami3466/tomcp
32•ami3466•4h ago
Prepend tomcp.org/ to any URL to instantly turn it into an MCP server.

You can either chat directly with the page or add the config to Cursor/Claude to pipe the website/docs straight into your context.

Why MCP? Using MCP is better than raw scraping or copy-pasting because it converts the page into clean Markdown. This helps the AI understand the structure better and uses significantly fewer tokens.

How it works: It is a proxy that fetches the URL, removes ads and navigation, and exposes the clean content as a standard MCP Resource.

Repo: https://github.com/Ami3466/tomcp (Inspired by GitMCP, but for the general web)

Comments

bakies•3h ago
I thought this is what the web_fetch tools already did? Tools are configured through MCP also, right? So why am I prepending a URL, and not just using the web_fetch tool that already works?

Does this skirt the robots.txt by chance? Not being to fetch any web page is really bugging me and I'm hoping to use a better web_fetch that isn't censored. I'm just going to copy/paste the content anyway.

mbreese•3h ago
I think the idea here is that the web_fetch is restricted to the target site. I might want to include my documentation in an MCP server (from docs.example.com), but that doesn’t mean I want the full web available.
bsima•3h ago
Who is tom and why is he copying?
ami3466•27m ago
lol I got this domain at 2am and didn't think through.
SilentM68•3h ago
Cool :)
mbreese•2h ago
I think this is a good idea in general, but perhaps a bit too simple. It looks like this only works for static sites, right? It then performs a JS fetch to pull in the html code and then converts it (in a quick and dirty manner) to markdown.

I know this is pointing to the GH repo, but I’d love to know more about why the author chose to build it this way. I suspect it keeps costs low/free. But why CF workers? How much processing can you get done for free here?

I’m not sure how you could do much more in a CF worker, but this might be too simple to be useful on many sites.

Example: I had to pull in a docs site that was built for a project I’m working on. We wanted an LLM to be able to use the docs in their responses. However, the site was based on VitePress. I didn’t have access to the source markdown files, so I wrote an MCP fetcher that uses a dockerized headless chrome instance to load the page. I then pull the innerHTML directly from the processed DOM. It’s probably overkill, but an example of when this tool might not work.

But — if you have a static site, this tool could be a very simple way to configure MCP access. It’s a nice idea!

ami3466•19m ago
The simplicity is a feature. I avoided headless Chrome because standard fetch tools (and raw DOM dumps) pollute the context with navbars and scripts, wasting tokens. This parser converts to clean Markdown for maximum density.

Also, by treating this as an MCP Resource rather than a Tool, the docs are pinned permanently instead of relying on the model to "decide" to fetch them.

Cloudflare Workers handle this perfectly for free (100k reqs/day) without the overhead of managing a dockerized browser instance.

mbreese•7m ago
I like the idea of exposing this as a resource. That’s a good idea so you don’t have to wait for a tool call. Is using a resource faster though? Doesn’t the LLM still have to make a request to the MCP server in both cases? Is the idea being that because it is pinned a priori, you’ve already retrieved and processed the HTML, so the response will be faster?

But I do think the lack of a JavaScript loader will be a problem for many sites. In my case, I still run the innerHTML through a Markdown converter to get rid of the extra cruft. You’re right that this helps a lot. Even better if you can choose which #id element to load. Wikipedia has a lot of extra info that surrounds the main article that even with MD conversion adds extra fluff. But without the JS loading, you’re still going to not be able to process a lot of sites in the wild.

Now, I would personally argue that’s an issue with those sites. I’m not a big fan of dynamic JS loaded pages. Sadly, I think that that ship has sailed…

aritex•2h ago
This is a clever solution to a real problem. I could use this for quick turn around from webpage kb to the mcp. Thanks for sharing.
_pdp_•2h ago
Fun idea although I thought the industry is leaning towards using llms.txt.
mbreese•2h ago
Isn’t that for scraping? I think this is for injecting (or making that possible) to add an MCP front end to a site.

Different use cases, I think.

dennisy•1h ago
I am not quite clear why this adds value over a simple web fetch tool which does not require configuration per site.
eevmanu•52m ago
I’m a bit confused because I don’t clearly understand the value this tool adds. Could you help me understand it?

From what I can see, if the content I want to enrich is static, the web fetch tool seems sufficient. Is this tool capable of extracting information from dynamic websites or sites behind login walls, or is it essentially the same as a web fetch tool that only works with static pages?

ami3466•28m ago
I see many of you asking about the differences between using this versus web_fetch. The main differences are the quality of the data and token usage.

1. Standard web_fetch tools usually dump raw HTML into the context (including navbars, scripts, and footer noise). This wastes a huge amount of tokens and distracts the model. toMCP runs the page through a readability parser and converts it to clean markdown before sending it to the AI.

2. Adding a website as an MCP Resource pins it as a permanent, read-only context, making it ideal for keeping documentation constantly available. This differs from the web_fetch tool, which is an on-demand action the AI only triggers when it decides to, meaning the data isn't permanently attached to your project.

Show HN: Tripwire: A new anti evil maid defense

https://github.com/fr33-sh/Tripwire
68•DoctorFreeman•1d ago•38 comments

Show HN: PhenixCode – Added admin dashboard for multi-server management

https://github.com/nesall/phenixcode
2•nesall•54m ago•0 comments

Show HN: Autofix Bot – Hybrid static analysis and AI code review agent

29•sanketsaurav•23h ago•10 comments

Show HN: Sim – Apache-2.0 n8n alternative

https://github.com/simstudioai/sim
226•waleedlatif1•1d ago•57 comments

Show HN: I'm building an open-source Amazon

https://openship.org
5•theturtletalks•2h ago•0 comments

Show HN: ESLint Plugin for styled-jsx

https://github.com/sushichan044/eslint-plugin-styled-jsx
2•sushichan044•2h ago•0 comments

Show HN: Euporie-lite, Jupyter notebooks in terminal in the browser

https://euporie.readthedocs.io/en/latest/_static/lite.html
3•joouha•4h ago•1 comments

Show HN: Dbxlite – Query 100M+ rows in a browser tab, no install

https://sql.dbxlite.com/?share=gist:f0377982ccd68ac7f61a7faef8ff513e&run=true
2•hfmsio•4h ago•0 comments

Show HN: A zero-to-hero, spaced-repetition guide to WebGL2 and GLSL

https://github.com/GregStanton/webgl2-glsl-primer
2•HigherMathHelp•4h ago•1 comments

Show HN: Local Privacy Firewall-blocks PII and secrets before ChatGPT sees them

https://github.com/privacyshield-ai/privacy-firewall
104•arnabkarsarkar•3d ago•53 comments

Show HN: Epstein's emails reconstructed in a message-style UI (OCR and LLMs)

https://github.com/Toon-nooT/epsteins-phone-reconstructed
38•toon-noot•8h ago•7 comments

Show HN: Jottings; Anti-social microblog for your thoughts

https://jottings.me/
20•vishalvshekkar•12h ago•12 comments

Show HN: Open-source, offline voice typing and live captions for Android

https://github.com/notune/android_transcribe_app
3•leumon•7h ago•0 comments

Show HN: Wirebrowser – A JavaScript debugger with breakpoint-driven heap search

https://github.com/fcavallarin/wirebrowser
65•fcavallarin•2d ago•15 comments

Show HN: 360css CSS library inspired by the xbox360 dashboard

https://tarmo1.github.io/360css/
3•Tarmo362•8h ago•0 comments

Show HN: Gemini Pro 3 imagines the HN front page 10 years from now

https://dosaygo-studio.github.io/hn-front-page-2035/news
3314•keepamovin•3d ago•957 comments

Show HN: GPULlama3.java Llama Compilied to PTX/OpenCL Now Integrated in Quarkus

22•mikepapadim•1d ago•5 comments

Show HN: A 2-row, 16-key keyboard designed for smartphones

https://k-keyboard.com/Why-QWERTY-mini
79•QWERTYmini•2d ago•67 comments

Show HN: An endless scrolling word search game

https://endless-wordsearch.com
24•marcusdev•1d ago•14 comments

Show HN: Automated license plate reader coverage in the USA

https://alpranalysis.com
236•sodality2•2d ago•146 comments

Show HN: Gotui – a modern Go terminal dashboard library

https://github.com/metaspartan/gotui
40•carsenk•1d ago•13 comments

Show HN: Workmux – Parallel development in tmux with Git worktrees

https://github.com/raine/workmux
4•rane•10h ago•0 comments

Show HN: A minimum viable Markov gibberish generator in 32 lines of Python

https://github.com/susam/mvs
3•susam•10h ago•0 comments

Show HN: Dssrf – A safe‑by‑construction SSRF defense library for Node.js

2•relunsec•5h ago•0 comments

Show HN: AlgoDrill – Interactive drills to stop forgetting LeetCode patterns

https://algodrill.io
177•henwfan•3d ago•106 comments

Show HN: Marmot v2.20 – A distributed SQLite server with MySQL wire compatbility

https://github.com/maxpert/marmot/releases/tag/v2.2.0
5•maxpert•5h ago•0 comments

Show HN: I built a system for active note-taking in regular meetings like 1-1s

https://withdocket.com
173•davnicwil•3d ago•130 comments

Show HN: I want to democratise Bloomberg Terminal

https://www.aulico.com/workspaces/new
2•lalalerodas•17h ago•1 comments

Show HN: Search the lyrics of 500 HÖR Berlin techno sets

https://hor.greg.technology/
2•gregsadetsky•19h ago•2 comments

Show HN: The world's least deterministic programming language

https://github.com/andr3wV/VibeScript
4•andr3wV•19h ago•0 comments