Function: claude-code-ide-mcp--handle-initialize

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

Signature

(claude-code-ide-mcp--handle-initialize ID PARAMS &optional SESSION)

Documentation

Handle the initialize request with ID for SESSION.

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-initialize (id _params &optional session)
  "Handle the initialize request with ID for SESSION."
  (claude-code-ide-debug "Handling initialize request with id: %s" id)
  ;; Start ping timer after successful initialization
  ;; DISABLED: Ping causing connection issues - needs investigation
  ;; (claude-code-ide-mcp--start-ping-timer)

  ;; Send tools/list_changed notification after initialization
  (claude-code-ide-debug "Scheduling tools/list_changed notification")
  (run-with-timer claude-code-ide-mcp-initial-notification-delay nil
                  (lambda ()
                    (claude-code-ide-debug "Sending tools/list_changed notification")
                    (claude-code-ide-mcp--send-notification
                     "notifications/tools/list_changed"
                     (make-hash-table :test 'equal)
                     session)))

  (let ((response `((protocolVersion . ,claude-code-ide-mcp-version)
                    (capabilities . ((tools . ((listChanged . t)))
                                     (resources . ((subscribe . :json-false)
                                                   (listChanged . :json-false)))
                                     (prompts . ((listChanged . t)))
                                     (logging . ,(make-hash-table :test 'equal))))
                    (serverInfo . ((name . "claude-code-ide-mcp")
                                   (version . "0.3.0"))))))
    (claude-code-ide-debug "Initialize response capabilities: tools.listChanged=%s, resources.subscribe=%s, resources.listChanged=%s, prompts.listChanged=%s"
                           t :json-false :json-false t)
    (claude-code-ide-mcp--make-response id response)))