Skip to main content
Glama

Bumi MCP — Noetix Bumi Humanoid Robot Control

📖 Installation Guide — quick start, manual setup, and troubleshooting

MCP server + REST bridge scaffold for the Noetix Bumi humanoid.

v0.2 adds /api/v1/* (health, telemetry, gated control) and mock bridge for CI/teleoperator prep. Full physical motion awaits EDU hardware + Noetix SDK topic mapping — see STATUS.md and INTEGRATION.md.


Bumi Product Info

Spec

Value

Manufacturer

Noetix Robotics (Beijing) — 北京松延动力科技集团股份有限公司

Website

noetixrobotics.com

Models

Lite · Air · Pro · Max · EDU-Air · EDU-Pro · EDU-Max

Price

From 10,000 CNY (€1,300 / ~$1,400) — "world's first 10k-CNY class humanoid"

Height/Weight

98cm / ~17kg

DOF

21 (6 per leg, 4 per arm, 1 lumbar, hands)

Compute (base)

6 TOPS

Compute (EDU)

NVIDIA Jetson Orin Nano Super / Orin NX

Sensors

RGB camera, IMU

Battery

48V 3.5Ah, 2-3h runtime, quick-swap

Connectivity

WiFi + Bluetooth, optional 4G/5G

Knee torque

70 N·m

Status

Shipping — thousands of orders placed (Dec 2025 news)

Features (from Noetix)

  • "Bumi Bumi" voice wake word + interaction

  • Object recognition (RGB camera)

  • One-click auto-standing on startup

  • Mobile app control + visual programming

  • Smart OTA updates

  • Autonomous lying down / standing up

  • Open Source SDK & development tools

Ordering

No direct e-commerce (no JD.com, Amazon, etc.). Noetix sells B2B through their sales team:

Contact

Details

Sales email

sales@noetixrobotics.com

Hotline

400-096-9300 (Mon-Fri 10:00-19:00 Beijing)

WeChat

Scan QR code on noetixrobotics.com/en/contact-us

Inquiry form

noetixrobotics.com/en/contact-us?t=a

Partner inquiry

Become an agent

Pricing from 10,000 CNY (€1,300) for Lite model. Models: Lite · Air · Pro · Max · EDU-Air · EDU-Pro · EDU-Max. Price depends on model and quantity — contact sales for quote.


Related MCP server: robot-mcp-server

Architecture

PC (Goliath) ──Tailscale── Bumi (Jetson Orin)
                              │
                         rosbridge :9090
                              │
                         bumi-mcp :10774  (/api/v1)
                              │
                         Noetix SDK (walk, joints, estop)
  • Mock mode: BUMI_USE_MOCK_BRIDGE=1 — no hardware (default in .env.example)

  • Physical: BUMI_IP=<tailnet> + uv sync --extra robot

  • Yahboom copies in ros2/, minimal_mission_executor.py — reference only, not biped-safe

Files (physical path)

File

Purpose

src/bumi_mcp/core/ros2_bridge.py

roslibpy telemetry + gated walk/estop

src/bumi_mcp/testing/mock_bridge.py

CI / dev stand-in

src/bumi_mcp/api_v1.py

teleoperator-facing REST

STATUS.md / INTEGRATION.md

Readiness + bring-up

Legacy Yahboom ports (reference)

File

Origin

Purpose

minimal_mission_executor.py

yahboom-mcp

Holonomic missions — not for Bumi

vision_bridge.py

yahboom-mcp

COCO detection bridge

scripts/deploy.sh

yahboom-mcp

Deprecated Pi deploy

ros2/bumi_mission_executor/

boomy fork

Wheeled mission package

Quick Start

git clone https://github.com/sandraschi/bumi-mcp
cd bumi-mcp
just

This opens an interactive dashboard showing all available commands. Run just serve with .env from .env.example (mock bridge by default).

Copy-Item .env.example .env
just serve
Invoke-RestMethod http://127.0.0.1:10774/api/v1/health
just test
just ci

Physical bot

See INTEGRATION.mdBUMI_IP, uv sync --extra robot, telemetry first, then gated motion.

License

MIT

Available Tools

2 tools
bumi_agentic_workflowB

BUMI_AGENTIC_WORKFLOW — High-level goals: specs, SDK setup, virtual twin, fleet composition.

Uses ctx.sample() so the host LLM can call bumi_tool and sibling MCPs (resonite, robotics).

Args: goal: Natural language, e.g. "Summarize Bumi specs and how to show a virtual twin in Resonite"

Returns: LLM summary string.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It reveals that the tool uses ctx.sample() to invoke other MCPs and returns an LLM summary string, which is helpful. However, it does not explain side effects, error handling, or what occurs when called (e.g., does it actually execute the orchestration?). This is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, using a single paragraph with clear sections: purpose, mechanism, args, returns. Every sentence adds value, with no unnecessary repetition or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter) and the presence of an output schema (not described but acknowledged), the description is fairly complete. It explains the orchestration behavior and provides an example. Minor gap: it doesn't specify what triggers the orchestration or any prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate. It describes the 'goal' parameter as 'Natural language' with one example ('Summarize Bumi specs...'). This adds some context but lacks constraints (e.g., length, format, scope). The compensation is weak.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it handles high-level goals like specs, SDK setup, virtual twin, and fleet composition, and that it orchestrates other tools via ctx.sample(). This gives a clear purpose but does not differentiate from its sibling 'bumi_tool', leaving ambiguity about when to use each.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It mentions it uses ctx.sample() to call sibling tools (bumi_tool, resonite, robotics), implying it is for orchestration rather than direct execution. However, it lacks explicit when-to-use or when-not-to-use guidance and does not describe alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bumi_toolA

BUMI — Noetix Bumi humanoid: hero product info, OSS links, fleet virtual-twin map.

PORTMANTEAU RATIONALE: Single entry for discovery and setup; hardware control arrives when a documented local API or ROS bridge is wired (set BUMI_ROBOT_URL for optional ping).

Operations: info — tagline + vendor + key specs (default) specs — full structured hero dict sdk_links — GitHub repos + opensource landing page robot_status — if BUMI_ROBOT_URL set, GET {url}/health or /api/health; else connected=false virtual_twin — how to drive virtual Bumi via resonite-mcp / robotics-mcp / worldlabs-mcp fleet_peers — yahboom-mcp / dreame-mcp / robotics-mcp narrative for RoboFang fleet market — Noetix story, China humbot wave, JD.com + tier-1 offline context (not legal advice)

Returns: success, message, and operation-specific data.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationNoinfo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses behavioral traits such as the conditional nature of robot_status (requires BUMI_ROBOT_URL for ping) and mentions that hardware control requires a documented local API or ROS bridge. It also notes that market info is not legal advice. However, it does not explicitly state idempotency or side effects, limiting a higher score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with clear sections and bullet points for operations. Each sentence serves a purpose, but it is slightly verbose in parts (e.g., the portmanteau rationale could be tightened). Overall, it is well-organized and front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple sub-operations, conditional behavior), the description covers most aspects: operation details, prerequisites (BUMI_ROBOT_URL), and a return structure note. An output schema exists, so the brief return description is acceptable. Missing details on error handling or response format, but overall complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'operation' has no enum values in the schema (0% coverage). The description adds significant meaning by listing seven specific operation values (info, specs, sdk_links, etc.) with detailed explanations for each. This fully compensates for the schema gap and provides rich semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is for retrieving information about the Bumi humanoid robot, including hero product info, OSS links, and a fleet virtual-twin map. It distinguishes from the sibling tool 'bumi_agentic_workflow' by being a single entry for discovery and setup, establishing a unique purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides detailed context for each sub-operation (info, specs, sdk_links, etc.) but does not explicitly state when to use this tool over the sibling or when not to use it. The portmanteau rationale offers some implicit guidance, but without clear exclusions or alternatives, the score is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv0.1.0
    • First observedbumi_agentic_workflow
    • First observedbumi_tool

TDQS

A3.6/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: 'bumi_agentic_workflow' handles high-level orchestration by delegating to other tools, while 'bumi_tool' provides direct operations on the Bumi robot. There is no ambiguity or overlap.

Naming Consistency3/5

Both tool names share the 'bumi_' prefix, but one uses a descriptive 'agentic_workflow' while the other uses the generic 'tool', lacking a consistent pattern. The naming is passable but not uniform.

Tool Count3/5

With only 2 tools, the surface is thin but arguably appropriate for an early-stage MCP server that bundles many operations into a single 'bumi_tool' and provides an orchestration layer. It does not feel excessive, but more tools might be expected for a robot server.

Completeness3/5

The tool set covers information retrieval (specs, SDK, status) and conceptual guidance (virtual twin, fleet), but lacks actual robot control or modification operations. The server's stated scope is discovery and setup, which is partially met, but interactive features are missing.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    A Python-based server that enables AI assistants to control robots by integrating the Model Context Protocol (MCP) with ROS 2, allowing for natural language commands that translate into robot movement via the /cmd\_vel topic.
    84
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for controlling Unitree robots via DDS protocol, supporting G1, Go2, H1, H2, B2, A2, R1 and more. Enables LLM agents to command robots with high-level actions and safety guards.
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sandraschi/bumi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server