diff --git a/crates/goose-mcp/src/computercontroller/mod.rs b/crates/goose-mcp/src/computercontroller/mod.rs index dadf508fa6..8042975b9d 100644 --- a/crates/goose-mcp/src/computercontroller/mod.rs +++ b/crates/goose-mcp/src/computercontroller/mod.rs @@ -492,13 +492,19 @@ impl ComputerControllerServer { let save_as = params.save_as; // Fetch the content - let response = self.http_client.get(url).send().await.map_err(|e| { - ErrorData::new( - ErrorCode::INTERNAL_ERROR, - format!("Failed to fetch URL: {}", e), - None, - ) - })?; + let response = self + .http_client + .get(url) + .header("Accept", "text/markdown, */*") + .send() + .await + .map_err(|e| { + ErrorData::new( + ErrorCode::INTERNAL_ERROR, + format!("Failed to fetch URL: {}", e), + None, + ) + })?; let status = response.status(); if !status.is_success() { diff --git a/crates/goose-mcp/src/developer/rmcp_developer.rs b/crates/goose-mcp/src/developer/rmcp_developer.rs index 9217ad50f9..6529281c09 100644 --- a/crates/goose-mcp/src/developer/rmcp_developer.rs +++ b/crates/goose-mcp/src/developer/rmcp_developer.rs @@ -325,6 +325,8 @@ impl ServerHandler for DeveloperServer { **Important**: Each shell command runs in its own process. Things like directory changes or sourcing files do not persist between tool calls. So you may need to repeat them each time by stringing together commands. + + If fetching web content, consider adding Accept: text/markdown header "#}; let windows_specific = indoc! {r#"