Skip to content

Live agent MCP tools + Firecrawl search (with Windows test fix) — supersedes #245#246

Merged
alexkroman merged 3 commits into
mainfrom
claude/kind-goodall-rzbqka-winfix
Jun 18, 2026
Merged

Live agent MCP tools + Firecrawl search (with Windows test fix) — supersedes #245#246
alexkroman merged 3 commits into
mainfrom
claude/kind-goodall-rzbqka-winfix

Conversation

@alexkroman

Copy link
Copy Markdown
Collaborator

Same change as #245 (MCP server tools + Firecrawl web search for assembly live), plus a fix for the Windows CI failure that #245's branch can't take because it's locked in the merge queue.

Why a new branch

#245 is in the merge queue, so its branch is locked and won't accept new pushes. Its head commit (7079cef) fails tests (windows, py3.12/py3.13), and the PR is unstable (Windows may not be a required check), so the queue could land the failing test on main. This branch carries the identical feature commits plus the fix so the corrected version can land.

The fix (commit bfa0a5d)

  • Windows test failure: test_default_servers_curated_set_and_filesystem_root hardcoded a forward-slash path (/notes/dir), but on Windows str(Path("/notes/dir")) renders with backslashes (\notes\dir). The test now compares against str(root) so it holds on every platform. The production code was already correct — a native path is what the filesystem MCP server wants on Windows.
  • Stale comments: corrected three docstrings/comments in the live agent that still referenced TAVILY_API_KEY / --demo-tools after the switch to Firecrawl and default-loaded tools (flagged in review on Add MCP server support to live agent with Firecrawl web search #245).

Everything else is unchanged from #245; the full local gate is green (lint, types, 100% patch coverage, mutation, build). Once this is ready to land, close #245 in favor of this PR (or merge this and let #245 drop out of the queue).

🤖 Generated with Claude Code

https://claude.ai/code/session_01S2tt5oaMXD2RCVoAqGbqyR


Generated by Claude Code

@alexkroman alexkroman enabled auto-merge June 18, 2026 18:10
@alexkroman alexkroman added this pull request to the merge queue Jun 18, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jun 18, 2026
@alexkroman alexkroman force-pushed the claude/kind-goodall-rzbqka-winfix branch from bfa0a5d to 7dd05e0 Compare June 18, 2026 18:48
claude added 3 commits June 18, 2026 19:01
Thread Model Context Protocol servers into the deepagents brain behind
`assembly live`, so a spoken conversation can reach real tools mid-turn —
bringing it toward Gemini-Live / ChatGPT-voice parity.

- `--mcp-config FILE` (repeatable) loads tools from standard `mcpServers`
  JSON, the same shape Claude Desktop / Claude Code use.
- `--demo-tools` loads a curated, no-auth set (time, fetch, memory,
  filesystem, weather) for a reliable on-stage demo.

Each server launches best-effort and independently, so one that won't start
(missing npx/uvx, offline host) drops only its own tools and never sinks the
session. The system prompt advertises MCP tools generically by name so the
agent reaches for them without promising capabilities it lacks.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S2tt5oaMXD2RCVoAqGbqyR
Drop the --demo-tools opt-in: `assembly live` now loads the curated MCP
toolset (time, fetch, memory, filesystem, weather) by default, alongside its
built-in URL fetch and the AssemblyAI docs MCP. --mcp-config still layers your
own servers on top (and can override a default by name).

Switch the default web search from Tavily to Firecrawl, reusing Firecrawl's
official LangChain integration (langchain-firecrawl's FirecrawlSearch). It
loads when FIRECRAWL_API_KEY is set; when it isn't, the session prints a
one-line notice and runs without web search (every other default tool is
no-auth). `assembly code` keeps its Tavily search unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S2tt5oaMXD2RCVoAqGbqyR
- test_default_servers_curated_set_and_filesystem_root hardcoded a forward-slash
  path, which fails on Windows where str(Path(...)) uses backslashes; compare
  against str(root) instead. The production code (a native path for the
  filesystem MCP server) was already correct.
- Update three docstrings/comments in the live agent that still referenced
  TAVILY_API_KEY / --demo-tools after the switch to Firecrawl and default-loaded
  tools (flagged by review).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S2tt5oaMXD2RCVoAqGbqyR
@alexkroman alexkroman force-pushed the claude/kind-goodall-rzbqka-winfix branch from 7dd05e0 to 4bd2530 Compare June 18, 2026 19:07
@alexkroman alexkroman enabled auto-merge June 18, 2026 19:10
@alexkroman alexkroman added this pull request to the merge queue Jun 18, 2026
Merged via the queue into main with commit 5f42144 Jun 18, 2026
18 of 20 checks passed
@alexkroman alexkroman deleted the claude/kind-goodall-rzbqka-winfix branch June 18, 2026 19:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants