How to use Viam

Viam provides a variety of interfaces for configuring, controlling, and monitoring your machines, so you can work in the way that suits your background and your goals. The web and mobile apps are visual; the CLI, SDKs, and MCP server are for working in code, from a terminal, or through an assistant. All of them talk to the same Viam platform, so they complement each other: a machine you set up in one is available in the others.

Most people start in the Viam web app and use the other tools as their needs grow.

Web app

The Viam web app, at app.viam.com, is the home base for everything you do with Viam. It runs in any browser, and it’s where you’ll spend your first hours with the platform. Your account, your organizations, and every machine you’ve created are managed here.

Use it to set up and configure machines, test them, and monitor them through the user interface and the 3D scene.

Here is what you’ll find:

  • Your fleet. Organizations contain locations, and locations contain machines. The fleet view shows each machine’s status, and from it you open any machine’s page.
  • A page for each machine. It has a tab for each kind of work: CONFIGURE to describe the hardware and software the machine runs, CONTROL to test components and drive the machine, LOGS to see what it has reported, and CONNECT for code samples and connection details.
  • The 3D scene. The 3D SCENE tab shows your machine and the spatial data around it, including frames, geometry, point clouds, and motion plans. It’s the quickest way to catch a misplaced frame or obstacle.
  • Data and dashboards. Browse captured data, group it into datasets, train ML models on it, and chart captured sensor data across machines.
  • The registry. Browse modules and ML models published by Viam and the community, and add them to your machines.
  • Organization settings. Manage who has access, API keys, and billing.
  • An in-app assistant. On any tab of a machine’s page, ask in plain language for what you need. The assistant reads your machine’s configuration, status, and logs, can stage configuration changes, and can propose diagnostic commands. Nothing takes effect until you review and approve it.

Mobile app

The Viam mobile app, available in the App Store and Google Play, is a companion to the web app. It lets you see which machines are online, watch camera feeds, adjust components, and check logs. It can also move an arm by moving your phone and upload photos to the cloud.

  • Use it to check on or operate a machine when you’re away from a computer.
  • It’s best for operating machines, not for setting them up. Switch to the web app to change a machine’s configuration.

To learn more, see the Viam mobile app.

CLI

The viam command-line tool covers most of what the web app does, in a form you can script. It adds things the web app doesn’t do, such as publishing modules and calling a machine’s API methods one at a time.

  • Use it to automate repeated work, run operations from a script or CI, or work from a terminal.
  • It’s also a good fit for an AI assistant that can run commands, since each operation is a single command with structured output.

To get started, see the CLI overview.

SDKs

The SDKs are libraries for writing your own code that controls machines and talks to the Viam cloud. They’re available for Python, Go, and C++ (backend), TypeScript (browser and Node.js), and Flutter (mobile).

  • Use them to write modules that add hardware drivers or logic to a machine, to write control code that runs outside the machine, or to build a web or mobile app for your users.
  • They’re best when you need behavior that the other interfaces can’t express, such as a loop, a decision, or a custom interface.

To write a module in Python, Go, or C++, see Build and deploy modules. To build an app for your own users, see Build apps.

MCP server

The Viam MCP server lets an AI assistant that supports the Model Context Protocol work with your fleet. Once you connect it, the assistant can look up your machines, read and edit their configuration, and call their API methods, within the permissions your account already has.

  • Use it to configure or inspect machines in conversation instead of in the web app.
  • It’s best for configuration and fleet lookups. It doesn’t include tools for querying captured data.

To connect an assistant, see the MCP server.

What each interface can do

A link means the interface can do at least part of this, and goes to a page about it. A blank cell means it can’t.

To do thisWeb appMobileCLISDKsMCP
See the 3D sceneYes
Monitor and operate a machineYesYesYesYesYes
Write control codeYesYes
Change a machine’s configurationYesYesYesYes
Manage machines in your fleetYesYesYesYesYes
Manage your organization’s members, keys, and billingYesYesYes
Build a web or mobile appYes
Write a moduleYesYesYes
Add a module to a machineYesYesYes
Browse or query captured dataYesYesYesYes