-
Notifications
You must be signed in to change notification settings - Fork 214
Open
Description
Reproduce steps:
Create a mcp server using FastMCP with the petstore openapi spec:
$ uv init
$ uv add fastmcp
Change main.py to have the example from https://gofastmcp.com/integrations/openapi#create-a-server but with the petstore spec :
import httpx
from fastmcp import FastMCP
client = httpx.AsyncClient(base_url="http://localhost:3000")
openapi_spec = httpx.get("https://petstore3.swagger.io/api/v3/openapi.json").json()
mcp = FastMCP.from_openapi(openapi_spec=openapi_spec, client=client, name="petstore-mcp")
if __name__ == "__main__":
mcp.run()
Run the mcp server:
$ FASTMCP_EXPERIMENTAL_ENABLE_NEW_OPENAPI_PARSER=true uv run fastmcp run main.py:mcp --transport streamable-http --port 3000
mcphost-http-3000.json
{
"mcpServers": {
"http-3000": {
"type": "remote",
"url": "http://localhost:3000/mcp"
}
}
}
Run mcphost with stderr redirected to a file because the terminal gets messed up
$ ./mcphost -m ollama:qwen2.5:3b --config ../mcphost-http-3000.json -p hi 2>/tmp/mcphost.log
$ cat /tmp/mcphost.log
panic: assignment to entry in nil map
goroutine 1 [running]:
github.com/cloudwego/eino/schema.openapiV3ToJSONSchema(0xc000594a80)
/home/doreilly/go/pkg/mod/github.com/cloudwego/[email protected]/schema/tool.go:421 +0xe7d
github.com/cloudwego/eino/schema.(*ParamsOneOf).ToJSONSchema(0x0?)
/home/doreilly/go/pkg/mod/github.com/cloudwego/[email protected]/schema/tool.go:195 +0x17d
github.com/cloudwego/eino-ext/components/model/ollama.toOllamaTools({0xc000ab0400, 0x13, 0x50?})
/home/doreilly/go/pkg/mod/github.com/cloudwego/eino-ext/components/model/[email protected]/chatmodel.go:431 +0xca
github.com/cloudwego/eino-ext/components/model/ollama.(*ChatModel).genRequest(0xc0000c22d0, {0x1801a08?, 0x9?}, 0x1, {0xc000536068, 0x1, 0x1}, {0xc00012b188, 0x1, 0x1})
/home/doreilly/go/pkg/mod/github.com/cloudwego/eino-ext/components/model/[email protected]/chatmodel.go:290 +0x472
github.com/cloudwego/eino-ext/components/model/ollama.(*ChatModel).Stream(0xc0000c22d0, {0x1cc1148, 0xc000578360}, {0xc000536068, 0x1, 0x1}, {0xc00012b188, 0x1, 0x1})
/home/doreilly/go/pkg/mod/github.com/cloudwego/eino-ext/components/model/[email protected]/chatmodel.go:149 +0x11d
github.com/mark3labs/mcphost/internal/agent.(*Agent).generateWithStreamingFirstAndCallback(0xc000a88420, {0x1cc1110, 0x29ec320}, {0xc000536068, 0x1, 0x1}, {0xc000ab0400, 0x13, 0x20}, 0xc000756a80)
/home/doreilly/dev/ai/mcp/mcphost/internal/agent/agent.go:319 +0x15c
github.com/mark3labs/mcphost/internal/agent.(*Agent).generateWithCancellationAndStreaming(0xc0007568c0?, {0x1cc1110?, 0x29ec320?}, {0xc000536068?, 0x0?, 0x0?}, {0xc000ab0400?, 0x0?, 0x0?}, 0xc000756a80)
/home/doreilly/dev/ai/mcp/mcphost/internal/agent/agent.go:289 +0x59
github.com/mark3labs/mcphost/internal/agent.(*Agent).GenerateWithLoopAndStreaming(0xc000a88420, {0x1cc1110, 0x29ec320}, {0xc000756f70?, 0x1, 0x0?}, 0xc000756de0, 0xc000756d20, 0xc000756c50, 0xc000756bc8, ...)
/home/doreilly/dev/ai/mcp/mcphost/internal/agent/agent.go:162 +0x555
github.com/mark3labs/mcphost/cmd.runAgenticStep({0x1cc1110?, 0x29ec320?}, 0xc000a88420?, 0xc0008fe0c0, {0xc000756f70, 0x1, 0x4?}, {0x0, {0x7ffdc1366f30, 0x2}, ...}, ...)
/home/doreilly/dev/ai/mcp/mcphost/cmd/root.go:901 +0x5bb
github.com/mark3labs/mcphost/cmd.runAgenticLoop({0x1cc1110, 0x29ec320}, 0xc000a88420, 0xc0008fe0c0, {0x0, 0x0, 0x0}, {0x0, {0x7ffdc1366f30, 0x2}, ...}, ...)
/home/doreilly/dev/ai/mcp/mcphost/cmd/root.go:817 +0x449
github.com/mark3labs/mcphost/cmd.runNonInteractiveMode({0x1cc1110, 0x29ec320}, 0xc000a88420, 0xc0008fe0c0, {0x7ffdc1366f30, 0x2}, {0x7ffdc1366eff, 0xa}, {0x0, 0x0, ...}, ...)
/home/doreilly/dev/ai/mcp/mcphost/cmd/root.go:1297 +0x453
github.com/mark3labs/mcphost/cmd.runNormalMode({0x1cc1110, 0x29ec320})
/home/doreilly/dev/ai/mcp/mcphost/cmd/root.go:720 +0x25ed
github.com/mark3labs/mcphost/cmd.runMCPHost(...)
/home/doreilly/dev/ai/mcp/mcphost/cmd/root.go:340
github.com/mark3labs/mcphost/cmd.init.func4(0xc00048f300?, {0x17fa509?, 0x7?, 0x17f2528?})
/home/doreilly/dev/ai/mcp/mcphost/cmd/root.go:119 +0x25
github.com/spf13/cobra.(*Command).execute(0x294a380, {0xc000138010, 0x6, 0x6})
/home/doreilly/go/pkg/mod/github.com/spf13/[email protected]/command.go:1015 +0xb02
github.com/spf13/cobra.(*Command).ExecuteC(0x294a380)
/home/doreilly/go/pkg/mod/github.com/spf13/[email protected]/command.go:1148 +0x465
github.com/spf13/cobra.(*Command).Execute(...)
/home/doreilly/go/pkg/mod/github.com/spf13/[email protected]/command.go:1071
github.com/spf13/cobra.(*Command).ExecuteContext(...)
/home/doreilly/go/pkg/mod/github.com/spf13/[email protected]/command.go:1064
github.com/charmbracelet/fang.Execute({0x1cc1110, 0x29ec320}, 0x294a380, {0x0, 0x0, 0x47aca5?})
/home/doreilly/go/pkg/mod/github.com/charmbracelet/[email protected]/fang.go:169 +0x372
main.main()
/home/doreilly/dev/ai/mcp/mcphost/main.go:23 +0x17e
Metadata
Metadata
Assignees
Labels
No labels