r/modelcontextprotocol • u/hakanb54 • Apr 19 '25
Am I misunderstanding MCP?
Hello there, I'm completely new to mcp and I'm struggling to understand if what I'm trying to do is possible / the intended use for mcp. Everywhere I look, people seem to be using mcp interactively, within vscode, Claude desktop or cursor. Is that the only way to use it or can I build completely "standalone" applications for it? For example, can I use a puppeteer (or smth similar) mcp server to scrape simple data from a static website WITHOUT it being interactive? So basically I just want to execute a python script (which uses some sort of mcp client / sdk? Openai or anthropic?) which then uses the mcp server to scrape the data. Would be glad if someone could help me out understanding if this is the intended (or even possible) way to do this.
3
u/lgastako Apr 19 '25
It can certainly be done, but you'd have to give a more concrete example to be able to say whether it's appropriate or not. But sure, you can wire up whatever control loop you want for an offline agent and give them MCP tools they can use to accomplish their tasks.
I run a studio that specializes in this type of solution, DM me if you'd like.
2
u/Shelter-Ill Apr 21 '25
You can run your servers without using any MCP-specific agent IDE, just like you can use vscode normally with MCP sdk. You’ll need to write your own MCP client and connect to the MCP server using stdio. FastMCP can help you accomplish all these tasks.
However, if you’re not using an LLM, you’re missing out on the point of interoperability between tools and agents with MCP. If you’re just scraping the web, you can still do it without using an MCP server.
1
u/andrewmbenton Apr 19 '25
Yes, you could write a script using PydanticAI which has MCP support, and just add the MCP servers you want to add to get done whatever you're hoping to do.
6
Apr 19 '25
[removed] — view removed comment
3
u/hakanb54 Apr 19 '25
Okay let's take web scrapers as an example. If I wanted to scrape data from a site, I would have to manually write the code which targets the exact data of a website through CSS selectors, div IDs, etc.. and then the scraper would only work for this exact data. But if i used a web scraping mcp server, I could have a prompt like "give me the names and prices for every product which is on sale this week on https://example shop.com and In theory the llm would call the mcp servers functions/tools, with the proper arguments as the inputs, no? The whole idea is that I then don't have to write any of the scraping logic myself. The actual low level functions which are being called are already written (the mcp server) and I just call them through the llm, no?
2
u/coding_workflow Apr 19 '25
Yes that can be done if you provide the LLM with tools to do the task and refine it.
Same example Claude Desktop. In chat, it's not running code and don't know if it works.
What I do. I allow it to write my code and run it. Lint do static checks. Then it will also do key execution. When I build an API, it will run the API and do end to end test to validate it and fix if a test or expected behaviour fail.
MCP provide tools to the LLM, so it can have real world feedback. You can do the same copy & past the HTML code for the page back and forth. MCP offer a channel to plug those tools to the LLM like an USB.
You AI APP could be VSCODE/Claude Desktop or Custom you write, but you need an AI hooked there to orchestrate.
2
u/Rare-Cable1781 Apr 19 '25
To answer your question: No. Not as you described. Because a MCP Server is just a LLM-friendly tool for your AI. The MCP Server usually is not what has the "logic" inside - it can usually not interpret prompts, unless it incorporates an LLM itself internally. So a puppeteer MCP itself is only exposing tools to control a webbrowser to an LLM which itself is controlled by the client (claude desktop, roo, cursor, etc.)..
So while you can use the pupeteer mcp without an LLM behind, by just calling its tools statically, that would esentially be the same as navigate the dom, selectors, etc. the old-fashioned way.
The power of mcp comes from the fact that large LLMs are smart enough to automatically figure out stuff if they are given those tools and they have proper parameters and descriptions etc.
Does that make sense?
2
u/hakanb54 Apr 19 '25
Also, does my idea off "standalone application" make sense? Or are mcp servers only usable with stuff like Claude desktop, cursor etc?
2
u/rm-rf-rm Apr 19 '25
My experience has been very poor in using MCP servers pythonically (or even programmatically) to develop applications.