top | item 45199256

Show HN: Building a Deep Research Agent Using MCP-Agent

91 points| saqadri | 5 months ago |thealliance.ai

20 comments

order

diggan|5 months ago

I gotta say, having white blurry blobs of something in the background floating behind white/grey text maybe wasn't the best design-choice out there.

None the less, I tried to find the actual APIs/service/software used for the "search" part, as I've found that to be the hardest to actually get right (at least for as-local-as-possible usage) for my own "Deep Research Agent".

I've experimented with Brave's search API which worked OK, but seems pricey for agent usage. Currently experimenting with using my own (local) YaCy instance right now, which actually gives me higher quality artifacts at the end, as there are no rate-limits and the model can do hundreds of search calls without me worrying about the cost. But it isn't very quick at picking up some stuff like news and more, otherwise works OK too.

What is the author doing here for the actual searching? Anyone else have any other ideas/approaches to this?

saqadri|5 months ago

Haha, I didn't have control on the blog website, just the content. The readme and code is the ultimate source of truth (and easier to read):https://github.com/lastmile-ai/mcp-agent/blob/main/src/mcp_a...

So the core idea is the Deep Orchestrator is pretty unopinionated on what to use for searching, as long as it is exposed over MCP. I tried with a basic fetch server that's one of the reference MCP servers (with a single tool called `fetch`), and also tried with Brave.

I think the folks at Jina wrote some really good stuff on the actual search part: https://jina.ai/news/a-practical-guide-to-implementing-deeps... -- and how to do page/url ranking over the course of the flow. My recommendation would be to do all that in an MCP server itself. That keeps the "deep orchestrator" architecture fairly clean, and you can plug in increasingly sophisticated search techniques over time.

mbil|5 months ago

I'm using mcp-agent and have tried the orchestrator workflow pattern[0]. For deep research I'm having mixed results. As far as I can tell, it's not using prompt caching[1] with Anthropic models, nor the gpt-5 responses API[2], which is preferable to the completions API. The many MCP tools from a handful of servers eat up a lot of context. It doesn't report progress, so it'll just spin for minutes at a time without meaningful indication. Mostly it has been high cost and high latency without great grounding in source facts. I like the interface overall, but some of the patterns and examples were convoluted. I'm aware that mcp-agent is being worked on, and I look forward to improvements.

[0]: https://docs.mcp-agent.com/workflows/orchestrator

[1]: https://docs.anthropic.com/en/docs/build-with-claude/prompt-...

[2]: https://platform.openai.com/docs/guides/migrate-to-responses

ilovefood|5 months ago

Great write-up! Gives me a few ideas for a governance bot that I'm working on. Thanks for sharing :)

asail77|5 months ago

A good model for planner seems pretty important, what models are best?

saqadri|5 months ago

OP here -- I think the general principle I would recommend is using a big reasoning model for the planning phase. I think Claude Code and other agents do the same. The reason this is important is because the quality of the plan really affects the final result, and error rates will compound if the plan isn't good.

haniehz|5 months ago

based on the article, it seems like a good reasoning model like gpt5 or opus 4.1 might be good choices for the planner. I wonder if the gpt oss reasoning models would do well