goose icon indicating copy to clipboard operation
goose copied to clipboard

Goose LLM cannot use MCP tools, but only MCP resources

Open brianhuster opened this issue 6 months ago • 3 comments

Describe the bug

I tried to prompt LLM to use tool, but it seems incapable to use it. This is the conversation I had with goose today. Note that the mcp-wiki extension is taken from https://block.github.io/goose/docs/tutorials/custom-extensions/

─── read_resource | platform ──────────────────────────
extension_name: mcp-wiki
uri: ...


Execution failed: Could not read resource with uri: https://en.wikipedia.org/wiki/T%C3%B4_L%C3%A2m
It seems that the `mcp-wiki` extension was unable to fetch the resource at the given URL. This could be due to limitati
ons on accessing that specific resource from the extension.

If there's anything else you'd like me to assist with regarding this topic or a different approach you'd like me to att
( O)> Use the tool `read_wikipedia_article`

─── search_available_extensions | platform ──────────────────────────



It looks like I currently don't have access to a `read_wikipedia_article` tool, nor can I enable additional extensions 
to provide that capability. However, I can help you in other ways, such as guiding you to access the article directly o
n Wikipedia or perhaps summarizing related information if you're looking for specific details. Let me know!

To Reproduce Steps to reproduce the behavior:

  1. Use the following config.yaml
extensions:
  mcp-wiki:
    args: []
    bundled: null
    cmd: mcp-wiki
    description: null
    enabled: true
    env_keys: []
    envs: {}
    name: mcp-wiki
    timeout: 300
    type: stdio
GOOSE_MODE: auto
GOOSE_MODEL: gpt-4o
GOOSE_PROVIDER: github_copilot
  1. Follow step 1 to step 4 in https://block.github.io/goose/docs/tutorials/custom-extensions/ to create mcp-wiki extension
  2. Open goose and prompt it with "Tell me about Tô Lâm, by using extension mcp-wiki to read this article https://en.wikipedia.org/wiki/T%C3%B4_L%C3%A2m"

Expected behavior It should be able to use tool mcp-wiki Screenshots If applicable, add screenshots to help explain your problem.

Please provide following information:

  • OS & Arch: Kubuntu 24.04.1
  • Interface: CLI
  • Version: 1.0.24
  • Extensions enabled: mcp-wiki
  • Provider & Model: Github Copilot GPT-4o

Additional context Add any other context about the problem here.

brianhuster avatar May 27 '25 06:05 brianhuster

can you try enabling the developer extension and ask it a simple query to "use shell tool to print the date". i am not sure if the issue here is that the LLM generated incorrect args for the wikipedia URL

salman1993 avatar May 29 '25 20:05 salman1993

@salman1993 The issue here is that it cannot discover ANY TOOLS.

I tried your suggestion and here is the result. brianhuster@brianhuster-ThinkPad-E14-Gen-4:/media/brianhuster/D/Projects/nvim-mcp-server$ goose starting session | provider: github_copilot model: gpt-4o logging to /home/brianhuster/.local/share/goose/sessions/20250530_091708.jsonl working directory: /media/brianhuster/D/Projects/nvim-mcp-server

Goose is running! Enter your instructions, or try asking what goose can do.

( O)> Run shell command to tell me what time and date it is now

─── list_resources | platform ────────────────────────── extension_name: developer

─── read_resource | platform ────────────────────────── extension_name: developer uri: nvim://buffer

Execution failed: Could not read resource with uri: nvim://buffer

─── search_available_extensions | platform ──────────────────────────

─── manage_extensions | platform ────────────────────────── action: enable extension_name: developer

─── list_resources | platform ────────────────────────── extension_name: developer

─── read_resource | platform ────────────────────────── uri: nvim://buffer

─── list_resources | platform ──────────────────────────

─── read_resource | platform ────────────────────────── uri: nvim://buffer

─── list_resources | platform ────────────────────────── extension_name: developer

─── read_resource | platform ────────────────────────── uri: nvim://buffer

─── list_resources | platform ────────────────────────── extension_name: developer

─── read_resource | platform ────────────────────────── uri: nvim://buffer

─── read_resource | platform ────────────────────────── uri: nvim://buffer

─── list_resources | platform ────────────────────────── extension_name: developer

─── search_available_extensions | platform ──────────────────────────

─── list_resources | platform ──────────────────────────

─── read_resource | platform ────────────────────────── uri: nvim://buffer

─── search_available_extensions | platform ──────────────────────────

It looks like I currently have no direct functionality to execute shell commands directly, but I can guide you on how to run them yourself.

To find out the current time and date on your system, you can directly input this command into your terminal:

date

When you execute it, you'll see the current date and time displayed. Let me know if you need assistance with any further actions!

You can see that it can discovers all MCP resources perfectly, just not MCP tools. Or we can say that Goose 1.0.24 doesn't support tools at all

brianhuster avatar May 30 '25 02:05 brianhuster

@salman1993 What do you think of these outputs?

brianhuster avatar Jun 19 '25 02:06 brianhuster

I'm sorry for ignoring this so long. is this still happening? what strikes me in the list of things you show is that is says nvim. any idea where that comes from?

DOsinga avatar Oct 02 '25 13:10 DOsinga

Thanks for pinging this again, but unfortunately since it's been so long, I've already switched to another tool.

"nvim" is an MCP server written by me, but I'm not sure why it would matters. The problem seems to be that goose doesn't even try to list any tools (from results, it attempted to "list resources", but never "tools").

I close this because I don't think I can or want to check if it is still relevant, but if I ever find out that the bug still exists, I'll open another issue.

brianhuster avatar Oct 02 '25 13:10 brianhuster