DEV Community

Cover image for How to Build a LangGraph Research Agent that Embeds Dynamic Charts via MCP Apps (CopilotKit & Tako)

How to Build a LangGraph Research Agent that Embeds Dynamic Charts via MCP Apps (CopilotKit & Tako)

Anmol Baranwal on February 03, 2026

AI research assistants are getting smarter, but turning that reasoning into something usable is still hard. Real research involves more than text:...
Collapse
 
nathan_tarbert profile image
Nathan Tarbert CopilotKit

Whoa, amazing detailed tutorial Anmol, thanks for sharing!

Collapse
 
anmolbaranwal profile image
Anmol Baranwal CopilotKit

thanks Nathan! It's insanely long but also shows a lot of useful patterns.

Collapse
 
steven0121 profile image
Steve

Interesting, I read through, and I'm trying to understand the difference between Tako and Tavily if they are both search?

Collapse
 
alex_rosenberg_602fdda4c6 profile image
Alex Rosenberg

Hey Steve - Tako has a custom index of licensed + large public datasets that aren't easily accessible on the web. For example, Tako has global public and private company metrics from S&P Global, website traffic from SimilarWeb, sports stats from SportRadar, public opinion polling from YouGov, and hundreds of other sources. Web + structured data knowledge graph is a great complement to producing highly accurate, real-time research.

Collapse
 
anmolbaranwal profile image
Anmol Baranwal CopilotKit • Edited

they may look same on the surface but Tavily is for pulling relevant info from the open web so the agent can read and summarize it -- while Tako is more like searching structured datasets/visualizations and can return embeddable interactive charts (via MCP Apps)

If you are wondering where Tako gets context from: the agent uses the LLM to turn the user question into a fewΒ atomic data questions, then calls their MCPΒ knowledge_searchΒ with those queries (covered in the backend section).

Collapse
 
zack-123 profile image
Sayeed

Nice, this looks fun to build!

Collapse
 
alex_rosenberg_602fdda4c6 profile image
Alex Rosenberg

Super detailed and clear way to get visually compelling research working - thanks Anmol!

Collapse
 
anmolbaranwal profile image
Anmol Baranwal CopilotKit

thanks for reading! πŸ™Œ

Collapse
 
bobby_abbott_615d8ef55dd9 profile image
Bobby Abbott

Really cool way to orchestrate Tako and Tavily to produce compelling outputs!

Collapse
 
fliin_0788 profile image
Fliin

Wow, this is quite good. Bookmarking this one as I think I have a use case for it.

Collapse
 
nathan_tarbert profile image
Nathan Tarbert CopilotKit

Hey Fliin, awesome. I'd love to get your feedback once you start building. This example is open source, so feel free to build on top of it!

Collapse
 
ian_cunningham_ceee6e0096 profile image
Ian Cunningham

Thanks for the article β€” the overall approach is interesting, especially the MCP + chart embedding angle.

That said, I’m a bit confused by the implementation details in the repo. The example relies on useCopilotAction, which the official CopilotKit docs now clearly mark as deprecated, with guidance to use the newer hooks instead.

Given that this post was published very recently (and the repo was updated recently as well), could you, or Nathan clarify:

  • Is useCopilotAction still recommended in practice despite being marked deprecated?
  • Or is this example lagging behind the current API guidance?

Right now there’s a real mismatch between the docs, blog posts, and example repos, which makes it hard to know which patterns are safe to adopt in new projects. Some clarity here would save developers a lot of time.