CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
chrischall avatar

Skylight Mcp

chrischall/skylight-mcp
authSTDIOregistry active
Summary

A comprehensive adapter for Skylight Calendar's family coordination platform, exposing 102 tools across events, shared lists, chores, rewards, meals, and albums. Handles headless OAuth2 authentication with email and password, then surfaces full read/write access to calendar operations (create, update, delete events with member assignment), chore scheduling (including recurring tasks via RRULE), reward tracking, and list management. Supports multi-frame accounts, webcal subscriptions, Apple Calendar linking, and AI-assisted meal planning with draft approval workflows. Particularly dense on frame configuration tools like member management, device settings, and notification preferences. Reaches for the same 2026-05-01 API version the mobile app uses, so you get feature parity without a browser.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →

skylight-mcp

CI npm license

MCP server for Skylight Calendar — 114 tools across calendar events (read+write), shared lists (read+write), chores and rewards (read+write), task-box items (read+write), meals (read+write), AI auto-creation (meal-plan + activity-idea generators with draft review/approve), messages and albums (read+write), photo/video upload, and frame/device/account settings + calendar + member management (read+write, incl. preset and custom-photo avatars).

Every API request carries the skylight-api-version: 2026-05-01 header (matching the official mobile app); without it some features 422 with "API version does not support …".

MCP protocol support

The server uses the official TypeScript SDK v2 and supports the stateless 2026-07-28 protocol revision over stdio. Clients can discover and call tools without an initialization handshake. Existing clients can still use the 2025-11-25 handshake.

The transport remains stdio. A host can expose it over authenticated HTTP. This package does not open a network listener.

Auth

The server uses a headless email+password OAuth2 authorization-code flow — no SSO, no 2FA, no browser extension required. Configure it with SKYLIGHT_REFRESH_TOKEN if you already hold a token, or SKYLIGHT_EMAIL + SKYLIGHT_PASSWORD to log in for one.

On first tool call, the server performs four steps against https://app.ourskylight.com:

  1. GET /auth/session/new — fetch the Rails CSRF token and session cookie.
  2. POST /auth/session — log in with email + password (must happen before OAuth authorize).
  3. GET /oauth/authorize — send an S256 PKCE code_challenge (the server requires it) and receive the one-time authorization code via redirect.
  4. POST /oauth/token — exchange the code plus the matching code_verifier for a bearer access_token + refresh_token (currently a 24-hour expiry; the client reads the returned expires_in rather than assuming).

OAuth redirects stay on the authentication origin. Relative redirects resolve against the current URL. The configured callback supplies the authorization code without receiving a request or session cookie. Unexpected destinations fail without including the redirect URL in the error.

The client then refreshes the token proactively (~60 s before expiry) and reactively on any 401. No bot wall has been observed — the headless flow works directly from Node.

No env vars → clean start: if credentials are not set, the server still starts without error. Auth is deferred to the first tool call, so MCP hosts can complete install-time tool listing before credentials are configured.

Using the auth helpers from your own code

The package also exports Skylight's session login and refresh, so a separate program can authenticate without copying src/:

import { login, refresh } from 'skylight-mcp/auth';

const tokens = await login({
  authBaseUrl: 'https://app.ourskylight.com',
  email: process.env.SKYLIGHT_EMAIL!,
  password: process.env.SKYLIGHT_PASSWORD!,
});
// Skylight rotates refresh tokens: store the one each call returns.
const next = await refresh({ authBaseUrl: 'https://app.ourskylight.com', refreshToken: tokens.refreshToken });

This is the only library entry point; everything else in the package is the MCP server. It is ESM-only and ships type declarations.

Frame model

All data in Skylight is scoped to a frame (the family hub device). On first use the client auto-discovers the single frame on the account. If the account has more than one frame, set SKYLIGHT_FRAME_ID to the frame ID you want. Every tool that reads frame-scoped data accepts an optional frameId arg to override the default.

Tools

ModuleToolR/WDescription
framesskylight_list_framesRList all frames on the account
framesskylight_get_frameRGet details for a specific frame
framesskylight_list_frame_membersRList members associated with a frame
framesskylight_list_devicesRList physical devices linked to a frame
framesskylight_get_plus_accessRGet Skylight Plus subscription / entitlement status
framesskylight_get_reward_pointsRGet reward-point balances per family member
framesskylight_get_household_configRGet household configuration for the frame
framesskylight_list_calendarsRList the frame's calendar accounts and active calendars
framesskylight_get_event_notification_settingsRGet the frame's calendar-event notification settings
framesskylight_resolve_memberRResolve a family-member name to its category id
framesskylight_get_calendarRGet one calendar account
framesskylight_list_nudgesRList nudges (reminders) in a date range
framesskylight_update_frameWUpdate frame display/sleep settings
framesskylight_rename_frameWRename a frame
framesskylight_update_profileWUpdate the frame profile (name, birthday)
framesskylight_update_household_configWUpdate household configuration
framesskylight_set_reminder_profileWSet the global reminder cadence (interval_weeks)
framesskylight_add_webcalWSubscribe the frame to a webcal/ICS calendar URL
framesskylight_update_calendarWSet which sub-calendars of a connected account are active
framesskylight_delete_source_calendarWRemove a connected source calendar (incl. webcal subscriptions)
framesskylight_set_default_calendarWSet the default source calendar for new events
framesskylight_link_apple_calendarWLink an Apple/iCloud calendar; the app-specific password comes from SKYLIGHT_APPLE_APP_PASSWORD, never a tool argument (confirm-gated)
framesskylight_categorize_source_calendarWAttribute a source calendar's events to one or more family members
framesskylight_create_source_calendarWCreate a source calendar from raw provider attributes (advanced)
framesskylight_invite_userWInvite a user to the frame by email (confirm-gated)
framesskylight_approve_userWApprove a pending frame user (confirm-gated)
framesskylight_remove_userWRemove a user from the frame (confirm-gated; the preview names the member)
framesskylight_delete_categoryWDelete a category / family member (optional reassign_to_category_id, inferred; confirm-gated, the preview names the member)
framesskylight_update_family_memberWUpdate a family member's profile — birthday, dietary preferences (the name is the category label; set via skylight_update_category)
framesskylight_update_categoryWUpdate a category — rename/recolor, or convert a label into a family-member profile (linked_to_profile)
framesskylight_create_categoryWCreate a category / family member (optional linked_to_profile, avatar_id)
framesskylight_list_avatarsRList the preset avatar library (emoji/icon images)
framesskylight_set_member_avatarWSet a family member's avatar to a custom photo (confirm-gated)
framesskylight_set_device_albumWSet which photo album a device displays (inferred)
framesskylight_rename_deviceWRename a Skylight device
eventsskylight_list_eventsRList calendar events within a date range
eventsskylight_get_eventRGet details for a specific event
eventsskylight_create_eventWCreate a new calendar event (optional category_ids assigns members; confirm-gated when invited_emails is set, the preview names every recipient)
eventsskylight_update_eventWUpdate an existing calendar event (optional category_ids assigns members; confirm-gated when invited_emails is set)
eventsskylight_delete_eventWDelete a calendar event
eventsskylight_list_categoriesRList event categories for a frame
eventsskylight_list_source_calendarsRList external source calendars linked to a frame
eventsskylight_list_recent_invited_emailsRList recently-invited email addresses
eventsskylight_update_event_notification_settingsWUpdate calendar-event notification settings
listsskylight_list_listsRList all shared lists on a frame
listsskylight_get_list_itemsRGet items in a specific shared list
listsskylight_create_listWCreate a new shared list (label + color + kind)
listsskylight_update_listWUpdate a list's name, color, or type
listsskylight_delete_listWDelete a shared list and its items (confirm-gated when the list has items; the preview lists them)
listsskylight_add_list_itemWAdd an item to a shared list
listsskylight_update_list_itemWRename a list item, check/uncheck it, or set its section
listsskylight_delete_list_itemWDelete an item from a shared list
listsskylight_delete_list_itemsWBulk-delete specific list items
listsskylight_move_list_itemWReorder a list item
listsskylight_clear_listWRemove all items from a list (single bulk delete; confirm-gated, the preview lists the items)
listsskylight_set_list_item_sectionWMove list items into a named section (or clear it)
choresskylight_list_choresRList chores within a date range
choresskylight_search_choresRSearch chores (incl. unscheduled/template chores)
choresskylight_create_choreWCreate a new chore (summary + category)
choresskylight_create_recurring_choreWCreate a recurring chore or routine (RRULE)
choresskylight_complete_choreWMark a chore complete
choresskylight_uncomplete_choreWReopen (un-complete) a chore
choresskylight_update_choreWUpdate a chore (supports recurrence + apply_to)
choresskylight_complete_chore_instanceWMark a specific recurring-chore occurrence complete
choresskylight_delete_choreWDelete a chore (occurrence or whole series via apply_to)
choresskylight_list_rewardsRList rewards configured for a frame
rewardsskylight_get_rewardRGet one reward
rewardsskylight_create_rewardWCreate a reward (name + description + point_value + respawn_on_redemption + category_ids)
rewardsskylight_update_rewardWUpdate a reward
rewardsskylight_delete_rewardWDelete a reward
rewardsskylight_redeem_rewardWRedeem a reward
rewardsskylight_unredeem_rewardWReverse a reward redemption
rewardsskylight_add_reward_pointsWGrant or deduct reward points to members
mealsskylight_list_mealsRList planned meals in a date range (date_min + date_max both required)
mealsskylight_list_recipesRList meal recipes for the frame
mealsskylight_list_meal_categoriesRList meal categories for the frame
mealsskylight_get_recipeRGet one meal recipe
mealsskylight_create_recipeWCreate a meal recipe (meal_category_id + summary)
mealsskylight_update_recipeWUpdate a meal recipe
mealsskylight_delete_recipeWDelete a meal recipe
mealsskylight_add_recipe_to_grocery_listWAdd a recipe's ingredients to a grocery list
mealsskylight_plan_mealWPlan a meal on a date (optionally repeating, link a recipe, add to grocery list)
mealsskylight_update_mealWUpdate a planned meal (name, recipe, slot, notes, date, repeat rule) at a chosen recurrence scope
mealsskylight_delete_mealWRemove a planned meal — one occurrence, this-and-future, or the whole series (confirm-gated)
messagesskylight_list_messagesRList messages posted to the frame (reads the paged feed, up to 20 pages)
messagesskylight_list_albumsRList photo albums on the frame
messagesskylight_get_messageRGet one frame message
messagesskylight_create_albumWCreate a photo album
messagesskylight_update_albumWUpdate a photo album (rename, hide from slideshow)
messagesskylight_delete_albumWDelete a photo album
messagesskylight_add_to_albumWAdd messages/photos to albums
messagesskylight_remove_from_albumWRemove messages/photos from albums
messagesskylight_copy_messages_to_framesWCopy messages/photos to other frames on the account (inferred)
messagesskylight_add_message_commentWComment on a frame message/photo
messagesskylight_set_message_captionWSet a message/photo caption
messagesskylight_like_messageWLike a frame message/photo
messagesskylight_unlike_messageWRemove a like from a message/photo
messagesskylight_delete_messageWDelete a frame message/photo
messagesskylight_delete_messagesWBulk-delete messages/photos from the frame (confirm-gated, the preview lists each id with its caption)
tasksskylight_list_tasksRList task-box items
tasksskylight_create_taskWCreate a task-box item
tasksskylight_update_taskWUpdate a task-box item
tasksskylight_delete_taskWDelete a task-box item
aiskylight_generate_meal_planWGenerate an AI meal plan for given dates (draft meal sittings — async)
aiskylight_generate_activity_ideasWGenerate AI activity/event ideas for a location + time range (draft events — async)
aiskylight_get_auto_creation_intentRGet an AI auto-creation intent (status + draft results)
aiskylight_list_auto_creation_draftsRList the events an AI intent drafted (review before approving)
aiskylight_list_auto_creation_intentsRList all AI auto-creation intents on the frame
aiskylight_list_auto_creation_itemsRList every draft item an AI intent created (meals, activities, list items)
aiskylight_approve_auto_creationWApprove AI-drafted events into real calendar events
aiskylight_undo_auto_creationWUndo/discard an AI auto-creation intent and its drafts
photosskylight_upload_photoWUpload a photo/video from a local file to the frame (confirm-gated)
photosskylight_import_events_from_photoWImport calendar events from a photo of a flyer/invite using Skylight's AI (best-effort; confirm-gated)
healthskylight_healthcheckRReport whether the connector is working: which credential resolved, whether Skylight accepted it, and what to fix

Configuration

Required — one of these two

A refresh token you already hold (preferred: scoped, revocable, and it never touches the rate-limited login endpoint):

SKYLIGHT_REFRESH_TOKEN=your-refresh-token

Or the login pair, which mints one for you:

SKYLIGHT_EMAIL=you@example.com
SKYLIGHT_PASSWORD=your-password

Setting both is also valid, and is the most robust configuration: the token is used first, and if it has expired the login quietly mints a replacement. With a token alone, an expired token is reported as expired — the server says so plainly rather than claiming it is unconfigured.

A supplied refresh token is single-use. Skylight rotates the refresh token every time it is spent, so the server's first start uses up SKYLIGHT_REFRESH_TOKEN and keeps working on the rotated one — which lives only in the token cache. With a token alone, keep that cache enabled and writable, and never share one token between two hosts: a start that finds the env token already spent cannot recover without the login pair.

Optional

Env varDefaultPurpose
SKYLIGHT_FRAME_IDauto-discoveredForce a specific frame when the account has multiple
SKYLIGHT_NAME(none)Friendly label used in startup logs
SKYLIGHT_BASE_URLhttps://app.ourskylight.com/apiOverride the API base URL
SKYLIGHT_APPLE_APP_PASSWORD(none)App-specific password (from appleid.apple.com) that skylight_link_apple_calendar sends to Skylight. Env-only by design: it is never a tool argument, so it never passes through the model, the transcript or the host's tool-call log
SKYLIGHT_APPLE_ID(none)Apple ID email for skylight_link_apple_calendar; the tool's email argument overrides it
SKYLIGHT_UPLOAD_DIR~/Pictures and ~/Downloads (hosted: only $MCP_DATA_DIR/uploads)Directories that skylight_upload_photo, skylight_import_events_from_photo and skylight_set_member_avatar may upload from (several separated by :, or ; on Windows; ~ allowed). Any other path is refused before the confirmation preview, and the confirmed read re-checks it when the file is opened. Confinement is always on: unset means the default directories, not "anywhere" (the type, hidden-file, symlink, size and content checks always apply too)

Treat .env like a password file — it is gitignored, do not commit it.

Confirmations

Some writes ask you to confirm before anything happens: uploading a local photo or avatar; inviting, approving or removing a user; deleting a family member; linking an Apple calendar; opening the frame to the public; creating or updating an event with invited_emails (Skylight e-mails each address, and the preview names them); the bulk deletes (skylight_delete_messages, skylight_clear_list, and skylight_delete_list of a non-empty list), whose preview lists every item that would go; and meal/chore edits or deletes whose apply_to reaches past the one occurrence named. A client that can show a confirmation prompt (Claude Code) shows one, unless MCP_CONFIRM_ELICITATION=off. Elsewhere the first call makes no change and returns a preview of exactly what would be sent plus a confirmToken; only a repeat call with that token, and the same arguments, performs it — once.

variabledefault
MCP_CONFIRM_MODEask-userWhat a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). ask-user: two steps — the first call does nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. auto: the same two steps, but the model may use the token after reviewing the preview itself. refuse: writes are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt, unless MCP_CONFIRM_ELICITATION=off. An unrecognised value is treated as refuse.
MCP_CONFIRM_ELICITATIONonoff never shows a confirmation prompt, so every client gets the MCP_CONFIRM_MODE path. Set it for a client that claims to support prompts but never shows one (the write hangs — opencode 2.0.x). Any other value stays on, with a warning on stderr.
MCP_CONFIRM_TTL_SECONDS600How long a token stays valid.
MCP_CONFIRM_SECRETrandom per processSigning key; set it only if tokens must survive a server restart.

Token cache

After the first login the OAuth token pair is cached at $MCP_DATA_DIR/.skylight-mcp/tokens.json (falling back to $HOME), written 0600. A later start reuses it instead of re-running the four-step login — which matters because Skylight's login endpoint rate-limits, and a hosted server that scales to zero cold-starts constantly.

Only the tokens are written; your email and password stay in the environment. A cached token that has expired is refreshed rather than re-logged-in, and a refresh token the server rejects falls back to a fresh login, so a stale file cannot lock you out.

The cache is bound to whichever credential minted it — the password pair, or the supplied SKYLIGHT_REFRESH_TOKEN. Rotate that credential, or point the server at a different account, and the cached token is discarded rather than kept in play. Only a salted digest is stored; no email, password or supplied token reaches the file.

Set SKYLIGHT_TOKEN_CACHE=false to turn it off and log in on every start, or SKYLIGHT_TOKEN_FILE to put the cache somewhere specific.

If a write fails (read-only or full data dir) the server logs to stderr and keeps working on the in-memory token — only the next start pays for it. With the login pair that cost is one login. With only SKYLIGHT_REFRESH_TOKEN it would be a lockout, because Skylight rotates that token on first use and the rotated one would never be saved. So a token-only deployment refuses to spend it: SKYLIGHT_TOKEN_CACHE=false without a login pair is a configuration error, and the server checks the cache is writable before the first refresh, failing the call (token unspent) if it is not. A write that fails after that check is reported loudly on stderr.

Local dev

npm install
npm run build
npm test
npm run dev   # requires .env with credentials

Tests: vitest, 100% line/branch/function/statement coverage enforced. All tests are mocked — no network calls in CI.

Developed and maintained by AI (Claude). Use at your own discretion.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →

Configuration

SKYLIGHT_EMAIL

Skylight account email. Pair with SKYLIGHT_PASSWORD for direct login.

SKYLIGHT_PASSWORDsecret

Skylight account password — required iff SKYLIGHT_EMAIL is set.

SKYLIGHT_FRAME_ID

Optional: pick a specific Skylight frame when the account has more than one.

SKYLIGHT_NAME

Friendly account name used in startup logs.

Categories
Productivity & Office
Registryactive
Packageskylight-mcp
TransportSTDIO
AuthRequired
UpdatedJun 10, 2026
View on GitHub

More from chrischall

  • Tempo Api Mcp
  • Ofw Mcp5
  • Redfin Mcp2
  • Zola Mcp2
  • Gogcli Mcp1
  • Gogcli Mcp Docs1
  • Gogcli Mcp Sheets1
  • Honeybook Mcp1
  • Ioffice Mcp1
  • Resy Mcp1
  • Gogcli Mcp Classroom1
  • Gogcli Mcp Drive1
  • Gogcli Mcp Slides1
  • Compass Mcp
  • Creditkarma Mcp
  • Evite Mcp
  • Gemini Mcp
  • Homes Mcp
  • Musescore Mcp
  • Onehome Mcp
  • Setlist Mcp
  • Signupgenius Mcp
  • Splitwise Mcp
  • Zillow Mcp

Related Productivity & Office MCP Servers

View all →
ciprianpater avatar
srv-d7aoqmh5pdvs7391dcqg

ciprianpater/srv-d7aoqmh5pdvs7391dcqg

# NWO Robotics MCP Server Control real robots, IoT devices, and autonomous agent swarms through natural language — powered by the [NWO Robotics API](https://nwo.capital). --- ## What This Server Does This MCP server exposes the full NWO Robotics API as 64 ready-to-use tools. Any MCP-compatible AI agent (Claude, ChatGPT, Cursor, etc.) can use it to: - Send natural language instructions to physical robots - Run Visual-Language-Action (VLA) inference on live camera feeds - Plan, validate, and execute multi-step robot tasks - Monitor sensors, detect slip, and fuse multi-modal data - Train robots online with reinforcement learning - Register and manage agent identities on Base mainnet via the Cardiac biometric ID system No local installation needed. The server runs on Render and is ready to connect. --- ## Tools Overview ### 🤖 VLA Inference & Models Run Vision-Language-Action inference on any supported robot. Send a text instruction and camera images, receive joint action vectors in real time. Supports auto model routing, ultra-low-latency Cloudflare edge inference (28ms avg), and WebSocket streaming at up to 50Hz. `vla_inference` · `edge_inference` · `list_models` · `get_model_info` · `get_streaming_config` --- ### 🦾 Robot Control & State Query live robot state (joint angles, gripper, battery, position), execute pre-computed action sequences, and fuse camera + lidar + thermal + force + GPS sensor inputs into a single inference call. `query_robot_state` · `execute_actions` · `sensor_fusion` · `robot_query` · `get_agent_status` --- ### 🗺️ Task Planning & Learning Decompose complex instructions into ordered subtasks, execute them step by step, poll progress, and log outcomes so the model learns and improves with every run. `task_planner` · `execute_subtask` · `status_poll` · `learning_recommend` · `learning_log` --- ### 🔑 Agent Management Self-register a new AI agent in under 2 seconds, check your monthly API quota, upgrade tiers by paying ETH, and manage robot registrations and capabilities. | Tier | Calls/month | Cost | |------|-------------|------| | Free | 100,000 | $0 | | Prototype | 500,000 | ~0.015 ETH/mo | | Production | Unlimited | ~0.062 ETH/mo | `register_agent` · `check_balance` · `pay_upgrade` · `create_wallet` · `register_robot` · `update_agent` · `get_agent_info` --- ### 🔍 Agent Discovery Discover all available execution modes (mock / simulated / live), robot types, VLA models, and sensor capabilities. Validate tasks with a dry-run before committing to execution. `nwo_health` · `nwo_whoami` · `discover_capabilities` · `dry_run` · `plan_task` --- ### 🔌 ROS2 Bridge (Physical Robots) Connect directly to physical robots over the ROS2 bridge. Send joint commands, submit action sequences, and trigger emergency stops on one or all robots within 10ms. Supported: UR5e, Panda, Spot, Unitree G1, and more. `ros2_list_robots` · `ros2_robot_status` · `ros2_send_command` · `ros2_submit_action` · `ros2_emergency_stop` · `ros2_emergency_stop_all` · `ros2_get_robot_types` --- ### 🧪 Physics Simulation Simulate trajectories, check for collisions, estimate joint torques, validate grasps, and plan collision-free motions with MoveIt2 — before touching real hardware. `simulate_trajectory` · `check_collision` · `estimate_torques` · `validate_grasp` · `plan_motion` · `get_scene_library` · `generate_scene` --- ### 📐 Embodiment & Calibration Browse the robot embodiment registry (DOF, joint limits, sensors), download URDF models, get normalization parameters for VLA inference, and run automatic joint calibration. `list_embodiments` · `get_robot_specs` · `get_normalization` · `download_urdf` · `get_test_results` · `compare_robots` · `run_calibration` · `calibrate_confidence` --- ### 🧠 Online RL & Fine-Tuning Start online reinforcement learning sessions, stream state/action/reward telemetry, build fine-tuning datasets from logged runs, and launch LoRA fine-tuning jobs on any base VLA model. `start_rl_training` · `submit_rl_telemetry` · `create_finetune_dataset` · `start_finetune_job` --- ### 🖐️ Tactile Sensing (ORCA Hand) Read 256-taxel tactile sensor arrays from the ORCA robot hand, assess grip quality and object texture, and detect slip in real time to prevent dropped objects. `read_tactile` · `process_tactile` · `detect_slip` --- ### 📦 Dataset Hub Access 1.54 million+ human robot demonstrations for the Unitree G1 humanoid (430+ hours, LeRobot-compatible format) for training and fine-tuning. `list_datasets` --- ### 🫀 Cardiac Blockchain Identity (Base Mainnet) Register AI agents on Base mainnet and receive a permanent soul-bound Digital ID (`rootTokenId`). Issue verifiable credentials for task authorization, swarm control, location access, and payments — all gasless via the NWO relayer. Smart contracts deployed on Base Mainnet (Chain ID 8453): - `NWOIdentityRegistry` — `0x78455AFd5E5088F8B5fecA0523291A75De1dAfF8` - `NWOAccessController` — `0x29d177bedaef29304eacdc63b2d0285c459a0f50` - `NWOPaymentProcessor` — `0x4afa4618bb992a073dbcfbddd6d1aebc3d5abd7c` `cardiac_register_agent` · `cardiac_identify_agent` · `cardiac_renew_key` · `cardiac_issue_credential` · `cardiac_check_credential` · `cardiac_grant_access` · `cardiac_get_nonce` · `cardiac_check_access` · `cardiac_payment_process` --- ### 🔮 Cardiac Oracle Validate ECG biometric data from smartwatches to authenticate human identities, compute cardiac hashes, and verify recent validations. `oracle_health` · `oracle_validate_ecg` · `oracle_hash_ecg` · `oracle_verify` --- ## Supported Robot Models | Model | Type | Capabilities | |-------|------|--------------| | `xiaomi-robotics-0` | VLA | Grasp, navigate, manipulate | | `pi05` | VLA | General manipulation | | `groot_n1.7` | VLA | Humanoid control | | `deepseek-ocr-2b` | OCR | Label reading, text recognition | --- ## Example Usage **Pick and place:** > "Pick up the red box from the table and place it on shelf B" **Sensor query:** > "What is the temperature in warehouse zone 3?" **Safety:** > "Run a safety check before moving robot_001 to the loading dock" **Swarm:** > "Deploy all available robots to patrol the perimeter" **Learning:** > "What grip technique should I use for fragile glass objects?" --- ## Links - 🌐 [NWO Capital](https://nwo.capital) - 📄 [Agent Skill File](https://nwo.capital/webapp/agent.md) - 📖 [API Docs](https://nwo.capital/webapp/nwo-robotics.html) - 🧬 [Cardiac SDK](https://github.com/RedCiprianPater/nwo-cardiac-sdk) - 🔑 [Get API Key](https://nwo.capital/webapp/api-key.php) - 🤗 [Live Demo](https://huggingface.co/spaces/PUBLICAE/nwo-robotics-api-demo) - 📜 [OpenAPI Spec](https://nwo.capital/openapi.yaml) --- ## Support 📧 support@nwo.capital
devcham avatar
JackTrade CRM

co.jacktrade/jacktrade-crm

Search customers, manage quotes, work orders, action items, and calendar events for your business
codmir avatar
Codmir

codmir/codmir

AI-powered task execution, tickets, sprints, error debugging, and desktop control.
chenyuan35 avatar
AI Reasoning Commons

com.aineedhelpfromotherai/reasoning-commons

Search, reuse, verify AI reasoning. Task marketplace with leaderboard. Zero-barrier, no auth.
attrove avatar
Attrove

com.attrove/mcp

Search Gmail, Slack, Outlook, Google Calendar, and meetings — one MCP, one query.
com.flatlandfi avatar
Flatland

com.flatlandfi/flatland

Financial modeling engine for AI agents. Typed P&Ls, scenario analysis, and Excel export.