NWO Robotics
Servidor MCP de NWO Robotics v2.0
Servidor completo del Protocolo de Contexto de Modelo (MCP) para la API de NWO Robotics con 77 herramientas integradas que cubren SLAM, aprendizaje por refuerzo, sensores avanzados y control total de sistemas robóticos.
📋 Descripción general
Este servidor MCP proporciona acceso integral a todos los endpoints de la API de NWO Robotics a través de una interfaz unificada con 77 herramientas organizadas por prioridad y función.
✨ Características clave
77 herramientas integradas - Cobertura completa de la API
SLAM y localización - Mapeo y navegación persistente de robots
Aprendizaje por refuerzo - Entrenamiento de RL en la nube (PPO, SAC, DDPG, TD3)
Sensores avanzados - Térmicos, MMWave, gas, acústicos, magnéticos
Visión y fundamentación - Detección de objetos de vocabulario abierto
Detección táctil - Retroalimentación de 576 taxeles de ORCA Hand
Planificación de movimiento - Integración con MoveIt2 con evitación de colisiones
Planificación de tareas - Ejecución jerárquica de tareas con árboles de comportamiento
Integración ROS2 - Puente en la nube para robots reales (UR5e, Panda, Spot)
Monitoreo de seguridad - Validación de seguridad en tiempo real y parada de emergencia
MQTT IoT - Soporte para más de 1000 agentes con computación de borde
Agentes autónomos - Autorregistro y pagos basados en ETH
🚀 Inicio rápido
1. Clonar repositorio
git clone https://github.com/RedCiprianPater/mcp-server-robotics.git
cd mcp-server-robotics2. Instalar dependencias
npm install3. Configurar entorno
cp .env.example .env
# Edit .env and add your NWO_API_KEY
nano .env4. Construir y ejecutar
npm run build
npm start5. Probar en acción
# The server will start and display available tools
# You can now use any of the 77 tools through Claude📦 Qué incluye
Archivos
src/index.ts - Implementación completa del servidor MCP (77 herramientas)
package.json - Dependencias y scripts de construcción
tsconfig.json - Configuración de TypeScript
Dockerfile - Despliegue en contenedor
docker-compose.yml - Stack completo con broker MQTT
.env.example - Plantilla de variables de entorno
INTEGRATION_GUIDE.md - Instrucciones detalladas de integración
README.md - Este archivo
Categorías de herramientas
Prioridad 1 - Características únicas (5 herramientas)
✅ 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 detectionPrioridad 2 - Sensores novedosos (5 herramientas)
✅ 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 detectionPrioridad 3 - Características avanzadas (4 herramientas)
✅ nwo_read_tactile - ORCA Hand 576 taxels
✅ nwo_identify_material - Material recognition
✅ nwo_plan_motion - MoveIt2 motion planning
✅ nwo_execute_behavior_tree - Hierarchical task executionOperaciones estándar (58 herramientas)
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)🔧 Configuración
Clave de API
Obtén tu clave de API gratuita en https://nwo.capital/webapp/api-key.php
export NWO_API_KEY="sk_live_your_key_here"Endpoints de API
# 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📖 Ejemplos de uso
Ejemplo 1: SLAM y navegación
// 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"
}}]
});Ejemplo 2: Tarea basada en visión
// 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"]
}}]
});Ejemplo 3: Planificación de tareas complejas
// 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"
}}]
});
}Ejemplo 4: Fusión de sensores
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}
}
}}]
});Ejemplo 5: Entrenamiento de políticas de RL
// 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
}}]
});📊 Métricas de rendimiento
Operación | Latencia | Notas |
Inferencia estándar | 100-120ms | Centro de datos UE |
Inferencia de borde | 25-50ms | Más de 200 ubicaciones globales |
Inicialización SLAM | 200-500ms | Depende de la calidad de imagen |
Localización SLAM | 100-300ms | En mapa existente |
Entrenamiento RL (por paso) | 50-100ms | Simulación MuJoCo |
Planificación de tareas | 500-1000ms | Descomposición compleja |
Fusión de sensores | 150-300ms | Procesamiento multisensor |
Parada de emergencia | <10ms | Respuesta garantizada |
🐳 Despliegue con Docker
Ejecución simple con Docker
docker build -t mcp-nwo-robotics .
docker run -e NWO_API_KEY=sk_xxx mcp-nwo-roboticsDocker Compose (Recomendado)
# Start full stack with MQTT broker
docker-compose up -d
# View logs
docker-compose logs -f mcp-nwo-robotics
# Stop
docker-compose downDespliegue en producción
# 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🔐 Seguridad
Gestión de claves de API
# Never commit API keys
echo "NWO_API_KEY=*" >> .gitignore
echo ".env" >> .gitignore
# Use environment variables or .env (in .gitignore)Limitación de tasa
Nivel gratuito: 100,000 llamadas/mes
Prototipo: 500,000 llamadas/mes (~16,666/día)
Producción: Llamadas ilimitadas
Monitorear uso:
const balance = await client.messages.create({
tools: [{name: "nwo_agent_check_balance", input: {
agent_id: "agent_123"
}}]
});Características de seguridad
Detección de colisiones en tiempo real
Advertencia de proximidad humana (1.5m por defecto)
Parada de emergencia (respuesta <10ms)
Aplicación de límites de fuerza/par
Registro de auditoría para cumplimiento
🧪 Pruebas
Ejecutar pruebas
npm test
npm run test:watchProbar herramientas individuales
# 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📚 Documentación
Referencia de API: https://nwo.capital/webapp/nwo-robotics.html
GitHub: https://github.com/RedCiprianPater/mcp-server-robotics
Whitepaper: https://www.researchgate.net/publication/401902987_NWO_Robotics_API_WHITEPAPER
Demo: https://huggingface.co/spaces/PUBLICAE/nwo-robotics-api-demo
🔗 Guías de integración
Con la API de Claude
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"
}]
});Con 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")Con 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
)🐛 Solución de problemas
Problema: "Clave de API inválida o faltante"
# 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_keyProblema: "Error de API 504: Gateway Timeout"
# Solution: Use edge API for faster response
# Set: NWO_EDGE_API endpoint
# Tool: nwo_edge_inference instead of nwo_inferenceProblema: "Colisión detectada"
# Solution: Validate trajectory before execution
# Use: nwo_simulate_trajectory to check collision
# Use: nwo_check_collision for detailed analysisProblema: "El mapeo SLAM falló"
# Solution: Ensure good image quality
# - Well-lit environment
# - Distinct visual features
# - Slow movement during initialization
# - Try visual instead of hybrid SLAM📈 Monitoreo y analítica
Registros
# 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>&1Métricas
# Monitor API usage
nwo_agent_check_balance
# Export dataset for analysis
nwo_export_dataset
# Check system health
GET /health (if enabled)🎯 Próximos pasos
✅ Configuración:
npm install && npm run build✅ Configurar: Añadir
NWO_API_KEYa.env✅ Probar:
npm starty verificar que las herramientas se carguen✅ Integrar: Usar con la API de Claude o tu framework
✅ Desplegar: Docker Compose o Kubernetes
✅ Monitorear: Revisar registros y métricas de uso
✅ Escalar: Actualizar nivel según sea necesario
📞 Soporte
Problemas: https://github.com/RedCiprianPater/mcp-server-robotics/issues
Discusiones: https://github.com/RedCiprianPater/mcp-server-robotics/discussions
Ayuda con clave de API: https://nwo.capital/webapp/api-key.php
Documentación de NWO: https://nwo.capital/nwo-robotics.html
📝 Historial de versiones
v2.0.0 (Actual - Abril 2026)
✅ 77 herramientas totales implementadas
✅ Prioridad 1: SLAM, RL, Fundamentación (5)
✅ Prioridad 2: Sensores avanzados (5)
✅ Prioridad 3: Características avanzadas (4)
✅ Operaciones estándar (58)
✅ Soporte completo para TypeScript
✅ Listo para Docker y Kubernetes
✅ Manejo de errores de nivel de producción
✅ Cobertura total de pruebas
v1.0.0 (Anterior)
Conjunto básico de herramientas (20 herramientas)
Solo inferencia estándar
Configuración manual
📄 Licencia
Licencia MIT - Ver archivo LICENSE para más detalles
🙏 Agradecimientos
NWO Robotics - API e infraestructura
Anthropic - Claude y protocolo MCP
Comunidad de código abierto - Contribuciones y comentarios
Última actualización: Abril 2026
Estado: ✅ Listo para producción
Mantenedor: @RedCiprianPater
⭐ Si encuentras esto útil, ¡por favor dale una estrella al repositorio!
🔗 Proyectos relacionados
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