Documentation
¶
Overview ¶
Package tool provides proxy-tool registration on top of modelcontextprotocol/go-sdk.
Index ¶
- func AddProxy[Args, Result any](server *sdkmcp.Server, b *Bridge, spec ProxySpec[Args, Result])
- func AddProxyNoArgs[Result any](server *sdkmcp.Server, b *Bridge, name, description string, ...)
- func CallNoArgs[Result any](b *Bridge, ctx context.Context, method string) (Result, error)
- func CallTyped[Args, Result any](b *Bridge, ctx context.Context, method string, args Args) (Result, error)
- func NormalizeField(p *string, norm func(string) (string, error)) error
- func NormalizeID[T any](args T, norm func(string) (string, error), idOf func(*T) *string) (T, error)
- func PrepareWorkDir[T any](defaultWorkDir string, args T, set func(*T, string), get func(T) string) (T, summarize.Meta, error)
- func PresentCappedList[T any](items []T, limit int, hintTemplate string) (any, summarize.Meta)
- func ResolveWorkDir(defaultWorkDir, argWorkDir string) string
- type Backend
- type Bridge
- type FuncBackend
- type ProxySpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddProxyNoArgs ¶
func AddProxyNoArgs[Result any](server *sdkmcp.Server, b *Bridge, name, description string, execute func(context.Context, *Bridge) (Result, error))
AddProxyNoArgs registers a proxy tool with no arguments.
func CallNoArgs ¶
CallNoArgs executes a backend call with no params.
func CallTyped ¶
func CallTyped[Args, Result any](b *Bridge, ctx context.Context, method string, args Args) (Result, error)
CallTyped executes a backend call with typed result decoding.
func NormalizeField ¶
NormalizeField normalizes one string field in tool args.
func NormalizeID ¶
func NormalizeID[T any](args T, norm func(string) (string, error), idOf func(*T) *string) (T, error)
NormalizeID normalizes one id field in typed tool args.
func PrepareWorkDir ¶
func PrepareWorkDir[T any](defaultWorkDir string, args T, set func(*T, string), get func(T) string) (T, summarize.Meta, error)
PrepareWorkDir fills an empty work_dir field from defaultWorkDir.
func PresentCappedList ¶
PresentCappedList wraps a slice in structured tool list data.
func ResolveWorkDir ¶
ResolveWorkDir returns argWorkDir when set, otherwise defaultWorkDir.
Types ¶
type FuncBackend ¶
FuncBackend adapts a function to Backend.
type ProxySpec ¶
type ProxySpec[Args, Result any] struct { Name string Description string Normalize func(Args) (Args, error) Validate func(Args) error Prepare func(*Bridge, Args) (Args, summarize.Meta, error) Execute func(context.Context, *Bridge, Args) (Result, error) Present func(Args, Result) (any, summarize.Meta) }
ProxySpec configures one proxied MCP tool.