Skip to main content
Glama

NWO Robotics MCPサーバー v2.0

SLAM、強化学習、高度なセンサー、完全なロボットシステム制御を網羅する77の統合ツールを備えた、NWO Robotics API用の完全なModel Context Protocol (MCP) サーバーです。

License: MIT Node.js TypeScript Status

📋 概要

このMCPサーバーは、優先度と機能別に整理された77のツールを備えた統合インターフェースを通じて、すべてのNWO Robotics APIエンドポイントへの包括的なアクセスを提供します。

✨ 主な機能

  • 77の統合ツール - 完全なAPIカバレッジ

  • SLAM & ローカリゼーション - 永続的なロボットマッピングとナビゲーション

  • 強化学習 - クラウドRLトレーニング (PPO, SAC, DDPG, TD3)

  • 高度なセンサー - 熱、ミリ波、ガス、音響、磁気

  • ビジョン & グラウンディング - オープンボキャブラリー物体検出

  • 触覚センシング - ORCA Hand 576タクセルフィードバック

  • モーションプランニング - 衝突回避機能を備えたMoveIt2統合

  • タスクプランニング - ビヘイビアツリーによる階層的タスク実行

  • ROS2統合 - 実際のロボット(UR5e, Panda, Spot)用のクラウドブリッジ

  • 安全監視 - リアルタイムの安全検証と緊急停止

  • MQTT IoT - エッジコンピューティングによる1000以上のエージェントサポート

  • 自律エージェント - 自己登録とETHベースの支払い

🚀 クイックスタート

1. リポジトリのクローン

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

2. 依存関係のインストール

npm install

3. 環境設定

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

4. ビルドと実行

npm run build
npm start

5. 動作テスト

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

📦 含まれるもの

ファイル

  • src/index.ts - 完全なMCPサーバー実装(77ツール)

  • package.json - 依存関係とビルドスクリプト

  • tsconfig.json - TypeScript設定

  • Dockerfile - コンテナデプロイメント

  • docker-compose.yml - MQTTブローカーを含むフルスタック

  • .env.example - 環境変数テンプレート

  • INTEGRATION_GUIDE.md - 詳細な統合手順

  • README.md - このファイル

ツールカテゴリ

優先度1 - ユニークな機能 (5ツール)

✅ 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

優先度2 - 新規センサー (5ツール)

✅ 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

優先度3 - 高度な機能 (4ツール)

✅ 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

標準操作 (58ツール)

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)

🔧 設定

APIキー

https://nwo.capital/webapp/api-key.php から無料のAPIキーを取得してください。

export NWO_API_KEY="sk_live_your_key_here"

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

📖 使用例

例1: SLAM & ナビゲーション

// 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"
  }}]
});

例2: ビジョンベースのタスク

// 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"]
  }}]
});

例3: 複雑なタスクプランニング

// 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"
    }}]
  });
}

例4: センサーフュージョン

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}
    }
  }}]
});

例5: 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
  }}]
});

📊 パフォーマンス指標

操作

レイテンシ

備考

標準推論

100-120ms

EUデータセンター

エッジ推論

25-50ms

グローバル200以上の拠点

SLAM初期化

200-500ms

画像品質に依存

SLAMローカリゼーション

100-300ms

既存マップ内

RLトレーニング (1ステップあたり)

50-100ms

MuJoCoシミュレーション

タスクプランニング

500-1000ms

複雑な分解

センサーフュージョン

150-300ms

マルチセンサー処理

緊急停止

<10ms

応答保証

🐳 Dockerデプロイメント

シンプルなDocker実行

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

Docker Compose (推奨)

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

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

# Stop
docker-compose down

本番環境へのデプロイ

# 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

🔐 セキュリティ

APIキー管理

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

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

レート制限

  • 無料ティア: 月間100,000コール

  • プロトタイプ: 月間500,000コール (1日あたり約16,666)

  • 本番環境: 無制限

使用状況の監視:

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

安全機能

  • リアルタイム衝突検知

  • 人体近接警告 (デフォルト1.5m)

  • 緊急停止 (<10ms応答)

  • 力/トルク制限の強制

  • コンプライアンスのための監査ログ

🧪 テスト

テストの実行

npm test
npm run test:watch

個別ツールのテスト

# 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

📚 ドキュメント

🔗 統合ガイド

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"
  }]
});

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")

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
)

🐛 トラブルシューティング

問題: "Invalid or missing API key"

# 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

問題: "API error 504: Gateway Timeout"

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

問題: "Collision detected"

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

問題: "SLAM mapping failed"

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

📈 監視と分析

ログ

# 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

メトリクス

# Monitor API usage
nwo_agent_check_balance

# Export dataset for analysis
nwo_export_dataset

# Check system health
GET /health (if enabled)

🎯 次のステップ

  1. セットアップ: npm install && npm run build

  2. 設定: .envNWO_API_KEY を追加

  3. テスト: npm start を実行し、ツールが読み込まれることを確認

  4. 統合: Claude APIまたはお使いのフレームワークで使用

  5. デプロイ: Docker ComposeまたはKubernetes

  6. 監視: ログと使用メトリクスを確認

  7. スケール: 必要に応じてティアをアップグレード

📞 サポート

📝 バージョン履歴

v2.0.0 (現在 - 2026年4月)

  • ✅ 合計77ツールを実装

  • ✅ 優先度1: SLAM、RL、グラウンディング (5)

  • ✅ 優先度2: 高度なセンサー (5)

  • ✅ 優先度3: 高度な機能 (4)

  • ✅ 標準操作 (58)

  • ✅ 完全なTypeScriptサポート

  • ✅ Docker & Kubernetes対応

  • ✅ 本番グレードのエラーハンドリング

  • ✅ 完全なテストカバレッジ

v1.0.0 (以前)

  • 基本ツールセット (20ツール)

  • 標準推論のみ

  • 手動設定

📄 ライセンス

MITライセンス - 詳細はLICENSEファイルを参照してください

🙏 謝辞

  • NWO Robotics - APIおよびインフラストラクチャ

  • Anthropic - ClaudeおよびMCPプロトコル

  • オープンソースコミュニティ - 貢献とフィードバック


最終更新日: 2026年4月
ステータス: ✅ 本番環境対応
メンテナー: @RedCiprianPater

⭐ このプロジェクトが役に立ったら、ぜひリポジトリにスターをお願いします!


🔗 関連プロジェクト

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