From 67b1d259389cdd2799adfba55709947f6c3f8d89 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 6 Oct 2025 19:02:29 +0000 Subject: [PATCH 1/6] Initial plan From 105a23708f0574e680576fe79fa5fd1790c222ed Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 6 Oct 2025 19:12:19 +0000 Subject: [PATCH 2/6] Add web search MCP documentation and improve warning message Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- docs/src/content/docs/guides/web-search.md | 290 +++++++++++++++++++++ docs/src/content/docs/reference/engines.md | 2 +- docs/src/content/docs/reference/tools.md | 2 + pkg/workflow/compiler.go | 2 +- pkg/workflow/search_integration_test.go | 28 +- 5 files changed, 321 insertions(+), 3 deletions(-) create mode 100644 docs/src/content/docs/guides/web-search.md diff --git a/docs/src/content/docs/guides/web-search.md b/docs/src/content/docs/guides/web-search.md new file mode 100644 index 00000000000..d8c157d9f41 --- /dev/null +++ b/docs/src/content/docs/guides/web-search.md @@ -0,0 +1,290 @@ +--- +title: Web Search with MCP +description: Learn how to add web search capabilities to GitHub Agentic Workflows using third-party MCP servers like Tavily, Exa, and SerpAPI. +--- + +This guide covers how to add web search capabilities to workflows using third-party MCP servers. + +## Overview + +Some AI engines (like Copilot) don't include built-in web search functionality. To add web search capabilities to these workflows, you can integrate third-party MCP servers that provide search functionality. + +This approach works with all AI engines and gives you control over which search provider to use based on your needs. + +## Available Search Providers + +### Tavily Search + +[Tavily](https://tavily.com/) provides AI-optimized search designed for LLM applications with structured results. + +**MCP Server:** [@tavily/mcp-server](https://github.com/tavily-ai/tavily-mcp-server) + +```aw +--- +on: issues +engine: copilot +mcp-servers: + tavily: + command: npx + args: ["-y", "@tavily/mcp-server"] + env: + TAVILY_API_KEY: "${{ secrets.TAVILY_API_KEY }}" + allowed: ["search", "search_news"] +--- + +# Search and Respond + +Search the web for information about: ${{ github.event.issue.title }} + +Use the tavily search tool to find recent information. +``` + +**Features:** +- AI-optimized search results +- News search capability +- Structured JSON responses +- Fast response times + +**Setup:** +1. Sign up at [tavily.com](https://tavily.com/) +2. Get your API key from the dashboard +3. Add as repository secret: `gh secret set TAVILY_API_KEY -a actions --body ""` + +**Terms of Service:** [Tavily Terms](https://tavily.com/terms) + +### Exa Search + +[Exa](https://exa.ai/) is a search engine optimized for AI applications with semantic search capabilities. + +**MCP Server:** [@exa-labs/mcp-server-exa](https://github.com/exa-labs/exa-mcp-server) + +```aw +--- +on: issues +engine: copilot +mcp-servers: + exa: + command: npx + args: ["-y", "@exa-labs/mcp-server-exa"] + env: + EXA_API_KEY: "${{ secrets.EXA_API_KEY }}" + allowed: ["search", "find_similar", "get_contents"] +--- + +# Research and Summarize + +Research the topic: ${{ github.event.issue.title }} + +Use the exa search tool to find relevant content and similar pages. +``` + +**Features:** +- Semantic search with neural ranking +- Find similar pages +- Extract content from search results +- High-quality results for research + +**Setup:** +1. Sign up at [exa.ai](https://exa.ai/) +2. Get your API key from settings +3. Add as repository secret: `gh secret set EXA_API_KEY -a actions --body ""` + +**Terms of Service:** [Exa Terms](https://exa.ai/terms) + +### SerpAPI + +[SerpAPI](https://serpapi.com/) provides access to Google and other search engines with structured data extraction. + +**MCP Server:** [@serpapi/mcp-server](https://github.com/serpapi/mcp-server) (community-maintained) + +```aw +--- +on: issues +engine: copilot +mcp-servers: + serpapi: + command: npx + args: ["-y", "@serpapi/mcp-server"] + env: + SERPAPI_API_KEY: "${{ secrets.SERPAPI_API_KEY }}" + allowed: ["google_search", "google_news", "google_images"] +--- + +# Search and Report + +Search for: ${{ github.event.issue.title }} + +Use the serpapi google_search tool to find current information. +``` + +**Features:** +- Access to Google Search results +- News, images, and shopping search +- Location-based search +- Structured data extraction + +**Setup:** +1. Sign up at [serpapi.com](https://serpapi.com/) +2. Get your API key from your account +3. Add as repository secret: `gh secret set SERPAPI_API_KEY -a actions --body ""` + +**Terms of Service:** [SerpAPI Terms](https://serpapi.com/terms) + +### Brave Search + +[Brave Search](https://brave.com/search/api/) provides privacy-focused web search with no tracking. + +**MCP Server:** Custom implementation using `@modelcontextprotocol/server-brave-search` + +```aw +--- +on: issues +engine: copilot +mcp-servers: + brave-search: + command: npx + args: ["-y", "@modelcontextprotocol/server-brave-search"] + env: + BRAVE_API_KEY: "${{ secrets.BRAVE_API_KEY }}" + allowed: ["brave_web_search", "brave_local_search"] +--- + +# Privacy-focused Search + +Search for information about: ${{ github.event.issue.title }} + +Use brave_web_search for privacy-focused results. +``` + +**Features:** +- Privacy-focused (no tracking) +- Independent search index +- Web and local search +- Clean, ad-free results + +**Setup:** +1. Sign up at [brave.com/search/api](https://brave.com/search/api/) +2. Get your API key +3. Add as repository secret: `gh secret set BRAVE_API_KEY -a actions --body ""` + +**Terms of Service:** [Brave Search API Terms](https://brave.com/search/api/terms/) + +## Choosing a Search Provider + +Consider these factors when selecting a search provider: + +**For AI/LLM Applications:** +- **Tavily**: Best for AI-optimized results with structured data +- **Exa**: Best for semantic search and research tasks + +**For General Web Search:** +- **SerpAPI**: Best for accessing Google results with full feature parity +- **Brave Search**: Best for privacy-focused applications + +**Cost Considerations:** +- All providers offer free tiers for testing +- Check pricing pages for production usage limits +- Monitor your API usage to avoid unexpected costs + +## MCP Server Configuration + +All search MCP servers follow the same basic pattern: + +```yaml +mcp-servers: + : + command: npx # Use npx for npm packages + args: ["-y", ""] # -y to auto-install + env: + : "${{ secrets. }}" + allowed: ["", ""] # Specific tools to allow +``` + +**Best Practices:** +1. Always use the `allowed` list to restrict which tools can be used +2. Store API keys in GitHub Secrets, never commit them +3. Use `-y` flag with npx to ensure automatic installation +4. Test MCP configuration with `gh aw mcp inspect ` + +## Tool Discovery + +To see available tools from a search MCP server: + +```bash +# Inspect the MCP server in your workflow +gh aw mcp inspect my-workflow --server tavily + +# List tools with details +gh aw mcp list-tools tavily my-workflow --verbose +``` + +## Network Permissions + +Some engines (like Claude) require explicit network permissions for MCP servers to access external APIs: + +```yaml +engine: claude +network: + allowed: + - defaults # Basic infrastructure + - "*.tavily.com" # Tavily API + - "*.exa.ai" # Exa API + - "*.serpapi.com" # SerpAPI + - "*.brave.com" # Brave Search API +``` + +The Copilot engine doesn't require explicit network permissions as MCP servers run with network access by default. + +## Troubleshooting + +### API Key Issues + +**Problem:** MCP server fails with authentication error +``` +Error: Invalid API key +``` + +**Solutions:** +1. Verify the secret is set: `gh secret list` +2. Check the secret name matches the workflow configuration +3. Ensure the API key is valid and active in the provider's dashboard + +### Rate Limiting + +**Problem:** Search requests fail with rate limit errors +``` +Error: Rate limit exceeded +``` + +**Solutions:** +1. Check your API usage on the provider's dashboard +2. Upgrade to a higher tier if needed +3. Implement caching or reduce search frequency +4. Add error handling in your workflow instructions + +### MCP Connection Failures + +**Problem:** MCP server fails to start +``` +Error: Failed to connect to MCP server +``` + +**Solutions:** +1. Verify the package name is correct +2. Check that npx can install the package +3. Test the MCP server configuration: `gh aw mcp inspect ` +4. Review workflow logs for detailed error messages + +## Related Documentation + +- [MCP Integration](/gh-aw/guides/mcps/) - Complete MCP server guide +- [Tools Configuration](/gh-aw/reference/tools/) - Tool configuration reference +- [AI Engines](/gh-aw/reference/engines/) - Engine capabilities and limitations +- [CLI Commands](/gh-aw/tools/cli/) - CLI commands including `mcp inspect` + +## External Resources + +- [Model Context Protocol Specification](https://github.com/modelcontextprotocol/specification) +- [Tavily MCP Server](https://github.com/tavily-ai/tavily-mcp-server) +- [Exa MCP Server](https://github.com/exa-labs/exa-mcp-server) +- [Brave Search MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/brave-search) diff --git a/docs/src/content/docs/reference/engines.md b/docs/src/content/docs/reference/engines.md index 34235b260f7..69cef8fc30b 100644 --- a/docs/src/content/docs/reference/engines.md +++ b/docs/src/content/docs/reference/engines.md @@ -29,7 +29,7 @@ engine: - **`model`** (optional): AI model to use (`gpt-5` or defaults to `claude-sonnet-4`) - **`version`** (optional): Version of the GitHub Copilot CLI to install (defaults to `latest`) -**Note:** The Copilot engine does not support the `web-search` tool. Use Claude or Codex engines if you need web search capabilities. +**Note:** The Copilot engine does not have built-in `web-search` support. You can add web search capabilities using third-party MCP servers. See the [Web Search with MCP guide](/gh-aw/guides/web-search/) for available options and setup instructions. **Environment Variables:** - **`COPILOT_MODEL`**: Alternative way to set the model (e.g., `gpt-5`) diff --git a/docs/src/content/docs/reference/tools.md b/docs/src/content/docs/reference/tools.md index aef92962019..bd5fe7793f2 100644 --- a/docs/src/content/docs/reference/tools.md +++ b/docs/src/content/docs/reference/tools.md @@ -201,6 +201,8 @@ tools: # bash: ["echo", "ls", "git status"] # Or specify custom commands ``` +**Note:** Some engines (like Copilot) don't have built-in `web-search` support. You can add web search using third-party MCP servers instead. See the [Web Search with MCP guide](/gh-aw/guides/web-search/) for options. + ### Bash Command Configuration The bash tool provides access to shell commands with different levels of control and security. diff --git a/pkg/workflow/compiler.go b/pkg/workflow/compiler.go index faa4aa2e553..0ea4634835e 100644 --- a/pkg/workflow/compiler.go +++ b/pkg/workflow/compiler.go @@ -2881,7 +2881,7 @@ func (c *Compiler) validateWebSearchSupport(tools map[string]any, engine CodingA // web-search is specified, check if the engine supports it if !engine.SupportsWebSearch() { - fmt.Fprintln(os.Stderr, console.FormatWarningMessage(fmt.Sprintf("Engine '%s' does not support the web-search tool", engine.GetID()))) + fmt.Fprintln(os.Stderr, console.FormatWarningMessage(fmt.Sprintf("Engine '%s' does not support the web-search tool. See https://githubnext.github.io/gh-aw/guides/web-search/ for alternatives.", engine.GetID()))) } } diff --git a/pkg/workflow/search_integration_test.go b/pkg/workflow/search_integration_test.go index f132f9534c3..12e2539379a 100644 --- a/pkg/workflow/search_integration_test.go +++ b/pkg/workflow/search_integration_test.go @@ -1,6 +1,8 @@ package workflow import ( + "bytes" + "io" "os" "path/filepath" "strings" @@ -8,7 +10,7 @@ import ( ) // TestWebSearchValidationForCopilot tests that when a Copilot workflow uses web-search, -// compilation succeeds but emits a warning +// compilation succeeds but emits a warning with documentation link func TestWebSearchValidationForCopilot(t *testing.T) { // Create a temporary directory for the test tmpDir := t.TempDir() @@ -33,15 +35,39 @@ Search the web for information. t.Fatalf("Failed to write test workflow: %v", err) } + // Capture stderr to verify warning message + oldStderr := os.Stderr + r, w, _ := os.Pipe() + os.Stderr = w + // Create a compiler compiler := NewCompiler(false, "", "test") // Compile the workflow - should succeed with a warning err := compiler.CompileWorkflow(workflowPath) + + // Restore stderr + w.Close() + os.Stderr = oldStderr + + // Read captured stderr + var buf bytes.Buffer + io.Copy(&buf, r) + stderrOutput := buf.String() + if err != nil { t.Fatalf("Expected compilation to succeed for Copilot engine with web-search tool (with warning), but got error: %v", err) } + // Verify the warning message includes the documentation link + if !strings.Contains(stderrOutput, "does not support the web-search tool") { + t.Errorf("Expected warning about web-search not being supported, but got: %s", stderrOutput) + } + + if !strings.Contains(stderrOutput, "https://githubnext.github.io/gh-aw/guides/web-search/") { + t.Errorf("Expected warning to include documentation link, but got: %s", stderrOutput) + } + // Verify the lock file was created lockFile := strings.TrimSuffix(workflowPath, ".md") + ".lock.yml" if _, err := os.Stat(lockFile); os.IsNotExist(err) { From b1e15c432d883b37e2a71a9c36753a9bf42234ce Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 6 Oct 2025 19:24:42 +0000 Subject: [PATCH 3/6] Simplify web-search documentation to only include Tavily Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- docs/src/content/docs/guides/web-search.md | 165 ++------------------- 1 file changed, 12 insertions(+), 153 deletions(-) diff --git a/docs/src/content/docs/guides/web-search.md b/docs/src/content/docs/guides/web-search.md index d8c157d9f41..9223574b8f5 100644 --- a/docs/src/content/docs/guides/web-search.md +++ b/docs/src/content/docs/guides/web-search.md @@ -1,19 +1,15 @@ --- title: Web Search with MCP -description: Learn how to add web search capabilities to GitHub Agentic Workflows using third-party MCP servers like Tavily, Exa, and SerpAPI. +description: Learn how to add web search capabilities to GitHub Agentic Workflows using Tavily MCP server. --- -This guide covers how to add web search capabilities to workflows using third-party MCP servers. +This guide covers how to add web search capabilities to workflows using the Tavily MCP server. ## Overview -Some AI engines (like Copilot) don't include built-in web search functionality. To add web search capabilities to these workflows, you can integrate third-party MCP servers that provide search functionality. +Some AI engines (like Copilot) don't include built-in web search functionality. To add web search capabilities to these workflows, you can integrate the Tavily MCP server that provides AI-optimized search functionality. -This approach works with all AI engines and gives you control over which search provider to use based on your needs. - -## Available Search Providers - -### Tavily Search +## Tavily Search [Tavily](https://tavily.com/) provides AI-optimized search designed for LLM applications with structured results. @@ -52,152 +48,18 @@ Use the tavily search tool to find recent information. **Terms of Service:** [Tavily Terms](https://tavily.com/terms) -### Exa Search - -[Exa](https://exa.ai/) is a search engine optimized for AI applications with semantic search capabilities. - -**MCP Server:** [@exa-labs/mcp-server-exa](https://github.com/exa-labs/exa-mcp-server) - -```aw ---- -on: issues -engine: copilot -mcp-servers: - exa: - command: npx - args: ["-y", "@exa-labs/mcp-server-exa"] - env: - EXA_API_KEY: "${{ secrets.EXA_API_KEY }}" - allowed: ["search", "find_similar", "get_contents"] ---- - -# Research and Summarize - -Research the topic: ${{ github.event.issue.title }} - -Use the exa search tool to find relevant content and similar pages. -``` - -**Features:** -- Semantic search with neural ranking -- Find similar pages -- Extract content from search results -- High-quality results for research - -**Setup:** -1. Sign up at [exa.ai](https://exa.ai/) -2. Get your API key from settings -3. Add as repository secret: `gh secret set EXA_API_KEY -a actions --body ""` - -**Terms of Service:** [Exa Terms](https://exa.ai/terms) - -### SerpAPI - -[SerpAPI](https://serpapi.com/) provides access to Google and other search engines with structured data extraction. - -**MCP Server:** [@serpapi/mcp-server](https://github.com/serpapi/mcp-server) (community-maintained) - -```aw ---- -on: issues -engine: copilot -mcp-servers: - serpapi: - command: npx - args: ["-y", "@serpapi/mcp-server"] - env: - SERPAPI_API_KEY: "${{ secrets.SERPAPI_API_KEY }}" - allowed: ["google_search", "google_news", "google_images"] ---- - -# Search and Report - -Search for: ${{ github.event.issue.title }} - -Use the serpapi google_search tool to find current information. -``` - -**Features:** -- Access to Google Search results -- News, images, and shopping search -- Location-based search -- Structured data extraction - -**Setup:** -1. Sign up at [serpapi.com](https://serpapi.com/) -2. Get your API key from your account -3. Add as repository secret: `gh secret set SERPAPI_API_KEY -a actions --body ""` - -**Terms of Service:** [SerpAPI Terms](https://serpapi.com/terms) - -### Brave Search - -[Brave Search](https://brave.com/search/api/) provides privacy-focused web search with no tracking. - -**MCP Server:** Custom implementation using `@modelcontextprotocol/server-brave-search` - -```aw ---- -on: issues -engine: copilot -mcp-servers: - brave-search: - command: npx - args: ["-y", "@modelcontextprotocol/server-brave-search"] - env: - BRAVE_API_KEY: "${{ secrets.BRAVE_API_KEY }}" - allowed: ["brave_web_search", "brave_local_search"] ---- - -# Privacy-focused Search - -Search for information about: ${{ github.event.issue.title }} - -Use brave_web_search for privacy-focused results. -``` - -**Features:** -- Privacy-focused (no tracking) -- Independent search index -- Web and local search -- Clean, ad-free results - -**Setup:** -1. Sign up at [brave.com/search/api](https://brave.com/search/api/) -2. Get your API key -3. Add as repository secret: `gh secret set BRAVE_API_KEY -a actions --body ""` - -**Terms of Service:** [Brave Search API Terms](https://brave.com/search/api/terms/) - -## Choosing a Search Provider - -Consider these factors when selecting a search provider: - -**For AI/LLM Applications:** -- **Tavily**: Best for AI-optimized results with structured data -- **Exa**: Best for semantic search and research tasks - -**For General Web Search:** -- **SerpAPI**: Best for accessing Google results with full feature parity -- **Brave Search**: Best for privacy-focused applications - -**Cost Considerations:** -- All providers offer free tiers for testing -- Check pricing pages for production usage limits -- Monitor your API usage to avoid unexpected costs - ## MCP Server Configuration -All search MCP servers follow the same basic pattern: +Tavily MCP server follows this basic pattern: ```yaml mcp-servers: - : + tavily: command: npx # Use npx for npm packages - args: ["-y", ""] # -y to auto-install + args: ["-y", "@tavily/mcp-server"] # -y to auto-install env: - : "${{ secrets. }}" - allowed: ["", ""] # Specific tools to allow + TAVILY_API_KEY: "${{ secrets.TAVILY_API_KEY }}" + allowed: ["search", "search_news"] # Specific tools to allow ``` **Best Practices:** @@ -208,7 +70,7 @@ mcp-servers: ## Tool Discovery -To see available tools from a search MCP server: +To see available tools from the Tavily MCP server: ```bash # Inspect the MCP server in your workflow @@ -228,9 +90,6 @@ network: allowed: - defaults # Basic infrastructure - "*.tavily.com" # Tavily API - - "*.exa.ai" # Exa API - - "*.serpapi.com" # SerpAPI - - "*.brave.com" # Brave Search API ``` The Copilot engine doesn't require explicit network permissions as MCP servers run with network access by default. @@ -286,5 +145,5 @@ Error: Failed to connect to MCP server - [Model Context Protocol Specification](https://github.com/modelcontextprotocol/specification) - [Tavily MCP Server](https://github.com/tavily-ai/tavily-mcp-server) -- [Exa MCP Server](https://github.com/exa-labs/exa-mcp-server) -- [Brave Search MCP Server](https://github.com/modelcontextprotocol/servers/tree/main/src/brave-search) +- [Tavily Documentation](https://tavily.com/) + From efe6ad41381cbac8699ad3ece2d2d5bde5c2a612 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 6 Oct 2025 19:40:33 +0000 Subject: [PATCH 4/6] Remove Troubleshooting section from web-search documentation Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- docs/src/content/docs/guides/web-search.md | 40 ---------------------- 1 file changed, 40 deletions(-) diff --git a/docs/src/content/docs/guides/web-search.md b/docs/src/content/docs/guides/web-search.md index 9223574b8f5..b0ff2f034dd 100644 --- a/docs/src/content/docs/guides/web-search.md +++ b/docs/src/content/docs/guides/web-search.md @@ -94,46 +94,6 @@ network: The Copilot engine doesn't require explicit network permissions as MCP servers run with network access by default. -## Troubleshooting - -### API Key Issues - -**Problem:** MCP server fails with authentication error -``` -Error: Invalid API key -``` - -**Solutions:** -1. Verify the secret is set: `gh secret list` -2. Check the secret name matches the workflow configuration -3. Ensure the API key is valid and active in the provider's dashboard - -### Rate Limiting - -**Problem:** Search requests fail with rate limit errors -``` -Error: Rate limit exceeded -``` - -**Solutions:** -1. Check your API usage on the provider's dashboard -2. Upgrade to a higher tier if needed -3. Implement caching or reduce search frequency -4. Add error handling in your workflow instructions - -### MCP Connection Failures - -**Problem:** MCP server fails to start -``` -Error: Failed to connect to MCP server -``` - -**Solutions:** -1. Verify the package name is correct -2. Check that npx can install the package -3. Test the MCP server configuration: `gh aw mcp inspect ` -4. Review workflow logs for detailed error messages - ## Related Documentation - [MCP Integration](/gh-aw/guides/mcps/) - Complete MCP server guide From 48980f0fdfd3e9d31ef83b6133a46e6665c2b6fa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 6 Oct 2025 19:45:42 +0000 Subject: [PATCH 5/6] Use Astro Starlight adornments syntax for notes in documentation Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- docs/src/content/docs/reference/engines.md | 4 +++- docs/src/content/docs/reference/tools.md | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/src/content/docs/reference/engines.md b/docs/src/content/docs/reference/engines.md index 69cef8fc30b..0cfb33331f8 100644 --- a/docs/src/content/docs/reference/engines.md +++ b/docs/src/content/docs/reference/engines.md @@ -29,7 +29,9 @@ engine: - **`model`** (optional): AI model to use (`gpt-5` or defaults to `claude-sonnet-4`) - **`version`** (optional): Version of the GitHub Copilot CLI to install (defaults to `latest`) -**Note:** The Copilot engine does not have built-in `web-search` support. You can add web search capabilities using third-party MCP servers. See the [Web Search with MCP guide](/gh-aw/guides/web-search/) for available options and setup instructions. +:::note +The Copilot engine does not have built-in `web-search` support. You can add web search capabilities using third-party MCP servers. See the [Web Search with MCP guide](/gh-aw/guides/web-search/) for available options and setup instructions. +::: **Environment Variables:** - **`COPILOT_MODEL`**: Alternative way to set the model (e.g., `gpt-5`) diff --git a/docs/src/content/docs/reference/tools.md b/docs/src/content/docs/reference/tools.md index bd5fe7793f2..c3265ce244f 100644 --- a/docs/src/content/docs/reference/tools.md +++ b/docs/src/content/docs/reference/tools.md @@ -201,7 +201,9 @@ tools: # bash: ["echo", "ls", "git status"] # Or specify custom commands ``` -**Note:** Some engines (like Copilot) don't have built-in `web-search` support. You can add web search using third-party MCP servers instead. See the [Web Search with MCP guide](/gh-aw/guides/web-search/) for options. +:::note +Some engines (like Copilot) don't have built-in `web-search` support. You can add web search using third-party MCP servers instead. See the [Web Search with MCP guide](/gh-aw/guides/web-search/) for options. +::: ### Bash Command Configuration From 7cd665342e7128962ecfed523827d2ce5327a39a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 6 Oct 2025 19:51:39 +0000 Subject: [PATCH 6/6] Acknowledge other search alternatives while focusing on Tavily Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- docs/src/content/docs/guides/web-search.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/src/content/docs/guides/web-search.md b/docs/src/content/docs/guides/web-search.md index b0ff2f034dd..cad5d35663c 100644 --- a/docs/src/content/docs/guides/web-search.md +++ b/docs/src/content/docs/guides/web-search.md @@ -7,7 +7,9 @@ This guide covers how to add web search capabilities to workflows using the Tavi ## Overview -Some AI engines (like Copilot) don't include built-in web search functionality. To add web search capabilities to these workflows, you can integrate the Tavily MCP server that provides AI-optimized search functionality. +Some AI engines (like Copilot) don't include built-in web search functionality. To add web search capabilities to these workflows, you can integrate third-party MCP servers that provide search functionality. + +This guide focuses on Tavily, an AI-optimized search provider designed for LLM applications. Other alternatives include Exa (semantic search), SerpAPI (Google search access), and Brave Search (privacy-focused), though this guide only covers Tavily setup. ## Tavily Search