Fix invalid Tavily MCP package name/link in docs and mcp inspect missing servers bug#24610
Fix invalid Tavily MCP package name/link in docs and mcp inspect missing servers bug#24610
Conversation
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/55daa553-59d0-4262-8176-d5d20ea51c65 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…rigger - Update docs: fix broken GitHub link (tavily-mcp-server -> tavily-mcp) - Update docs: fix invalid npm package (@tavily/mcp-server -> @tavily/mcp) - Fix buildFrontmatterFromWorkflowData to use RawFrontmatter fallback when ParsedFrontmatter is nil (happens when on: is a plain string like 'issues') Fixes #<issue>" Agent-Logs-Url: https://github.com/github/gh-aw/sessions/55daa553-59d0-4262-8176-d5d20ea51c65 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Fixes Tavily MCP documentation references and corrects gh aw mcp inspect behavior when a workflow’s frontmatter fails typed parsing (notably on: issues string-form triggers), ensuring MCP servers are still discovered.
Changes:
- Updated Tavily web-search guide to reference the correct npm package/repo (
@tavily/mcp,tavily-ai/tavily-mcp). - Adjusted
buildFrontmatterFromWorkflowDatato fall back toRawFrontmatterwhenParsedFrontmatteris nil somcp-serversaren’t dropped. - Regenerated
.github/workflows/copilot-token-optimizer.lock.yml, including a safe-outputs config change (close_older_issues: true).
Show a summary per file
| File | Description |
|---|---|
pkg/cli/mcp_inspect.go |
Uses RawFrontmatter fallback so MCP servers remain discoverable when typed frontmatter parsing fails. |
docs/src/content/docs/guides/web-search.md |
Fixes invalid Tavily MCP package name and GitHub URL references. |
.github/workflows/copilot-token-optimizer.lock.yml |
Regenerated lock workflow; includes an additional safe-outputs behavior/config change. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comments suppressed due to low confidence (1)
.github/workflows/copilot-token-optimizer.lock.yml:1306
GH_AW_SAFE_OUTPUTS_HANDLER_CONFIGnow includesclose_older_issues: true, which changes runtime safe-output behavior for this workflow. Please confirm this is intentional and update the PR description (or revert the lockfile regeneration) so reviewers understand the operational impact.
GITHUB_SERVER_URL: ${{ github.server_url }}
GITHUB_API_URL: ${{ github.api_url }}
GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"create_issue\":{\"close_older_issues\":true,\"expires\":168,\"max\":1,\"title_prefix\":\"[copilot-token-optimizer] \"},\"missing_data\":{},\"missing_tool\":{},\"noop\":{\"max\":1,\"report-as-issue\":\"true\"}}"
with:
- Files reviewed: 3/3 changed files
- Comments generated: 1
| cat > ${RUNNER_TEMP}/gh-aw/safeoutputs/config.json << 'GH_AW_SAFE_OUTPUTS_CONFIG_a69d7382b73926ca_EOF' | ||
| {"create_issue":{"close_older_issues":true,"expires":168,"max":1,"title_prefix":"[copilot-token-optimizer] "},"missing_data":{},"missing_tool":{},"noop":{"max":1,"report-as-issue":"true"},"push_repo_memory":{"memories":[{"dir":"/tmp/gh-aw/repo-memory/default","id":"default","max_file_count":100,"max_file_size":102400,"max_patch_size":51200}]}} | ||
| GH_AW_SAFE_OUTPUTS_CONFIG_a69d7382b73926ca_EOF |
There was a problem hiding this comment.
This lock file change introduces a behavioral update to safe-outputs (create_issue.close_older_issues: true) that isn’t described in the PR metadata. If the goal of this PR is only the Tavily docs fix + mcp inspect parsing fix, consider regenerating the lock file from the unchanged source workflow (or reverting this hunk) to avoid an unrelated workflow behavior change.
This issue also appears on line 1303 of the same file.
|
@copilot review comments |
The unintentional behavioral change (close_older_issues: true) was introduced into the lock file as an unrelated side effect. Reverting to the pre-PR state to keep this PR focused on the Tavily and mcp inspect fixes only. Agent-Logs-Url: https://github.com/github/gh-aw/sessions/9fadd87e-eca3-4146-9229-568c1c44a93b Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Reverted the unintentional |
|
@copilot inspect should operate in the fully resolved frontmatter with all imports resolved. |
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/34610356-869b-4544-83b2-fb33c73de7fe Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Track the merged mcp-servers (allMCPServers) through the compilation pipeline into WorkflowData.ResolvedMCPServers, and rebuild buildFrontmatterFromWorkflowData to use: - RawFrontmatter as base (safe-outputs, mcp-scripts, on, etc.) - WorkflowData.Tools as the fully merged tools (built-ins from imports) - WorkflowData.ResolvedMCPServers as the fully merged mcp-servers This ensures mcp inspect shows MCP servers from imported workflows, and also fixes the on: issues string-trigger case where ParsedFrontmatter was nil (no longer needed as we no longer rely on it). Agent-Logs-Url: https://github.com/github/gh-aw/sessions/34610356-869b-4544-83b2-fb33c73de7fe Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Fixed in commit
This covers both the Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot fix tests |
…ndency
The safe_outputs job has multiple needs (activation, agent, detection),
so the needs value is a YAML list, not a scalar. The test was checking
for "needs: agent" (scalar form) but the lock file contains:
needs:
- activation
- agent
- detection
Fix by checking for "- agent" (list item) instead.
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/055e0f8a-77e6-4044-bc21-85a1a9f598fa
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…iled) Agent-Logs-Url: https://github.com/github/gh-aw/sessions/055e0f8a-77e6-4044-bc21-85a1a9f598fa Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Fixed in commit needs:
- activation
- agent
- detectionUpdated the assertion to check for |
Already fixed in commit |
…0-4115-a782-21277584afab Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
There was a problem hiding this comment.
💥 Automated smoke test review - all systems nominal!
💥 [THE END] — Illustrated by Smoke Claude · ● 284.8K
| ## Tavily Search | ||
|
|
||
| [Tavily](https://tavily.com/) provides AI-optimized search with structured JSON responses, news search capability, and fast response times through the [@tavily/mcp-server](https://github.com/tavily-ai/tavily-mcp-server) MCP server. | ||
| [Tavily](https://tavily.com/) provides AI-optimized search with structured JSON responses, news search capability, and fast response times through the [@tavily/mcp](https://github.com/tavily-ai/tavily-mcp) MCP server. |
There was a problem hiding this comment.
Good fix! The correct package name @tavily/mcp aligns with the official Tavily MCP server package. This prevents users from hitting a 404 when trying to install the server.
| maps.Copy(frontmatter, workflowData.RawFrontmatter) | ||
| } | ||
|
|
||
| // Override tools with the fully merged result (includes built-in tools from imports such as |
There was a problem hiding this comment.
The new approach using RawFrontmatter as the base and overlaying Tools and ResolvedMCPServers is much more robust. Using maps.Copy ensures all top-level frontmatter keys (safe-outputs, mcp-scripts, etc.) are preserved while still getting the fully merged MCP servers from imports.
|
@copilot merge main and recompile |
…p-link-and-config # Conflicts: # .github/workflows/copilot-token-optimizer.lock.yml Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Done in commit Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
The Tavily web-search guide referenced a non-existent npm package (
@tavily/mcp-server) and a dead GitHub URL. Additionally,gh aw mcp inspectsilently reported no MCP servers for workflows using the commonon: issuesstring trigger or when MCP servers were defined in imported workflows.Changes
Docs (
docs/src/content/docs/guides/web-search.md)@tavily/mcp-server→@tavily/mcp(correct npm package)github.com/tavily-ai/tavily-mcp-server→github.com/tavily-ai/tavily-mcp(correct repo, two occurrences)Code (
pkg/cli/mcp_inspect.go,pkg/workflow/compiler_orchestrator_tools.go,pkg/workflow/compiler_types.go,pkg/workflow/compiler_orchestrator_workflow.go)mcp inspectnow operates on the fully resolved frontmatter with all imports mergedResolvedMCPServers map[string]anytoWorkflowData— populated with the fully mergedmcp-serversfrom the main workflow and all imported workflowsbuildFrontmatterFromWorkflowDatanow builds the frontmatter fromRawFrontmatteras the base and overlays the fully mergedTools(built-in tools from all imports) andResolvedMCPServers(user-defined MCP servers from all imports)Root cause: The original implementation used
ParsedFrontmatter.ToMap()which only reflected the main workflow's frontmatter. WhenParsedFrontmatterwas nil (e.g.on: issues— a plain string that cannot be unmarshalled intomap[string]any) the fallback only reconstructed thetoolskey. Additionally,mcp-serversdefined in imported workflows were never included regardless of theParsedFrontmatterstate.The fix threads
allMCPServers(the compiler's already-merged result) throughtoolsProcessingResult→WorkflowData.ResolvedMCPServers, and rebuilds the frontmatter map using:✨ PR Review Safe Output Test - Run 23991203542