An Appium client cannot create Android or iOS sessions until a separate server process is running. Starting the server in a controlled terminal gives test scripts one visible listener, one log stream, and one place to diagnose failed session requests.
The appium command launches the same server as appium server and loads managed drivers and plugins from the active APPIUM_HOME. Current servers listen on port 4723 by default and use the root WebDriver path, so clients should normally point at http://127.0.0.1:4723 instead of the older /wd/hub route.
Bind the first local server to 127.0.0.1 unless remote clients genuinely need network access. Appium's default listener accepts connections on all interfaces, and session capabilities can start apps, read device state, and use driver features, so the port belongs on a local host or a protected internal network.
If the project sets APPIUM_HOME, start the server from the same shell so driver discovery matches the install and list commands.
$ appium --address 127.0.0.1 --port 4723 --log-level info [Appium] Welcome to Appium v3.5.0 [Appium] Appium REST http interface listener started on http://127.0.0.1:4723
Use --address 0.0.0.0 only when clients on another trusted host must connect to this server, and protect the port with network controls.
$ curl --silent http://127.0.0.1:4723/status
{"value":{"ready":true,"message":"The server is ready to accept new connections","build":{"version":"3.5.0"}}}
ready set to true means the HTTP server can accept new WebDriver session requests. It does not prove that Android or iOS drivers are installed.
$ appium driver list --installed - Listing installed drivers (rerun with --verbose for more info) - uiautomator2@7.6.1 [installed (npm)] - xcuitest@11.11.2 [installed (npm)]
Install the platform driver before creating sessions if this list does not include uiautomator2 for Android or xcuitest for iOS.
Related: How to install the Appium Android driver
Related: How to install the Appium iOS driver
http://127.0.0.1:4723
Add /wd/hub only when the server was intentionally started with a legacy base path such as --base-path /wd/hub.