diff --git a/.gitignore b/.gitignore index 7b8cc3f..9b02c96 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,5 @@ CLAUDE.md # OS .DS_Store Thumbs.db +*.exe +*.bak diff --git a/tools/search.go b/tools/search.go index 6190a55..1770bc1 100644 --- a/tools/search.go +++ b/tools/search.go @@ -180,7 +180,11 @@ func (s *Search) QueryProperties(ctx context.Context, req *mcp.CallToolRequest, // QueryDatalog executes raw DataScript queries. func (s *Search) QueryDatalog(ctx context.Context, req *mcp.CallToolRequest, input types.QueryDatalogInput) (*mcp.CallToolResult, any, error) { - raw, err := s.client.DatascriptQuery(ctx, input.Query, input.Inputs...) + anyInputs := make([]any, len(input.Inputs)) + for i, v := range input.Inputs { + anyInputs[i] = v + } + raw, err := s.client.DatascriptQuery(ctx, input.Query, anyInputs...) if err != nil { return errorResult(fmt.Sprintf("Datalog query failed: %v", err)), nil, nil } diff --git a/types/tools.go b/types/tools.go index 3fa7cfd..8adffe6 100644 --- a/types/tools.go +++ b/types/tools.go @@ -55,7 +55,7 @@ type QueryPropertiesInput struct { type QueryDatalogInput struct { Query string `json:"query" jsonschema:"Datalog/DataScript query string"` - Inputs []any `json:"inputs,omitempty" jsonschema:"Query input bindings"` + Inputs []string `json:"inputs,omitempty" jsonschema:"Query input bindings (string representations)"` } type FindByTagInput struct {