When using chrome-devtools-mcp via langchain-mcp-adapters together with DeepAgents (create_deep_agent), the Chrome MCP process frequently terminates automatically during or shortly after tool execution.
import asyncio
from langchain_mcp_adapters.client import MultiServerMCPClient
from deepagents import create_deep_agent
from dotenv import load_dotenv
load_dotenv()
async def main():
print("[+] Starting Chrome MCP via stdio")
client = MultiServerMCPClient(
{
"chrome": {
"transport": "stdio",
"command": "npx",
"args": ["chrome-devtools-mcp@latest"],
}
}
)
tools = await client.get_tools()
agent = create_deep_agent(
tools=tools,
system_prompt="""
You are a security engineer performing SAFE reconnaissance.
Only observe, screenshot, and analyze.
"""
)
async for chunk in agent.astream(
{
"messages": [
{
"role": "user",
"content": "Open http://testphp.vulnweb.com and take a screenshot"
}
]
}
):
if "messages" in chunk and chunk["messages"]:
msg = chunk["messages"][-1]
if hasattr(msg, "pretty_print"):
msg.pretty_print()
else:
print(msg)
if __name__ == "__main__":
asyncio.run(main())