Function: claude-code-ide-mcp--handle-tools-list

claude-code-ide-mcp--handle-tools-list is a natively compiled function defined in claude-code-ide-mcp.el.

Signature

(claude-code-ide-mcp--handle-tools-list ID PARAMS)

Documentation

Handle the tools/list request with ID.

Source Code

;; Defined in /nix/store/yjvbhwl7p6zrbw9xlnni7y4hra8sa3pl-emacs-packages-deps/share/emacs/site-lisp/claude-code-ide-mcp.el
(defun claude-code-ide-mcp--handle-tools-list (id _params)
  "Handle the tools/list request with ID."
  (claude-code-ide-debug "Handling tools/list request with id: %s" id)
  ;; Rebuild tool lists to respect current settings
  (setq claude-code-ide-mcp-tools (claude-code-ide-mcp--build-tool-list))
  (setq claude-code-ide-mcp-tool-schemas (claude-code-ide-mcp--build-tool-schemas))
  (setq claude-code-ide-mcp-tool-descriptions (claude-code-ide-mcp--build-tool-descriptions))
  ;; Ensure handlers are loaded
  (claude-code-ide-debug "Building tools list from %d registered tools"
                         (length claude-code-ide-mcp-tools))
  (let ((tools '()))
    (dolist (tool-entry claude-code-ide-mcp-tools)
      (let* ((name (car tool-entry))
             (schema (alist-get name claude-code-ide-mcp-tool-schemas nil nil #'string=))
             (prepared-schema (claude-code-ide-mcp--prepare-schema-for-json schema))
             (description (alist-get name claude-code-ide-mcp-tool-descriptions nil nil #'string=)))
        (claude-code-ide-debug "  Tool: %s (has schema: %s, has description: %s)"
                               name
                               (if schema "yes" "no")
                               (if description "yes" "no"))
        (push `((name . ,name)
                (description . ,description)
                (inputSchema . ,prepared-schema))
              tools)))
    (let* ((tools-array (vconcat (nreverse tools)))
           (response `((tools . ,tools-array))))
      (claude-code-ide-debug "Returning %d tools in response" (length tools-array))
      (claude-code-ide-mcp--make-response id response))))