From 60c3c3cbd6715bf21b57afaa5755f3b09dd3bde7 Mon Sep 17 00:00:00 2001 From: Angie Jones Date: Fri, 7 Feb 2025 13:34:54 -0600 Subject: [PATCH] docs: fetch tutorial (#1140) --- .../guides/programmer-jokes-fetch-mcp.png | Bin 0 -> 22885 bytes documentation/docs/tutorials/fetch-mcp.md | 311 ++++++++++++++++++ 2 files changed, 311 insertions(+) create mode 100644 documentation/docs/assets/guides/programmer-jokes-fetch-mcp.png create mode 100644 documentation/docs/tutorials/fetch-mcp.md diff --git a/documentation/docs/assets/guides/programmer-jokes-fetch-mcp.png b/documentation/docs/assets/guides/programmer-jokes-fetch-mcp.png new file mode 100644 index 0000000000000000000000000000000000000000..6e337bbcda844e8a00467e86d45a6ddf38a66c0f GIT binary patch literal 22885 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 mE?(M<- + + 1. Run the `configure` command: + ```sh + goose configure + ``` + + 2. Choose to add a `Command-line Extension` + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◆ What type of extension would you like to add? + │ ○ Built-in Extension + // highlight-start + │ ● Command-line Extension (Run a local command or script) + // highlight-end + │ ○ Remote Extension + └ + ``` + + 3. Give your extension a name + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◇ What type of extension would you like to add? + │ Command-line Extension + │ + // highlight-start + ◆ What would you like to call this extension? + │ fetch + // highlight-end + └ + ``` + + 4. Enter the command + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◇ What type of extension would you like to add? + │ Command-line Extension + │ + ◇ What would you like to call this extension? + │ fetch + │ + // highlight-start + ◆ What command should be run? + │ uvx mcp-server-fetch + // highlight-end + └ + ``` + + 5. Choose No when asked to add environment variables + + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Add Extension + │ + ◇ What type of extension would you like to add? + │ Command-line Extension + │ + ◇ What would you like to call this extension? + │ fetch + │ + ◇ What command should be run? + │ uvx mcp-server-fetch + │ + // highlight-start + ◇ Would you like to add environment variables? + │ No + // highlight-end + │ + └ Added fetch extension + ``` + + + + 1. Go to the [Extensions Directory](https://block.github.io/goose/v1/extensions/) + 2. Find the `Fetch` extension + 3. Click `Install` + 4. Press `Yes` to confirm the installation + + + +## Example Usage + +Let's use the Fetch extension to get random programming jokes from the [Official Joke API](https://official-joke-api.appspot.com/random_joke). + +:::info +While this API does not require an API key, many APIs do. If you need to provide an API key, you can set it as an environment variable and tell Goose its name. Example: _"get tomorrow's weather for New Orleans from the weatherapi. Don't use the key directly but instead use a script that gets the value from the env var WEATHER_API_KEY"_ +::: + +### Goose Prompt +``` +make a web page that tells jokes for programmers. The page should ask the user the setup of the joke, allow them to guess the punchline and then tell them if they are right or wrong. Include a button that allows them to request another joke. you can fetch the jokes from the official joke api +``` + +### Goose Output + +``` +I'll help you create a web page that uses the Official Joke API to display programming jokes. I'll break this down into steps: + +First, let's verify the API endpoint and see what kind of data we get +Then create an HTML file with the necessary structure +Add JavaScript to handle the interactions + +Let me check the API first: + + +FETCH +url: https://official-joke-api.appspot.com/jokes/programming/random + +Output +Content type application/json; charset=utf-8 cannot be simplified to markdown, but here is the raw content: +Contents of https://official-joke-api.appspot.com/jokes/programming/random: +[{"type":"programming","setup":"A SQL query walks into a bar, walks up to two tables and asks...","punchline":"'Can I join you?'","id":23}] + +Perfect! Now I'll create an HTML file with the necessary structure and JavaScript code: + +TEXT_EDITOR +command: write +file_text: + + + + + + Programmer Jokes + + + +

Programmer Jokes

+
+
Loading joke...
+
+ + +
+
+
+ +
+ + + + +``` + +