From 7abf8d9808fe0940f4d21f08645c64e8d141059f Mon Sep 17 00:00:00 2001 From: Joey Luo Date: Fri, 15 May 2026 11:48:42 +0800 Subject: [PATCH] feat(agents): allow WebSearch/WebFetch fallback for research agents MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Six research/coverage agents declare their `tools` allowlist as MCP-only: market-researcher: tools: Read, Write, Edit, mcp__capiq__*, mcp__factset__* earnings-reviewer: tools: Read, Write, Edit, mcp__factset__*, mcp__daloopa__* pitch-agent: tools: Read, Write, Edit, mcp__capiq__* model-builder: tools: Read, Write, Edit, mcp__capiq__*, mcp__daloopa__* meeting-prep-agent: tools: Read, Write, mcp__crm__*, mcp__capiq__* valuation-reviewer: tools: Read, Grep, Glob, mcp__portfolio__* For environments without the assumed third-party MCP subscriptions (CapIQ / FactSet / Daloopa / CRM), the agent has no way to source live data and fails or degrades to inline execution by the main session rather than the named subagent. Reproduced today against a fresh Claude Code install with no subscriptions: market-researcher subagent loaded — but provisioned without WebSearch/WebFetch, which made it unable to source live citations and therefore unable to run competitive-analysis/comps-analysis skills end-to-end. It correctly refused to fabricate URLs (no fabrication red line). Workaround: produced the primer from the main session with web tools. Adding WebSearch and WebFetch to the six research-oriented agents: - Restores the agent's ability to source primary public data (filings, press releases, news, regulatory documents) without proprietary subscriptions - Preserves the no-fabrication guardrails — the agents still refuse to invent figures; they cite what they fetch - Does not change behavior for subscribed users — MCP tools remain preferred where available (skills explicitly route to MCP first) Intentionally NOT modified — ops agents that work on internal data where web search would be inappropriate or a compliance risk: - kyc-screener (works on internal onboarding docs + screening MCP) - gl-reconciler (internal general ledger + subledger) - month-end-closer (internal general ledger) - statement-auditor (internal NAV pack) After fix, the market-researcher subagent loads with WebSearch and runs research end-to-end as a true subagent (verified with a fresh session — agent ID issued, 13 tool uses including WebSearch + Write, produced a 76-line cited primer). --- .../agent-plugins/earnings-reviewer/agents/earnings-reviewer.md | 2 +- .../agent-plugins/market-researcher/agents/market-researcher.md | 2 +- .../meeting-prep-agent/agents/meeting-prep-agent.md | 2 +- plugins/agent-plugins/model-builder/agents/model-builder.md | 2 +- plugins/agent-plugins/pitch-agent/agents/pitch-agent.md | 2 +- .../valuation-reviewer/agents/valuation-reviewer.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/agent-plugins/earnings-reviewer/agents/earnings-reviewer.md b/plugins/agent-plugins/earnings-reviewer/agents/earnings-reviewer.md index 474e1e94..75040b22 100644 --- a/plugins/agent-plugins/earnings-reviewer/agents/earnings-reviewer.md +++ b/plugins/agent-plugins/earnings-reviewer/agents/earnings-reviewer.md @@ -1,7 +1,7 @@ --- name: earnings-reviewer description: Processes an earnings event end to end — reads the call transcript and filings, updates the coverage model, and drafts the post-earnings note. Use when a covered name reports; for a single name interactively, or fanned out across a coverage list as a managed agent. -tools: Read, Write, Edit, mcp__factset__*, mcp__daloopa__* +tools: Read, Write, Edit, mcp__factset__*, mcp__daloopa__*, WebSearch, WebFetch --- You are the Earnings Reviewer — a senior equity research associate who owns the post-earnings update for a covered name. diff --git a/plugins/agent-plugins/market-researcher/agents/market-researcher.md b/plugins/agent-plugins/market-researcher/agents/market-researcher.md index 3f6f83f5..05fe32e9 100644 --- a/plugins/agent-plugins/market-researcher/agents/market-researcher.md +++ b/plugins/agent-plugins/market-researcher/agents/market-researcher.md @@ -1,7 +1,7 @@ --- name: market-researcher description: Produces sector or thematic market research — industry overview, competitive landscape, trading-comps spread of the peer set, and a thematic ideas shortlist — packaged as a research note with optional slides. Use when an analyst or PM asks for a primer on a sector or theme; not for single-name coverage updates (use earnings-reviewer for that). -tools: Read, Write, Edit, mcp__capiq__*, mcp__factset__* +tools: Read, Write, Edit, mcp__capiq__*, mcp__factset__*, WebSearch, WebFetch --- You are the Market Researcher — a senior research associate who owns the first draft of a sector or thematic primer. diff --git a/plugins/agent-plugins/meeting-prep-agent/agents/meeting-prep-agent.md b/plugins/agent-plugins/meeting-prep-agent/agents/meeting-prep-agent.md index 0ee13472..70bfbdbb 100644 --- a/plugins/agent-plugins/meeting-prep-agent/agents/meeting-prep-agent.md +++ b/plugins/agent-plugins/meeting-prep-agent/agents/meeting-prep-agent.md @@ -1,7 +1,7 @@ --- name: meeting-prep-agent description: Builds a briefing pack before a client or prospect meeting — relationship history from CRM, holdings and recent activity, market context, and a suggested agenda. Use ahead of any client meeting; pairs with a calendar event. -tools: Read, Write, mcp__crm__*, mcp__capiq__* +tools: Read, Write, mcp__crm__*, mcp__capiq__*, WebSearch, WebFetch --- You are the Meeting Prep Agent — the advisor's prep partner before every client meeting. diff --git a/plugins/agent-plugins/model-builder/agents/model-builder.md b/plugins/agent-plugins/model-builder/agents/model-builder.md index a5927e52..c2e17028 100644 --- a/plugins/agent-plugins/model-builder/agents/model-builder.md +++ b/plugins/agent-plugins/model-builder/agents/model-builder.md @@ -1,7 +1,7 @@ --- name: model-builder description: Builds DCF, LBO, three-statement, and trading-comps models live in Excel from a ticker and assumption set. Use when you need a clean model from scratch — not for updating an existing coverage model (use earnings-reviewer for that). -tools: Read, Write, Edit, mcp__capiq__*, mcp__daloopa__* +tools: Read, Write, Edit, mcp__capiq__*, mcp__daloopa__*, WebSearch, WebFetch --- You are the Model Builder — a financial modeling specialist who builds institutional-quality valuation models from scratch. diff --git a/plugins/agent-plugins/pitch-agent/agents/pitch-agent.md b/plugins/agent-plugins/pitch-agent/agents/pitch-agent.md index ca06b91a..3d950d0a 100644 --- a/plugins/agent-plugins/pitch-agent/agents/pitch-agent.md +++ b/plugins/agent-plugins/pitch-agent/agents/pitch-agent.md @@ -1,7 +1,7 @@ --- name: pitch-agent description: End-to-end investment banking pitch agent. Given a target company and a strategic situation (e.g., "exploring strategic alternatives"), autonomously pulls comps and precedents from market data, builds a DCF and football-field valuation in Excel, and generates a branded pitch deck on the bank's PowerPoint template. Use when an MD or senior banker asks for a first-draft pitch on a name — not for editing an existing deck (use the pitch-deck skill directly for that). -tools: Read, Write, Edit, mcp__capiq__* +tools: Read, Write, Edit, mcp__capiq__*, WebSearch, WebFetch --- You are the Pitch Agent — a senior investment banking associate who owns the first draft of a client pitch end to end. diff --git a/plugins/agent-plugins/valuation-reviewer/agents/valuation-reviewer.md b/plugins/agent-plugins/valuation-reviewer/agents/valuation-reviewer.md index ed306e55..c2d9b165 100644 --- a/plugins/agent-plugins/valuation-reviewer/agents/valuation-reviewer.md +++ b/plugins/agent-plugins/valuation-reviewer/agents/valuation-reviewer.md @@ -1,7 +1,7 @@ --- name: valuation-reviewer description: Ingests GP valuation packages for a fund, runs them through the valuation template, and stages LP reporting. Use for quarter-end portfolio valuation review — not for deal-time underwriting (use model-builder for that). -tools: Read, Grep, Glob, mcp__portfolio__* +tools: Read, Grep, Glob, mcp__portfolio__*, WebSearch, WebFetch --- You are the Valuation Reviewer — a fund-accounting lead who reviews portfolio-company valuations and stages LP reporting.