googleapis/mcp-toolbox · error

error generating manifest for tool %q: %w

Error message

error generating manifest for tool %q: %w

What it means

Error "error generating manifest for tool %q: %w" thrown in googleapis/mcp-toolbox.

Source

Thrown at internal/server/api.go:124

		err = fmt.Errorf("invalid tool name: tool with name %q does not exist", toolName)
		s.logger.DebugContext(ctx, err.Error())
		_ = render.Render(w, r, newErrResponse(err, http.StatusNotFound))
		return
	}
	srcName := tool.GetSourceName()
	var src sources.Source
	if srcName != "" {
		src, ok = s.PrimitiveMgr.GetSource(srcName)
		if !ok {
			err = fmt.Errorf("unable to retrieve source for tool %s", toolName)
			s.logger.DebugContext(ctx, err.Error())
			_ = render.Render(w, r, newErrResponse(err, http.StatusNotFound))
			return
		}
	}
	toolManifest, err := tool.Manifest(src)
	if err != nil {
		err = fmt.Errorf("error generating manifest for tool %q: %w", toolName, err)
		s.logger.DebugContext(ctx, err.Error())
		_ = render.Render(w, r, newErrResponse(err, http.StatusInternalServerError))
		return
	}
	// TODO: this can be optimized later with some caching
	m := tools.ToolsetManifest{
		ServerVersion: s.version,
		ToolsManifest: map[string]tools.Manifest{
			toolName: toolManifest,
		},
	}

	render.JSON(w, r, m)
}

// toolInvokeHandler handles the API request to invoke a specific Tool.
func toolInvokeHandler(s *Server, w http.ResponseWriter, r *http.Request) {
	ctx, span := s.instrumentation.Tracer.Start(r.Context(), "toolbox/server/tool/invoke")

View on GitHub (pinned to 8cc6e09de2)

When it happens

Trigger: Thrown at internal/server/api.go:124 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of googleapis/mcp-toolbox@8cc6e09de2 (2026-09-05). Data as JSON: /api/errors/7ff8f9259e94d9ad. Report an issue: GitHub.