blob: e55a5c0e9feae8b2e23eb34b49e3271022b9dafc [file]
This test exercises the "go_search" MCP tool.
-- flags --
-mcp
-ignore_extra_diags
-- go.mod --
module example.com
go 1.21
//@mcptool("go_search", `{"query": "foo"}`, output=foo)
//@mcptool("go_search", `{"query": "bar"}`, output=bar)
//@mcptool("go_search", `{"query": "baz"}`, output=baz)
-- main.go --
package main
import (
"example.com/a"
"example.com/b"
)
func FOO() {}
type baz int
func main() {
println(a.Foo + b.Ar)
}
-- a/a.go --
package a
const (
Foo = 1
Bar = 2
)
type B struct {
ar string
}
-- b/b.go --
package b
const (
aZ = 1
Ar = 2
)
var fOo = 3
-- @foo --
Top symbol matches:
FOO (Function in `$WORKDIR/main.go`)
Foo (Constant in `$WORKDIR/a/a.go`)
fOo (Variable in `$WORKDIR/b/b.go`)
-- @bar --
Top symbol matches:
Bar (Constant in `$WORKDIR/a/a.go`)
b.Ar (Constant in `$WORKDIR/b/b.go`)
B.ar (Field in `$WORKDIR/a/a.go`)
-- @baz --
Top symbol matches:
baz (Type in `$WORKDIR/main.go`)
b.aZ (Constant in `$WORKDIR/b/b.go`)