Function: mcp--set-log-level

mcp--set-log-level is a natively compiled function defined in mcp.el.

Signature

(mcp--set-log-level CONNECTION LOG-LEVEL SYNCP)

Documentation

Helper function to set the log level for the MCP server.

CONNECTION is the MCP connection object. LOG-LEVEL is the desired log level. SYNCP specifies if the operation should be synchronous or asynchronous.

See mcp-async-set-log-level and mcp-sync-set-log-level.

Source Code

;; Defined in /nix/store/5m747x13pb1ddrvbq9raj91c4q1h1kl0-emacs-packages-deps/share/emacs/site-lisp/elpa/mcp-20260615.940/mcp.el
(defun mcp--set-log-level (connection log-level syncp)
  "Helper function to set the log level for the MCP server.

CONNECTION is the MCP connection object.
LOG-LEVEL is the desired log level.
SYNCP specifies if the operation should be synchronous or asynchronous.

See `mcp-async-set-log-level' and `mcp-sync-set-log-level'."
  (let* ((success-fn (lambda (res)
                       (message "[mcp] setLevel success: %s" res)))
         (error-fn (jsonrpc-lambda (&key code message _data)
                     (message "Sadly, %s mpc server reports %s: %s"
                              (jsonrpc-name connection) code message)))
         (args `(,connection
                 :logging/setLevel
                 ,(list :level (format "%s" log-level))
                 :timeout ,(mcp--timeout connection)
                 ,@(unless syncp `(:success-fn
                                   ,success-fn))
                 ,@(unless syncp `(:error-fn
                                   ,error-fn)))))
    (if syncp
        (condition-case-unless-debug res
            (apply #'jsonrpc-request
                   args)
          (jsonrpc-error
           (pcase res
             (`(jsonrpc-error ,_ (jsonrpc-error-code . ,code) (jsonrpc-error-message . ,message) ,_)
              (funcall error-fn (list :code code :message message))
              nil)))
          (:success (funcall success-fn res) t))
      (apply #'jsonrpc-async-request
             args))))