Skip to main content
Glama

NWO Robotics MCP Server v2.0

Vollständiger Model Context Protocol (MCP) Server für die NWO Robotics API mit 77 integrierten Tools, die SLAM, Reinforcement Learning, fortschrittliche Sensoren und die vollständige Steuerung robotischer Systeme abdecken.

License: MIT Node.js TypeScript Status

📋 Übersicht

Dieser MCP-Server bietet umfassenden Zugriff auf alle NWO Robotics API-Endpunkte über eine einheitliche Schnittstelle mit 77 Tools, die nach Priorität und Funktion organisiert sind.

✨ Hauptmerkmale

  • 77 integrierte Tools - Vollständige API-Abdeckung

  • SLAM & Lokalisierung - Persistente Roboterkartierung und Navigation

  • Reinforcement Learning - Cloud RL-Training (PPO, SAC, DDPG, TD3)

  • Fortschrittliche Sensoren - Thermisch, MMWave, Gas, akustisch, magnetisch

  • Vision & Grounding - Open-Vocabulary-Objekterkennung

  • Taktile Sensorik - ORCA Hand 576-Taxel-Feedback

  • Bewegungsplanung - MoveIt2-Integration mit Kollisionsvermeidung

  • Aufgabenplanung - Hierarchische Aufgabenausführung mit Verhaltensbäumen

  • ROS2-Integration - Cloud-Bridge für echte Roboter (UR5e, Panda, Spot)

  • Sicherheitsüberwachung - Echtzeit-Sicherheitsvalidierung und Not-Aus

  • MQTT IoT - Unterstützung für über 1000 Agenten mit Edge Computing

  • Autonome Agenten - Selbstregistrierung und ETH-basierte Zahlungen

🚀 Schnellstart

1. Repository klonen

git clone https://github.com/RedCiprianPater/mcp-server-robotics.git
cd mcp-server-robotics

2. Abhängigkeiten installieren

npm install

3. Umgebung einrichten

cp .env.example .env
# Edit .env and add your NWO_API_KEY
nano .env

4. Erstellen & Ausführen

npm run build
npm start

5. In Aktion testen

# The server will start and display available tools
# You can now use any of the 77 tools through Claude

📦 Was ist enthalten

Dateien

  • src/index.ts - Vollständige MCP-Server-Implementierung (77 Tools)

  • package.json - Abhängigkeiten und Build-Skripte

  • tsconfig.json - TypeScript-Konfiguration

  • Dockerfile - Container-Bereitstellung

  • docker-compose.yml - Full-Stack mit MQTT-Broker

  • .env.example - Vorlage für Umgebungsvariablen

  • INTEGRATION_GUIDE.md - Detaillierte Integrationsanweisungen

  • README.md - Diese Datei

Tool-Kategorien

Priorität 1 - Einzigartige Funktionen (5 Tools)

✅ nwo_initialize_slam              - Persistent robot mapping
✅ nwo_localize                     - Landmark-based localization
✅ nwo_create_rl_env                - Cloud RL training environments
✅ nwo_train_policy                 - Policy training (SB3)
✅ nwo_detect_objects_grounding     - Open-vocabulary detection

Priorität 2 - Neuartige Sensoren (5 Tools)

✅ nwo_query_thermal                - Heat detection
✅ nwo_query_mmwave                 - Millimeter-wave radar
✅ nwo_query_gas                    - Air quality sensors
✅ nwo_query_acoustic               - Sound localization
✅ nwo_query_magnetic               - Metal detection

Priorität 3 - Fortschrittliche Funktionen (4 Tools)

✅ nwo_read_tactile                 - ORCA Hand 576 taxels
✅ nwo_identify_material            - Material recognition
✅ nwo_plan_motion                  - MoveIt2 motion planning
✅ nwo_execute_behavior_tree        - Hierarchical task execution

Standardoperationen (58 Tools)

Inference & Models (6)              Robot Control (3)
Task Planning & Learning (4)        Agent Management (3)
Voice & Gesture (2)                 Simulation & Physics (3)
ROS2 & Hardware (3)                 MQTT & IoT (2)
Safety & Monitoring (3)             Embodiment & Calibration (3)
Autonomous Agents (4)               Dataset & Export (2)
Demo & Testing (2)

🔧 Konfiguration

API-Schlüssel

Holen Sie sich Ihren kostenlosen API-Schlüssel unter https://nwo.capital/webapp/api-key.php

export NWO_API_KEY="sk_live_your_key_here"

API-Endpunkte

# Standard API (full features)
NWO_API_BASE=https://nwo.capital/webapp

# Edge API (ultra-low latency, 200+ locations)
NWO_EDGE_API=https://nwo-robotics-api-edge.ciprianpater.workers.dev/api

# ROS2 Bridge (for physical robots)
NWO_ROS2_BRIDGE=https://nwo-ros2-bridge.onrender.com

# MQTT Broker (IoT sensors)
MQTT_BROKER=mqtt.nwo.capital
MQTT_PORT=8883

📖 Anwendungsbeispiele

Beispiel 1: SLAM & Navigation

// Initialize SLAM mapping
const slam = await client.messages.create({
  tools: [{name: "nwo_initialize_slam", input: {
    agent_id: "robot_001",
    map_name: "warehouse",
    slam_type: "hybrid",
    loop_closure: true
  }}]
});

// Later: Localize in the map
const localize = await client.messages.create({
  tools: [{name: "nwo_localize", input: {
    agent_id: "robot_001",
    map_id: "map_123",
    image: "base64_encoded_image"
  }}]
});

Beispiel 2: Vision-basierte Aufgabe

// Detect objects with natural language
const detect = await client.messages.create({
  tools: [{name: "nwo_detect_objects_grounding", input: {
    agent_id: "robot_001",
    image: "base64_image",
    object_description: "red cylinder on the left",
    threshold: 0.85,
    return_mask: true
  }}]
});

// Execute action based on detection
const execute = await client.messages.create({
  tools: [{name: "nwo_inference", input: {
    instruction: "Pick up the detected object",
    images: ["base64_image"]
  }}]
});

Beispiel 3: Komplexe Aufgabenplanung

// Break down high-level instruction
const plan = await client.messages.create({
  tools: [{name: "nwo_task_planner", input: {
    instruction: "Clean the warehouse floor",
    agent_id: "robot_001",
    context: {
      location: "warehouse",
      known_objects: ["shelves", "boxes"]
    }
  }}]
});

// Execute subtasks
for (let i = 1; i <= 5; i++) {
  await client.messages.create({
    tools: [{name: "nwo_execute_subtask", input: {
      plan_id: "plan_123",
      subtask_order: i,
      agent_id: "robot_001"
    }}]
  });
}

Beispiel 4: Sensorfusion

const fusion = await client.messages.create({
  tools: [{name: "nwo_sensor_fusion", input: {
    agent_id: "robot_001",
    instruction: "Pick up the hot object carefully",
    images: ["base64_camera"],
    sensors: {
      temperature: {value: 85.5, unit: "celsius"},
      proximity: {distance: 0.15, unit: "meters"},
      force: {grip_pressure: 2.5},
      gps: {lat: 51.5074, lng: -0.1278}
    }
  }}]
});

Beispiel 5: RL-Richtlinientraining

// Create RL environment
const env = await client.messages.create({
  tools: [{name: "nwo_create_rl_env", input: {
    agent_id: "robot_001",
    task_name: "pick_place",
    reward_function: "success",
    sim_platform: "mujoco"
  }}]
});

// Train policy
const train = await client.messages.create({
  tools: [{name: "nwo_train_policy", input: {
    agent_id: "robot_001",
    env_id: "env_456",
    algorithm: "PPO",
    num_steps: 100000,
    learning_rate: 0.0003
  }}]
});

📊 Leistungsmetriken

Operation

Latenz

Hinweise

Standard-Inferenz

100-120ms

EU-Rechenzentrum

Edge-Inferenz

25-50ms

Global 200+ Standorte

SLAM-Initialisierung

200-500ms

Abhängig von Bildqualität

SLAM-Lokalisierung

100-300ms

In bestehender Karte

RL-Training (pro Schritt)

50-100ms

MuJoCo-Simulation

Aufgabenplanung

500-1000ms

Komplexe Zerlegung

Sensorfusion

150-300ms

Multi-Sensor-Verarbeitung

Not-Aus

<10ms

Garantierte Reaktion

🐳 Docker-Bereitstellung

Einfacher Docker-Start

docker build -t mcp-nwo-robotics .
docker run -e NWO_API_KEY=sk_xxx mcp-nwo-robotics

Docker Compose (Empfohlen)

# Start full stack with MQTT broker
docker-compose up -d

# View logs
docker-compose logs -f mcp-nwo-robotics

# Stop
docker-compose down

Produktionsbereitstellung

# Build for production
docker build -t mcp-nwo-robotics:prod .

# Push to registry
docker tag mcp-nwo-robotics:prod myregistry/mcp-nwo-robotics:latest
docker push myregistry/mcp-nwo-robotics:latest

# Deploy on Kubernetes
kubectl apply -f k8s-deployment.yaml

🔐 Sicherheit

API-Schlüsselverwaltung

# Never commit API keys
echo "NWO_API_KEY=*" >> .gitignore
echo ".env" >> .gitignore

# Use environment variables or .env (in .gitignore)

Ratenbegrenzung

  • Kostenlose Stufe: 100.000 Aufrufe/Monat

  • Prototyp: 500.000 Aufrufe/Monat (~16.666/Tag)

  • Produktion: Unbegrenzte Aufrufe

Nutzung überwachen:

const balance = await client.messages.create({
  tools: [{name: "nwo_agent_check_balance", input: {
    agent_id: "agent_123"
  }}]
});

Sicherheitsfunktionen

  • Echtzeit-Kollisionserkennung

  • Warnung bei menschlicher Nähe (1,5m Standard)

  • Not-Aus (<10ms Reaktion)

  • Durchsetzung von Kraft-/Drehmomentgrenzen

  • Audit-Logging zur Compliance

🧪 Testen

Tests ausführen

npm test
npm run test:watch

Einzelne Tools testen

# Test SLAM
npm run dev -- --test nwo_initialize_slam

# Test inference
npm run dev -- --test nwo_inference

# Test sensor fusion
npm run dev -- --test nwo_sensor_fusion

📚 Dokumentation

🔗 Integrationsanleitungen

Mit Claude API

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();

const response = await client.messages.create({
  model: "claude-3-5-sonnet-20241022",
  max_tokens: 4096,
  tools: tools, // All 77 NWO tools
  messages: [{
    role: "user",
    content: "Initialize SLAM mapping on robot_001"
  }]
});

Mit LangChain

from langchain.chat_models import ChatAnthropic
from langchain.tools import StructuredTool

llm = ChatAnthropic(model_name="claude-3-sonnet-20240229")
tools = load_nwo_tools()
agent = initialize_agent(tools, llm, agent="tool-using-agent")

Mit CrewAI

from crewai import Agent, Task, Crew
from nwo_tools import get_robotics_tools

tools = get_robotics_tools()
robot_agent = Agent(
    role="Robot Controller",
    goal="Control robots autonomously",
    tools=tools
)

🐛 Fehlerbehebung

Problem: "Ungültiger oder fehlender API-Schlüssel"

# Solution: Check API key
echo $NWO_API_KEY

# If empty, set it:
export NWO_API_KEY="sk_your_actual_key"

# Or in .env:
NWO_API_KEY=sk_your_actual_key

Problem: "API-Fehler 504: Gateway Timeout"

# Solution: Use edge API for faster response
# Set: NWO_EDGE_API endpoint
# Tool: nwo_edge_inference instead of nwo_inference

Problem: "Kollision erkannt"

# Solution: Validate trajectory before execution
# Use: nwo_simulate_trajectory to check collision
# Use: nwo_check_collision for detailed analysis

Problem: "SLAM-Kartierung fehlgeschlagen"

# Solution: Ensure good image quality
# - Well-lit environment
# - Distinct visual features
# - Slow movement during initialization
# - Try visual instead of hybrid SLAM

📈 Überwachung & Analytik

Protokolle

# View real-time logs
npm run dev

# With custom log level
LOG_LEVEL=debug npm start

# Save to file
npm start > logs/server.log 2>&1

Metriken

# Monitor API usage
nwo_agent_check_balance

# Export dataset for analysis
nwo_export_dataset

# Check system health
GET /health (if enabled)

🎯 Nächste Schritte

  1. Einrichtung: npm install && npm run build

  2. Konfiguration: NWO_API_KEY zu .env hinzufügen

  3. Test: npm start und überprüfen, ob Tools geladen werden

  4. Integration: Mit Claude API oder Ihrem Framework verwenden

  5. Bereitstellung: Docker Compose oder Kubernetes

  6. Überwachung: Protokolle und Nutzungsmetriken prüfen

  7. Skalierung: Stufe bei Bedarf upgraden

📞 Support

📝 Versionsgeschichte

v2.0.0 (Aktuell - April 2026)

  • ✅ 77 Tools insgesamt implementiert

  • ✅ Priorität 1: SLAM, RL, Grounding (5)

  • ✅ Priorität 2: Fortschrittliche Sensoren (5)

  • ✅ Priorität 3: Fortschrittliche Funktionen (4)

  • ✅ Standardoperationen (58)

  • ✅ Vollständige TypeScript-Unterstützung

  • ✅ Docker & Kubernetes bereit

  • ✅ Fehlerbehandlung auf Produktionsniveau

  • ✅ Vollständige Testabdeckung

v1.0.0 (Vorherige)

  • Grundlegendes Tool-Set (20 Tools)

  • Nur Standard-Inferenz

  • Manuelle Konfiguration

📄 Lizenz

MIT-Lizenz - Siehe LICENSE-Datei für Details

🙏 Danksagungen

  • NWO Robotics - API und Infrastruktur

  • Anthropic - Claude und MCP-Protokoll

  • Open Source Community - Beiträge und Feedback


Zuletzt aktualisiert: April 2026
Status: ✅ Produktionsbereit
Betreuer: @RedCiprianPater

⭐ Wenn Sie dies nützlich finden, geben Sie dem Repository bitte einen Stern!


🔗 Verwandte Projekte

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/RedCiprianPater/mcp-server-robotics'

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