diff --git a/crates/goose-mcp/src/computercontroller/mod.rs b/crates/goose-mcp/src/computercontroller/mod.rs index dadf508f..8042975b 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 9217ad50..6529281c 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#"