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))))