{
  "version": 1,
  "updated": "2026-11-02",
  "about": "Upstream registry for the Real World MCP gateway. Hand-edited except the generated `stdio` list. After any edit run `node scripts/sync_upstreams.mjs` (add --offline to skip the network), which refreshes upstream-tools.json and api/lib/upstreams.data.js. See GATEWAY.md.",
  "featured": [
    "satnogs.satellite",
    "satnogs.observations",
    "global_meteor_network.latest_meteors",
    "usgs_earthquakes.recent",
    "nws.forecast",
    "noaa_tides.tides_near",
    "adsb_lol.aircraft_near",
    "uniprot.search_proteins",
    "lichess.daily_puzzle"
  ],
  "spend_ceilings_usd": {},
  "spend_ceilings_note": "Per-call caps in USD for spend-guarded tools, keyed by tool id. Empty means every paid or outbound tool only dry-runs. Execution also needs GATEWAY_SPEND_ENABLED=1. Connor sets these.",
  "credits": {
    "note": "Prepaid credits for paid calls (api/_lib/credits.js). Inert unless RWM_CREDITS_ENABLED=1 and GATEWAY_SPEND_ENABLED=1. Env RWM_FEE_PCT and RWM_FEE_FLAT_USD override the fee. quotes[id] prices one spend tool: {fixed_usd} or {dry_run_tool, dry_run_args, price_field, price_unit: usd|cents}, plus optional ref_field (path to the provider reference in the result). A spend tool without a quote never executes on credits.",
    "fee_pct": 10,
    "fee_flat_usd": 0.5,
    "top_up_usd": [
      25,
      100,
      500
    ],
    "quotes": {}
  },
  "local": {
    "kind": "local",
    "source": "catalog.json",
    "note": "Free keyless public APIs run by our own adapters (api/lib/adapters.js). Every catalog tool with live:true is callable through call_tool. Only the ids in `featured` also appear directly in tools/list."
  },
  "remote": [
    {
      "slug": "commutescout",
      "name": "CommuteScout",
      "category": "Vehicles & maps",
      "what": "Live US road conditions: CHP incidents, Caltrans closures, chain controls, cameras, wildfires near highways, trip planning and NWS weather for drivers.",
      "url": "https://mcp.commutescout.com/mcp",
      "homepage": "https://commutescout.com/mcp",
      "status": "federated",
      "auth": {
        "type": "none"
      },
      "billing": {
        "modes": [
          "free"
        ],
        "default": "free"
      },
      "exclude": [
        "get_my_places"
      ],
      "policies": {},
      "attribution": "Data: CommuteScout (commutescout.com) and the agency named in each record's source (CHP, Caltrans, state DOTs, NWS).",
      "terms": {
        "url": "https://commutescout.com/terms",
        "note": "Terms allow use without a key; asks for no abusive volume and no bypassing limits. Developers page: credit CommuteScout and the source agency; do not resell or redistribute the raw feeds. Keyless limit is 10,000 requests/day shared per network address, so all gateway users share one allowance until we use a key. get_my_places is user-scoped and excluded on the shared connection."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "ohmywind",
      "name": "OhMyWind",
      "category": "Earth",
      "what": "Marine forecasts, tidal streams and sailing passage planning for European coasts.",
      "url": "https://mcp.ohmywind.fr/mcp",
      "homepage": "https://ohmywind.fr",
      "status": "federated",
      "auth": {
        "type": "none"
      },
      "billing": {
        "modes": [
          "free"
        ],
        "default": "free"
      },
      "policies": {},
      "attribution": "Data: OhMyWind (ohmywind.fr); forecasts from Open-Meteo (CC BY 4.0), tidal atlases from SHOM (Licence Ouverte 2.0).",
      "terms": {
        "url": "https://github.com/qdonnars/ohmywind",
        "note": "Code AGPL-3.0 (applies to serving a modified copy; we forward calls to their hosted endpoint and host none of their code). Data licensed per provider; raw MARC NetCDF is not redistributed by their tools. No terms page found that forbids relaying tool results; marked check."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "aquaview",
      "name": "AQUAVIEW",
      "category": "Earth",
      "what": "Search and pull 268K+ oceanographic, atmospheric and marine datasets (NOAA, NDBC, IOOS, WOD, CoastWatch and more).",
      "url": "https://mcp.aquaview.org/mcp",
      "homepage": "https://aquaview.org",
      "status": "federated",
      "auth": {
        "type": "none"
      },
      "billing": {
        "modes": [
          "free"
        ],
        "default": "free"
      },
      "policies": {},
      "attribution": "Data: AQUAVIEW (aquaview.org) and the source collection named in each record.",
      "terms": {
        "url": "https://github.com/AQUAVIEW-DAH/mcp",
        "note": "Public remote server, MIT-licensed; README invites any MCP client to connect. aquaview.org/terms returned 404 on 2026-11-02 (check)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "pcbparts",
      "name": "pcbparts",
      "category": "Make things",
      "what": "JLCPCB parts search, stock, pinouts, alternatives, PCB design rules and open reference board schematics.",
      "url": "https://pcbparts.dev/mcp",
      "homepage": "https://pcbparts.dev",
      "status": "federated",
      "auth": {
        "type": "none"
      },
      "billing": {
        "modes": [
          "free"
        ],
        "default": "free"
      },
      "exclude": [
        "mouser_get_part",
        "digikey_get_part",
        "cse_search",
        "cse_get_kicad"
      ],
      "policies": {},
      "attribution": "Data: pcbparts.dev (MIT) with JLCPCB / EasyEDA part data.",
      "terms": {
        "url": "https://github.com/Averyy/pcbparts-mcp",
        "note": "MIT, public stateless endpoint. Excluded: mouser_get_part and digikey_get_part (a shared daily limit funded by distributor API keys; relaying many users through one gateway would drain it, and those distributor API terms are not ours to extend), cse_search and cse_get_kicad (up to 45 s, longer than our 15 s function limit)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "afn",
      "name": "Agentic Fabrication Network",
      "category": "Make things",
      "what": "Material guidance and the live capability catalog of a US fabrication network; quotes and orders from independent shops.",
      "url": "https://agenticfabricationnetwork.ai/mcp",
      "homepage": "https://agenticfabricationnetwork.ai",
      "status": "federated",
      "auth": {
        "type": "none"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "exclude": [
        "preview_quote",
        "poll_quote",
        "list_orders",
        "get_order_status",
        "reply_to_maker",
        "leave_review"
      ],
      "policies": {
        "get_fabrication_quote": {
          "level": "spend",
          "why": "Sends your design to independent fabrication shops for pricing (outbound contact)."
        },
        "refine_quote": {
          "level": "spend",
          "why": "Re-asks fabrication shops for prices (outbound contact)."
        },
        "finalize_quote": {
          "level": "spend",
          "why": "Waits on shop pricing for a quote you started."
        },
        "create_checkout": {
          "level": "spend",
          "why": "Creates an order and a payment link."
        }
      },
      "attribution": "Data: Agentic Fabrication Network (FabNet AI Inc.).",
      "terms": {
        "url": "https://agenticfabricationnetwork.ai/terms",
        "note": "No clause against relaying. Quotes ask real shops for prices, so quote and checkout tools sit behind the spend guard. Order tools (list_orders, get_order_status, reply_to_maker, leave_review) and internal rails (preview_quote, poll_quote) are excluded: on a shared unauthenticated connection they would mix different users' orders."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "where_is_my_train",
      "name": "Where Is My Train (NYC subway)",
      "category": "Vehicles & maps",
      "what": "NYC subway arrivals, alerts, disruptions, transfers and elevator outages from MTA GTFS-realtime.",
      "url": "https://whereismytrainmcp-production.up.railway.app/mcp",
      "homepage": "https://github.com/sasabasara/where_is_my_train_mcp",
      "status": "federated",
      "auth": {
        "type": "none"
      },
      "billing": {
        "modes": [
          "free"
        ],
        "default": "free"
      },
      "policies": {},
      "attribution": "Data: MTA GTFS-realtime via where-is-my-train (MIT; not affiliated with or endorsed by the MTA).",
      "terms": {
        "url": "https://github.com/sasabasara/where_is_my_train_mcp",
        "note": "MIT community server on Railway, session-based Streamable HTTP. Hobby hosting: availability not guaranteed."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "dryos",
      "name": "Dryos",
      "category": "Energy",
      "what": "Live US power market data: real-time and day-ahead prices, load and generation across ERCOT, MISO, PJM, SPP, CAISO, NYISO and ISO-NE.",
      "url": "https://api.dryos.ai/mcp",
      "homepage": "https://www.dryos.ai/mcp",
      "status": "federated",
      "auth": {
        "type": "none"
      },
      "billing": {
        "modes": [
          "free"
        ],
        "default": "free"
      },
      "policies": {},
      "attribution": "Data: Dryos (dryos.ai), collected from the publishing grid operator.",
      "terms": {
        "url": "https://www.dryos.ai/mcp",
        "note": "Advertised as a free, public, read-only server with no key and no sign-up. No terms page found (/terms 404, check)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "aftership",
      "name": "AfterShip Tracking",
      "category": "Mail & print",
      "what": "Track a parcel by tracking number across 1,200+ carriers, with automatic carrier detection.",
      "url": "https://mcp.aftership.com/tracking/public",
      "homepage": "https://www.aftership.com",
      "status": "federated",
      "auth": {
        "type": "none"
      },
      "billing": {
        "modes": [
          "free"
        ],
        "default": "free"
      },
      "exclude": [
        "get_returns_demo"
      ],
      "policies": {
        "track_shipment": {
          "level": "read",
          "why": "Looks up a tracking number. Annotated destructive upstream, but it only reads tracking status."
        }
      },
      "attribution": "Powered by AfterShip (aftership.com).",
      "terms": {
        "url": "https://www.aftership.com/terms",
        "note": "Keyless public endpoint: initialize and tools/list answered 200 without auth on 2026-11-02. AfterShip's own terms for this endpoint were not found (check). Third-party listings (mcp.so) describe it as free for personal, non-commercial, interactive use, with no bulk lookups or automated scripts. Real World MCP charges nothing for it and every answer keeps AfterShip's 'Powered by AfterShip' line. get_returns_demo (merchant sales demo, annotated destructive) is excluded. Confirm with AfterShip before volume grows; one line here turns it into a referral."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "kaicalls",
      "name": "KaiCalls",
      "category": "Calls",
      "what": "AI phone agents: calls, transcripts, leads, numbers and campaigns from your KaiCalls account.",
      "url": "https://www.kaicalls.com/api/mcp",
      "homepage": "https://www.kaicalls.com",
      "status": "needs_credentials",
      "auth": {
        "type": "oauth",
        "metadata_url": "https://www.kaicalls.com/.well-known/oauth-authorization-server",
        "issuer": "https://www.kaicalls.com",
        "scopes": [
          "agents:read",
          "calls:read",
          "calls:write",
          "numbers:read",
          "leads:write"
        ],
        "alt": {
          "type": "api_key",
          "header": "Authorization",
          "scheme": "Bearer"
        }
      },
      "billing": {
        "modes": [
          "user_account",
          "our_account"
        ],
        "default": "user_account"
      },
      "policies": {
        "check_call_status": {
          "level": "read"
        },
        "check_email_sender": {
          "level": "read"
        },
        "get_activation_status": {
          "level": "read"
        },
        "get_agency_workspace": {
          "level": "read"
        },
        "get_analytics": {
          "level": "read"
        },
        "get_balance": {
          "level": "read"
        },
        "get_business_info": {
          "level": "read"
        },
        "get_business_verification": {
          "level": "read"
        },
        "get_call_recording": {
          "level": "read"
        },
        "get_change_history": {
          "level": "read"
        },
        "get_channel_status": {
          "level": "read"
        },
        "get_checkout_status": {
          "level": "read"
        },
        "get_conversation": {
          "level": "read"
        },
        "get_email_campaign": {
          "level": "read"
        },
        "get_extra_number_status": {
          "level": "read"
        },
        "get_lead": {
          "level": "read"
        },
        "get_lsa_account_report": {
          "level": "read"
        },
        "get_lsa_conversations": {
          "level": "read"
        },
        "get_lsa_report": {
          "level": "read"
        },
        "get_lsa_setup": {
          "level": "read"
        },
        "get_meeting": {
          "level": "read"
        },
        "get_operational_settings": {
          "level": "read"
        },
        "get_phone_flow": {
          "level": "read"
        },
        "get_phone_system_status": {
          "level": "read"
        },
        "get_setup_checklist": {
          "level": "read"
        },
        "get_setup_recovery_status": {
          "level": "read"
        },
        "get_text_registration": {
          "level": "read"
        },
        "get_transcript": {
          "level": "read"
        },
        "get_trust_level": {
          "level": "read"
        },
        "get_usage": {
          "level": "read"
        },
        "get_webhook": {
          "level": "read"
        },
        "get_whatsapp_status": {
          "level": "read"
        },
        "list_agents": {
          "level": "read"
        },
        "list_campaigns": {
          "level": "read"
        },
        "list_config_versions": {
          "level": "read"
        },
        "list_conversations": {
          "level": "read"
        },
        "list_evals": {
          "level": "read"
        },
        "list_knowledge": {
          "level": "read"
        },
        "list_leads": {
          "level": "read"
        },
        "list_lsa_leads": {
          "level": "read"
        },
        "list_numbers": {
          "level": "read"
        },
        "list_observability_events": {
          "level": "read"
        },
        "list_overage_charges": {
          "level": "read"
        },
        "list_plans": {
          "level": "read"
        },
        "list_products": {
          "level": "read"
        },
        "list_recent_calls": {
          "level": "read"
        },
        "list_rightsize_recommendations": {
          "level": "read"
        },
        "list_sms_messages": {
          "level": "read"
        },
        "list_subscription_history": {
          "level": "read"
        },
        "list_tool_execution_logs": {
          "level": "read"
        },
        "list_voicemails": {
          "level": "read"
        },
        "list_voices": {
          "level": "read"
        },
        "list_workflow_templates": {
          "level": "read"
        },
        "search_available_numbers": {
          "level": "read"
        },
        "make_call": {
          "level": "spend",
          "why": "Places a real phone call to a person or business."
        },
        "launch_call_campaign": {
          "level": "spend",
          "why": "Starts outbound calls."
        },
        "launch_email_campaign": {
          "level": "spend",
          "why": "Sends email to recipients."
        },
        "approve_email_campaign": {
          "level": "spend",
          "why": "Releases an email campaign."
        },
        "send_sms": {
          "level": "spend",
          "why": "Sends a text message."
        },
        "send_message": {
          "level": "spend",
          "why": "Sends a message to a person."
        },
        "send_lsa_reply": {
          "level": "spend",
          "why": "Replies to a customer lead."
        },
        "buy_number": {
          "level": "spend",
          "why": "Buys a phone number."
        },
        "request_number_purchase": {
          "level": "spend",
          "why": "Buys a phone number."
        },
        "request_extra_number": {
          "level": "spend",
          "why": "Adds a paid number."
        },
        "create_checkout": {
          "level": "spend",
          "why": "Starts a purchase."
        },
        "start_text_registration_checkout": {
          "level": "spend",
          "why": "Starts a paid registration."
        },
        "join_meeting": {
          "level": "spend",
          "why": "Joins a live meeting."
        },
        "upsert_lead": {
          "level": "write",
          "why": "Creates or updates a lead in the account."
        },
        "upsert_knowledge": {
          "level": "write",
          "why": "Changes what the phone agent knows."
        },
        "upsert_product": {
          "level": "write",
          "why": "Changes a product in the account."
        },
        "draft_email_campaign": {
          "level": "write",
          "why": "Saves an email campaign draft (nothing is sent)."
        },
        "create_campaign": {
          "level": "write",
          "why": "Creates a call campaign (nothing is dialled until it is launched)."
        },
        "pause_call_campaign": {
          "level": "write",
          "why": "Pauses outbound calls."
        },
        "cancel_email_campaign": {
          "level": "write",
          "why": "Cancels a scheduled email campaign."
        },
        "leave_meeting": {
          "level": "write",
          "why": "Leaves a live meeting."
        },
        "rate_lsa_lead": {
          "level": "write",
          "why": "Rates a Google Local Services lead."
        },
        "set_conversation_owner": {
          "level": "write",
          "why": "Assigns a conversation to a person."
        },
        "set_webhook": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "delete_webhook": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "request_transcript_webhook": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "update_phone_flow": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "set_owner_phone": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "add_team_phone": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "attach_number": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "detach_number": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "update_agent_config": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "request_agent_update": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "rollback_config": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "request_config_rollback": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "set_branded_caller_id": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "configure_agent_business_rules": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "configure_staff_alerts": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "configure_textable_links": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "confirm_notification_destination": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "choose_customer_route": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "connect_whatsapp": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "create_agent": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "create_customer_workspace": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "set_up_business": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "set_up_phone_system": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "submit_text_registration": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "save_text_registration_details": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "request_emergency_address": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "retry_setup": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "retry_activation_notification": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "recheck_trust_level": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "request_email_sender": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "record_email_consent": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "revoke_email_consent": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "sync_lsa": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "run_eval": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "report_issue": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_billing_accept_terms": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_billing_freeze_period": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_billing_publish_terms": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_billing_record_adjustment": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_billing_set_automatic_collection": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_billing_set_plan": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_billing_setup_collection": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_care_launch_review": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_care_prepare_review": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_care_preview_review": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_enrollment_approve_owner": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_enrollment_claim_owner": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_enrollment_create": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_enrollment_enroll": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_enrollment_finish_self_service": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_enrollment_owner_save": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_enrollment_preview": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_enrollment_revoke": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_enrollment_rotate_owner_link": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_enrollment_save": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_enrollment_start_self_service": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_apply_update": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_approve": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_approve_handoff": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_approve_route_receipt": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_approve_update": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_export": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_offboard": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_opt_into_canary": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_owner_preview": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_pause": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_preview_handoff": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_preview_offboard": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_preview_route_receipt": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_preview_update": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_resolve_update": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_retry": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_revoke_approval": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_installation_run_scenarios": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_offer_archive": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_offer_preview": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_offer_publish": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_offer_save": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_profile_accept_invite": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_profile_assign": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_profile_bootstrap": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_profile_invite": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_profile_issue_key": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_profile_revoke_invite": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_profile_revoke_member": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_profile_unassign": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_profile_update": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_report_configure": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_report_generate": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_support_acknowledge": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_support_complete_exercise": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        },
        "agency_support_measure": {
          "level": "blocked",
          "why": "Changes account configuration, routing, webhooks, billing or ownership. Not available through Real World MCP; use KaiCalls directly."
        }
      },
      "attribution": "KaiCalls (kaicalls.com), operated by Real World MCP's maker.",
      "terms": {
        "url": "https://www.kaicalls.com",
        "note": "Ours, and the flagship upstream. First provider able to move to our_account billing. OAuth discovery verified 2026-11-02: authorization_code + refresh_token, PKCE S256, client ID metadata documents supported. tools/list answers without a token (verified 2026-11-02), so its tools are snapshotted and searchable; calling any of them still needs the user's own KaiCalls account through the credential path (GATEWAY_CREDENTIALS_ENABLED, off). make_call and every outbound or billing tool is spend-guarded and paid from prepaid credits first."
      },
      "verified_at": "2026-11-02",
      "flagship": true,
      "public_tools_list": true,
      "policies_note": "Allowlist: a KaiCalls tool not listed here is blocked. Classified 2026-11-02 from the KaiCalls MCP tool list."
    },
    {
      "slug": "mapbox",
      "name": "Mapbox",
      "category": "Vehicles & maps",
      "what": "Geocoding, directions, isochrones, static maps and POI search from Mapbox's hosted MCP server.",
      "url": "https://mcp.mapbox.com/mcp",
      "homepage": "https://github.com/mapbox/mcp-server",
      "status": "needs_credentials",
      "auth": {
        "type": "api_key",
        "header": "Authorization",
        "scheme": "Bearer",
        "label": "Mapbox access token"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "policies": {},
      "attribution": "© Mapbox © OpenStreetMap.",
      "terms": {
        "url": "https://www.mapbox.com/legal/tos",
        "note": "401 without a token (OAuth metadata advertised). Usage bills to the user's own Mapbox account. check: Mapbox product terms on caching and redistribution before any shared-account use."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "open_ephemeris",
      "name": "Open Ephemeris",
      "category": "Sky & space",
      "what": "Planet, moon and sky positions and ephemeris calculations.",
      "url": "https://mcp.openephemeris.com/mcp",
      "homepage": "https://github.com/openephemeris/openephemeris-MCP",
      "status": "needs_credentials",
      "auth": {
        "type": "api_key",
        "header": "X-API-Key",
        "label": "Open Ephemeris API key (free at openephemeris.com/dashboard)"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "policies": {},
      "attribution": "Open Ephemeris (openephemeris.com).",
      "terms": {
        "url": "https://openephemeris.com",
        "note": "401 without a key; the error says a free key is available. Terms not reviewed (check)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "mailbox_bot",
      "name": "mailbox.bot",
      "category": "Mail & print",
      "what": "A postal mailbox for agents: scanned inbound mail, outbound letters and batch mail.",
      "url": "https://mailbox.bot/api/mcp",
      "homepage": "https://github.com/arbengine/mailbox-mcp",
      "status": "needs_credentials",
      "auth": {
        "type": "api_key",
        "header": "Authorization",
        "scheme": "Bearer",
        "label": "mailbox.bot API key"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "policies": {
        "send_outbound_mail": {
          "level": "spend",
          "why": "Sends physical mail."
        },
        "send_text_letter": {
          "level": "spend",
          "why": "Sends a physical letter."
        },
        "create_batch_mail": {
          "level": "spend",
          "why": "Prepares paid batch mail."
        },
        "confirm_batch_mail": {
          "level": "spend",
          "why": "Sends paid batch mail."
        },
        "request_inbound_action": {
          "level": "spend",
          "why": "Asks the facility to forward or act on mail."
        },
        "send_facility_message": {
          "level": "spend",
          "why": "Messages facility staff."
        }
      },
      "attribution": "mailbox.bot.",
      "terms": {
        "url": "https://mailbox.bot",
        "note": "initialize and tools/list answer without a key (55 tools); every account tool needs the user's key. Terms not reviewed (check)."
      },
      "verified_at": "2026-11-02",
      "policies_note": "Allowlist: a mailbox.bot tool not listed here is blocked. Only the paid/outbound tools are classified so far; read tools need classifying from its tools/list before they can run."
    },
    {
      "slug": "heypcb",
      "name": "HeyPCB",
      "category": "Make things",
      "what": "PCB design assistance and ordering.",
      "url": "https://api.heypcb.ai/mcp",
      "homepage": "https://github.com/HeyPCB/heypcb-mcp",
      "status": "needs_credentials",
      "auth": {
        "type": "oauth",
        "metadata_url": "https://api.heypcb.ai/.well-known/oauth-protected-resource",
        "alt": {
          "type": "api_key",
          "header": "Authorization",
          "scheme": "Bearer"
        }
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "default_level": "spend",
      "policies": {},
      "attribution": "HeyPCB.",
      "terms": {
        "url": "https://heypcb.ai",
        "note": "401 bearer_required. Terms not reviewed (check). Non-read tools default to the spend guard."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "abrp",
      "name": "A Better Routeplanner (community MCP)",
      "category": "Vehicles & maps",
      "what": "EV route planning with charging stops.",
      "url": "https://abrp-mcp.vercel.app/mcp",
      "homepage": "https://github.com/Casperjuel/abrp-mcp",
      "status": "needs_credentials",
      "auth": {
        "type": "api_key",
        "header": "X-API-KEY",
        "label": "ABRP API key"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "policies": {},
      "attribution": "A Better Routeplanner via a community MCP server.",
      "terms": {
        "url": "https://github.com/Casperjuel/abrp-mcp",
        "note": "401 without key or OAuth. Community server, not ABRP itself (check ABRP API terms)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "shippo",
      "name": "Shippo",
      "category": "Mail & print",
      "what": "Shipping rates, labels and tracking.",
      "url": "https://mcp.shippo.com",
      "homepage": "https://github.com/goshippo/ai",
      "status": "needs_credentials",
      "auth": {
        "type": "oauth",
        "metadata_url": "https://mcp.shippo.com/.well-known/oauth-protected-resource"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "default_level": "spend",
      "policies": {},
      "attribution": "Shippo.",
      "terms": {
        "url": "https://goshippo.com/terms",
        "note": "401 Missing Bearer token. Label purchases spend money: every non-read tool defaults to the spend guard. Terms not reviewed (check)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "infobip",
      "name": "Infobip SMS",
      "category": "Calls",
      "what": "Send and manage SMS through Infobip.",
      "url": "https://mcp.infobip.com/sms",
      "homepage": "https://github.com/infobip/mcp",
      "status": "needs_credentials",
      "auth": {
        "type": "oauth",
        "metadata_url": "https://mcp.infobip.com/sms/.well-known/oauth-protected-resource"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "default_level": "spend",
      "policies": {},
      "attribution": "Infobip.",
      "terms": {
        "url": "https://www.infobip.com/policies",
        "note": "401 (OAuth, scope sms:manage). Messaging is outbound contact: every non-read tool defaults to the spend guard. Terms not reviewed (check)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "bird",
      "name": "Bird (MessageBird)",
      "category": "Calls",
      "what": "Messaging and voice channels through Bird.",
      "url": "https://mcp.bird.com",
      "homepage": "https://github.com/messagebird/bird-ai",
      "status": "needs_credentials",
      "auth": {
        "type": "oauth",
        "metadata_url": "https://mcp.bird.com/.well-known/oauth-protected-resource"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "default_level": "spend",
      "policies": {},
      "attribution": "Bird.",
      "terms": {
        "url": "https://bird.com/legal",
        "note": "401 no bearer token. Outbound messaging: non-read tools default to the spend guard. Terms not reviewed (check)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "hoplix",
      "name": "Hoplix print on demand",
      "category": "Mail & print",
      "what": "Print-on-demand products and orders.",
      "url": "https://api.hoplix.com/mcp",
      "homepage": "https://github.com/hoplix/hoplix-print-on-demand-mcp",
      "status": "needs_credentials",
      "auth": {
        "type": "oauth",
        "metadata_url": "https://api.hoplix.com/.well-known/oauth-protected-resource/mcp"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "default_level": "spend",
      "policies": {},
      "attribution": "Hoplix.",
      "terms": {
        "url": "https://hoplix.com",
        "note": "401 (OAuth, scope hoplix). Orders spend money: non-read tools default to the spend guard. Terms not reviewed (check)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "printhiv3d",
      "name": "PrintHiv3D",
      "category": "Make things",
      "what": "Remote 3D printer fleet control: printers, jobs and telemetry.",
      "url": "https://api.printhiv3d.com/v1/mcp",
      "homepage": "https://printhiv3d.com/mcp",
      "status": "needs_credentials",
      "auth": {
        "type": "oauth",
        "metadata_url": "https://api.printhiv3d.com/.well-known/oauth-protected-resource"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "default_level": "spend",
      "policies": {},
      "attribution": "PrintHiv3D.",
      "terms": {
        "url": "https://printhiv3d.com",
        "note": "401 invalid_token. Starts physical print jobs: non-read tools default to the spend guard. Terms not reviewed (check)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "xweather",
      "name": "Xweather",
      "category": "Earth",
      "what": "Weather, lightning and storm data from Vaisala Xweather.",
      "url": "https://mcp.api.xweather.com/mcp",
      "homepage": "https://www.xweather.com",
      "status": "needs_credentials",
      "auth": {
        "type": "api_key",
        "header": "Authorization",
        "scheme": "Bearer",
        "label": "Xweather credentials (check format)"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "policies": {},
      "attribution": "Vaisala Xweather.",
      "terms": {
        "url": "https://www.xweather.com/legal",
        "note": "401 with an empty body and no WWW-Authenticate header; credential format unconfirmed (check)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "myteslamate",
      "name": "TeslaMate MCP (MyTeslaMate)",
      "category": "Vehicles & maps",
      "what": "Tesla vehicle data and commands through MyTeslaMate.",
      "url": "https://mcp.myteslamate.com/mcp",
      "homepage": "https://github.com/MyTeslaMate/mcp-tesla",
      "status": "needs_credentials",
      "auth": {
        "type": "oauth",
        "metadata_url": "https://mcp.myteslamate.com/.well-known/oauth-protected-resource"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "default_level": "spend",
      "policies": {},
      "attribution": "MyTeslaMate.",
      "terms": {
        "url": "https://www.myteslamate.com",
        "note": "401 invalid_token. Vehicle commands move a real car: non-read tools default to the spend guard. Terms not reviewed (check)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "skyfi",
      "name": "SkyFi",
      "category": "Sky & space",
      "what": "Satellite imagery archive and tasking orders.",
      "url": "https://mcp.skyfi.com/mcp",
      "homepage": "https://skyfi.com/en/mcp",
      "status": "referral",
      "auth": {
        "type": "oauth"
      },
      "billing": {
        "modes": [],
        "default": null
      },
      "policies": {},
      "terms": {
        "url": "https://skyfi.com/en/terms-of-service",
        "note": "Not proxied. ToS 5(a)(iv) bars a service bureau or managed-service basis and EULA 2.2(d) bars providing access to products. Agents should add SkyFi's own MCP. Catalog tools skyfi.* stay listed and spend-guarded."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "adaptyv_bio",
      "name": "Adaptyv Bio",
      "category": "Labs & biology",
      "what": "Protein binding, expression and stability assays.",
      "url": "https://mcp.adaptyvbio.com/mcp/",
      "homepage": "https://adaptyvbio.com",
      "status": "referral",
      "auth": {
        "type": "oauth"
      },
      "billing": {
        "modes": [],
        "default": null
      },
      "policies": {},
      "terms": {
        "url": "https://adaptyvbio.com/terms",
        "note": "Not proxied. Terms research recommends referral only: Adaptyv runs its own MCP, and biosecurity accountability sits with the person who orders. Catalog tool adaptyv_bio.submit_experiment stays listed and spend-guarded."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "ringahuman",
      "name": "Ring a Human",
      "category": "Calls",
      "what": "Agents phone real people.",
      "url": "https://ringahuman.com/mcp",
      "homepage": "https://ringahuman.com",
      "status": "referral",
      "auth": {
        "type": "oauth"
      },
      "billing": {
        "modes": [],
        "default": null
      },
      "policies": {},
      "terms": {
        "url": "https://ringahuman.com",
        "note": "Not proxied: every core action contacts a person (401 OAuth on 2026-11-02)."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "placecall",
      "name": "PlaceCall (Voygr)",
      "category": "Calls",
      "what": "Agents phone businesses.",
      "url": "https://api.voygr.tech/mcp",
      "homepage": "https://github.com/voygr-tech/placecall",
      "status": "referral",
      "auth": {
        "type": "api_key"
      },
      "billing": {
        "modes": [],
        "default": null
      },
      "policies": {},
      "terms": {
        "url": "https://github.com/voygr-tech/placecall",
        "note": "Not proxied or probed: its purpose is to call businesses."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "tle_api",
      "name": "TLE API",
      "category": "Sky & space",
      "what": "Satellite two-line elements.",
      "url": "https://tle.ivanstanojevic.me/mcp",
      "homepage": "https://github.com/ivanstan/tle-api",
      "status": "rejected",
      "auth": {
        "type": "none"
      },
      "billing": {
        "modes": [],
        "default": null
      },
      "policies": {},
      "terms": {
        "url": "https://github.com/ivanstan/tle-api",
        "note": "Rejected for now: legacy HTTP+SSE transport (POST is 405, GET opens an SSE stream with an endpoint event). A stateless serverless gateway cannot hold that stream. Its REST API is a candidate local adapter."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "vapi_docs",
      "name": "Vapi docs search",
      "category": "Calls",
      "what": "Documentation search for Vapi.",
      "url": "https://docs.vapi.ai/_mcp/server",
      "homepage": "https://docs.vapi.ai",
      "status": "rejected",
      "auth": {
        "type": "none"
      },
      "billing": {
        "modes": [],
        "default": null
      },
      "policies": {},
      "terms": {
        "url": "https://docs.vapi.ai",
        "note": "Rejected: works (1 tool, searchDocs) but it is a docs search, not a real-world resource."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "instacart",
      "name": "Instacart Developer Platform",
      "category": "Food & delivery",
      "what": "Create Instacart recipe and shopping-list pages that a person opens to shop and check out on Instacart.",
      "url": "https://mcp.instacart.com/mcp",
      "homepage": "https://docs.instacart.com/developer_platform_api/guide/tutorials/mcp",
      "status": "needs_credentials",
      "auth": {
        "type": "api_key",
        "header": "Authorization",
        "scheme": "Bearer",
        "label": "Instacart Developer Platform API key"
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "public_tools_list": true,
      "default_level": "write",
      "policies": {},
      "attribution": "Instacart Developer Platform.",
      "terms": {
        "url": "https://docs.instacart.com/developer_platform_api/",
        "note": "initialize and tools/list answer without a key (2026-11-02, tools create-recipe and create-shopping-list), but Instacart's docs say to pass your Developer Platform API key as an Authorization header, so calls need your own key. The tools only create a page; the person orders and pays on Instacart. The consumer server fig-mcp.instacart.com is OAuth (scope connect:fig_mcp) and is not proxied."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "letsfg",
      "name": "LetsFG",
      "category": "Travel",
      "what": "Search and book flights and hotels; bookings hold the fare on the person's card until a real airline PNR or hotel confirmation exists.",
      "url": "https://letsfg.co/mcp",
      "homepage": "https://letsfg.co/for-agents",
      "status": "needs_credentials",
      "auth": {
        "type": "oauth",
        "metadata_url": "https://letsfg.co/.well-known/oauth-protected-resource/mcp",
        "scopes": [
          "flights:search",
          "hotels:search"
        ]
      },
      "billing": {
        "modes": [
          "user_account"
        ],
        "default": "user_account"
      },
      "default_level": "spend",
      "policies": {},
      "attribution": "LetsFG (letsfg.co).",
      "terms": {
        "url": "https://github.com/LetsFG/LetsFG",
        "note": "Remote MCP needs a token: initialize answered 401 with resource metadata (2026-11-02). OAuth scopes advertised: flights:search, flights:book, hotels:search, hotels:book. The README calls its Developer API the paid route for commercial products and states no reseller policy (check). Tool names need a token to list, so every tool defaults to the spend guard. Bookings spend money."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "doordash",
      "name": "DoorDash",
      "category": "Food & delivery",
      "what": "Order food and groceries for delivery from the person's own DoorDash account.",
      "url": "https://openapi.doordash.com/mcp/consumer",
      "homepage": "https://www.doordash.com",
      "status": "referral",
      "auth": {
        "type": "oauth",
        "metadata_url": "https://openapi.doordash.com/.well-known/oauth-protected-resource/mcp/consumer",
        "scopes": [
          "mcp:consumer:write"
        ]
      },
      "billing": {
        "modes": [],
        "default": null
      },
      "default_level": "spend",
      "policies": {},
      "terms": {
        "url": "https://help.doordash.com/legal/document?type=cx-terms-and-conditions&region=US&locale=en-US",
        "note": "Not proxied. Consumer Terms (effective 2026-10-16) say the Services may only be accessed by means DoorDash explicitly authorizes (5(c)) and you may not authorize others to use your account (section 7). The endpoint answered 401 without a token (2026-11-02); auth server identity.doordash.com. The person should add DoorDash's own MCP server. Ordering spends money."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "switchbot",
      "name": "SwitchBot",
      "category": "Home & IoT",
      "what": "Read and control SwitchBot smart-home devices through the SwitchBot cloud API.",
      "url": "https://api.switch-bot.com",
      "homepage": "https://github.com/OpenWonderLabs/SwitchBotAPI",
      "status": "referral",
      "transport": "api",
      "auth": {
        "type": "api_key"
      },
      "billing": {
        "modes": [],
        "default": null
      },
      "policies": {},
      "terms": {
        "url": "https://github.com/OpenWonderLabs/SwitchBotAPI",
        "note": "Not proxied: no official remote MCP server found (community stdio servers only), and the API docs say it is limited to personal use and prohibited for commercial or large-scale use (10,000 calls/day). Use your own token and secret with the API or a self-hosted server."
      },
      "verified_at": "2026-11-02"
    },
    {
      "slug": "lg_thinq",
      "name": "LG ThinQ Connect",
      "category": "Home & IoT",
      "what": "List, read and control LG ThinQ appliances with LG's official ThinQ Connect MCP server.",
      "url": "https://github.com/thinq-connect/thinqconnect-mcp",
      "homepage": "https://github.com/thinq-connect/thinqconnect-mcp",
      "status": "referral",
      "transport": "stdio",
      "install": "uvx thinqconnect-mcp (env THINQ_PAT, THINQ_COUNTRY)",
      "auth": {
        "type": "api_key"
      },
      "billing": {
        "modes": [],
        "default": null
      },
      "policies": {},
      "terms": {
        "url": "https://github.com/thinq-connect/thinqconnect-mcp",
        "note": "Official server is stdio only (PyPI thinqconnect-mcp, Apache-2.0, published by ThinQ Connect at LG); no remote endpoint to federate. Needs the person's own ThinQ personal access token. Run it locally."
      },
      "verified_at": "2026-11-02"
    }
  ],
  "stdio": [
    {
      "slug": "abb_rws_mcp",
      "name": "abb-rws-mcp",
      "category": "Robots & drones",
      "what": "Read the state of an ABB industrial robot controller, read-only.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/ichbinmeraj/abb-rws-mcp",
      "install": "npx -y abb-rws-mcp",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "adif_mcp",
      "name": "adif-mcp",
      "category": "Radio",
      "what": "Read and write amateur-radio contact logs in ADIF format.",
      "transport": "both",
      "auth": "none",
      "repo": "https://github.com/qso-graph/adif-mcp",
      "install": "uvx adif-mcp",
      "license": "GPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "adsb_mcp_server",
      "name": "adsb-mcp-server",
      "category": "Radio",
      "what": "Read aircraft seen by your own ADS-B feeder (readsb / tar1090).",
      "transport": "check",
      "auth": "none",
      "repo": "https://github.com/dirkhh/adsb-mcp-server",
      "install": null,
      "license": "GPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "aetherlink_sdr_mcp",
      "name": "AetherLink-SDR-MCP",
      "category": "Radio",
      "what": "Control an RTL-SDR or HackRF radio: tune, scan spectrum and decode ADS-B aircraft and other signals.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/N-Erickson/AetherLink-SDR-MCP",
      "install": null,
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "agent_call",
      "name": "agent-call",
      "category": "Calls & messaging",
      "what": "Have an agent place real phone calls with OpenAI Realtime and Twilio and report back.",
      "transport": "check",
      "auth": "api_key",
      "repo": "https://github.com/XiyaoWang0519/agent-call",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "agentcall",
      "name": "AgentCall",
      "category": "Calls & messaging",
      "what": "Let an agent make real calls from your own Android phone's SIM.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/sidinsearch/AgentCall",
      "install": null,
      "license": "AGPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "agenticmail",
      "name": "agenticmail",
      "category": "Calls & messaging",
      "what": "Send and receive real email, SMS and phone calls from an agent.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/agenticmail/agenticmail",
      "install": "npx -y @agenticmail/mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "agenticwebinstrumentcontrol",
      "name": "AgenticWebInstrumentControl",
      "category": "Labs & biology",
      "what": "Drive cheap USB bench instruments such as oscilloscopes and power supplies over SCPI.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/mrn2se/AgenticWebInstrumentControl",
      "install": null,
      "license": "MPL-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "agentphone_mcp",
      "name": "agentphone-mcp",
      "category": "Calls & messaging",
      "what": "Give an agent a phone number to make and receive calls and texts.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/AgentPhone-AI/agentphone-mcp",
      "install": "npx -y agentphone-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "agentring",
      "name": "agentring",
      "category": "Calls & messaging",
      "what": "Let an agent ring your phone over VoIP and talk to you.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/mutonby/agentring",
      "install": "claude mcp add agentring -- agentring mcp",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "ambee_mcp",
      "name": "ambee-mcp",
      "category": "Earth",
      "what": "Get live air quality, pollen, weather and wildfire data by location from Ambee.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/ambeelabs/ambee-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "aquaview_dah_mcp",
      "name": "AQUAVIEW-DAH MCP server",
      "category": "Earth",
      "what": "Query ocean and atmosphere datasets from NOAA, IOOS, NDBC buoys and Argo floats.",
      "transport": "http",
      "auth": "api_key",
      "repo": "https://github.com/AQUAVIEW-DAH/mcp",
      "install": "claude mcp add --transport http aquaview https://mcp.aquaview.org/mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "ardupilot_mcp",
      "name": "ardupilot-mcp",
      "category": "Robots & drones",
      "what": "Talk to ArduPilot vehicles over MAVLink, simulator first.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/rmeadomavic/ardupilot-mcp",
      "install": "uvx ardupilot-mavlink-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "astronomy_mcp_server",
      "name": "astronomy-mcp-server",
      "category": "Sky & space",
      "what": "Compute planet and Moon positions, rise and set times, phases and eclipses for any location, offline.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/cyanheads/astronomy-mcp-server",
      "install": "npx -y @cyanheads/astronomy-mcp-server",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "astronomy_oracle",
      "name": "astronomy-oracle",
      "category": "Sky & space",
      "what": "Look up deep-sky objects and plan an observing session for what is visible from your site tonight.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/gregario/astronomy-oracle",
      "install": "npx -y astronomy-oracle",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "atmy_air_quality",
      "name": "Atmy air quality",
      "category": "Earth",
      "what": "Get PM2.5 now, history and forecasts for 300+ cities from 12,000 rated sensors.",
      "transport": "both",
      "auth": "check",
      "repo": "https://atmy.ai/air-quality/api/",
      "install": "npx -y atmy-mcp",
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "aviationstack_mcp",
      "name": "aviationstack-mcp",
      "category": "Vehicles & maps",
      "what": "Get real-time flight status and schedules from AviationStack.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/Pradumnasaraf/aviationstack-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "axion_planetary_mcp",
      "name": "axion-planetary-mcp",
      "category": "Sky & space",
      "what": "Query satellite imagery and Earth observation analyses as a 'virtual satellite' over any area.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/Dhenenjay/axion-planetary-mcp",
      "install": "npm install -g axion-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "bagel",
      "name": "bagel",
      "category": "Robots & drones",
      "what": "Ask questions of robot, drone and IoT logs (ROS bags, PX4 logs) in plain English.",
      "transport": "both",
      "auth": "none",
      "repo": "https://github.com/Extelligence-ai/bagel",
      "install": "docker run -i --rm ghcr.io/extelligence-ai/bagel/ros2-kilted:2.4.1",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "bambu_mcp",
      "name": "bambu-mcp",
      "category": "Make things",
      "what": "Manage a fleet of Bambu Lab printers: start, pause and monitor jobs.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/griches/bambu-mcp",
      "install": "claude mcp add bambu -- npx @griches/bambu-mcp",
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "bambu_printer_mcp",
      "name": "bambu-printer-mcp",
      "category": "Make things",
      "what": "Slice STL files and send, start and watch prints on Bambu Lab 3D printers.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/DMontgomery40/bambu-printer-mcp",
      "install": null,
      "license": "GPL-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "birdnet_go_mcp",
      "name": "birdnet-go-mcp",
      "category": "Earth",
      "what": "Read which birds a BirdNET-Go microphone station has heard and when.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/zax0rz/birdnet-go-mcp",
      "install": "claude mcp add birdnet -- npx -y birdnet-go-mcp serve",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "ble_mcp_server",
      "name": "ble-mcp-server",
      "category": "Home & IoT",
      "what": "Scan, connect and read Bluetooth Low Energy devices.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/es617/ble-mcp-server",
      "install": "uvx ble-mcp-server",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "blink_camera_mcp",
      "name": "blink-camera-mcp",
      "category": "Cameras & sensors",
      "what": "Get clips and status from Blink home cameras.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/AbhijatSaxena/blink-camera-mcp",
      "install": "uvx blink-camera-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "brick_mcp_app",
      "name": "brick-mcp-app",
      "category": "Play",
      "what": "Design LEGO-style brick builds and see them rendered.",
      "transport": "http",
      "auth": "none",
      "repo": "https://github.com/dend/brick-mcp-app",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "brickbuildermcp",
      "name": "BrickBuilderMCP",
      "category": "Play",
      "what": "Design buildable LEGO models as validated LDraw files.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/jonx/BrickBuilderMCP",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "brickscope",
      "name": "brickscope",
      "category": "Play",
      "what": "Identify LEGO parts, sets and minifigures from a photo with Brickognize.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/NazarLysyi/brickscope",
      "install": "npm install -g brickscope",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "bricky",
      "name": "bricky",
      "category": "Play",
      "what": "Compile LEGO models from descriptions for agents.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/maxencefaldor/bricky",
      "install": null,
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "c4mcp",
      "name": "c4mcp",
      "category": "Home & IoT",
      "what": "Control a Control4 smart home in natural language.",
      "transport": "check",
      "auth": "api_key",
      "repo": "https://github.com/oliverpell/c4mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "ccu_mcp",
      "name": "ccu-mcp",
      "category": "Home & IoT",
      "what": "Control HomeMatic devices through a CCU.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/claymore666/ccu-mcp",
      "install": "npx -y ccu-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "copernicus_mcp",
      "name": "copernicus-mcp",
      "category": "Earth",
      "what": "Search and download ESA Copernicus Sentinel satellite products.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/wb1016/copernicus-mcp",
      "install": "docker run -i --rm -e COPERNICUS_REFRESH_TOKEN=<token> copernicus-mcp # stdio",
      "license": "LGPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "corebrum_synapse",
      "name": "corebrum-synapse",
      "category": "Robots & drones",
      "what": "Bridge ROS robots to Claude, Codex and other agents.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/Corebrum/corebrum-synapse",
      "install": null,
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "earthdata_mcp",
      "name": "earthdata-mcp",
      "category": "Sky & space",
      "what": "Search NASA's Earthdata catalogue for satellite datasets and granules covering a place and time.",
      "transport": "http",
      "auth": "none",
      "repo": "https://github.com/nasa/earthdata-mcp",
      "install": null,
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "earthquake_mcp_server",
      "name": "earthquake-mcp-server",
      "category": "Earth",
      "what": "Search USGS and EMSC earthquake feeds and query past quakes by place and magnitude.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/cyanheads/earthquake-mcp-server",
      "install": "npx -y @cyanheads/earthquake-mcp-server",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "easyeda_agent",
      "name": "easyeda-agent",
      "category": "Make things",
      "what": "Automate EasyEDA Pro schematics, PCB layout and checks.",
      "transport": "check",
      "auth": "none",
      "repo": "https://github.com/zhoushoujianwork/easyeda-agent",
      "install": null,
      "license": "other/unspecified",
      "status": "needs_hosting"
    },
    {
      "slug": "eda_agent",
      "name": "eda-agent",
      "category": "Make things",
      "what": "Drive a live Altium Designer session from an agent.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/salitronic/eda-agent",
      "install": "claude mcp add altium eda-agent",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "edgemcp_for_axis",
      "name": "EdgeMCP-for-Axis",
      "category": "Cameras & sensors",
      "what": "Run an MCP server on an Axis network camera itself to read and control it.",
      "transport": "http",
      "auth": "api_key",
      "repo": "https://github.com/kotyzap/EdgeMCP-for-Axis",
      "install": "claude mcp add --transport http axis-q1656 http://<camera-ip>:8000/mcp",
      "license": "other/unspecified",
      "status": "needs_hosting"
    },
    {
      "slug": "elsewhere_mcp",
      "name": "elsewhere-mcp",
      "category": "Earth",
      "what": "Look at the world through live webcams, sunrise and sunset times and wildlife sightings.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/muffinfrost/elsewhere-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "embedded_debugger_mcp",
      "name": "embedded-debugger-mcp",
      "category": "Home & IoT",
      "what": "Flash and debug ARM and RISC-V microcontrollers through probe-rs or OpenOCD.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/Adancurusul/embedded-debugger-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "emporia_mcp",
      "name": "emporia-mcp",
      "category": "Energy",
      "what": "Read whole-home and circuit-level electricity use from Emporia energy monitors, official.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/emporiaenergy/emporia-mcp",
      "install": null,
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "energyplus_mcp",
      "name": "EnergyPlus-MCP",
      "category": "Energy",
      "what": "Run EnergyPlus building energy simulations, from Berkeley Lab.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/LBNL-ETA/EnergyPlus-MCP",
      "install": null,
      "license": "other/unspecified",
      "status": "needs_hosting"
    },
    {
      "slug": "esp_mcp",
      "name": "esp-mcp",
      "category": "Home & IoT",
      "what": "Build and flash ESP32 firmware with ESP-IDF from an agent.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/horw/esp-mcp",
      "install": null,
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "esp32_cam_ai",
      "name": "esp32-cam-ai",
      "category": "Cameras & sensors",
      "what": "Take pictures with an ESP32-CAM board from an agent.",
      "transport": "http",
      "auth": "api_key",
      "repo": "https://github.com/rzeldent/esp32-cam-ai",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "esphome_mcp",
      "name": "ESPHome-MCP",
      "category": "Home & IoT",
      "what": "Build, flash and manage ESPHome devices.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/loryanstrant/ESPHome-MCP",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "evergreenslam",
      "name": "EvergreenSLAM",
      "category": "Robots & drones",
      "what": "Map rooms with 2D lidar SLAM and remember named places for a robot.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/ThomasZB/EvergreenSLAM",
      "install": null,
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "faxdrop_mcp",
      "name": "faxdrop-mcp",
      "category": "Mail & print",
      "what": "Send real faxes of PDFs and images through FaxDrop.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/klodr/faxdrop-mcp",
      "install": "npm install -g faxdrop-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "foehn",
      "name": "foehn",
      "category": "Earth",
      "what": "Download MeteoSwiss station readings, radar, hail and forecast data.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/kayhendriksen/foehn",
      "install": "uvx foehn",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "frankensonos",
      "name": "frankensonos",
      "category": "Home & IoT",
      "what": "Control your Sonos speakers on the local network.",
      "transport": "both",
      "auth": "oauth",
      "repo": "https://github.com/Dicklesworthstone/frankensonos",
      "install": "claude mcp add --transport http fsonos https://<mac>.<tailnet>.ts.net:8443/mcp",
      "license": "other/unspecified",
      "status": "needs_hosting"
    },
    {
      "slug": "freecad_mcp",
      "name": "freecad-mcp",
      "category": "Make things",
      "what": "Create and edit 3D CAD models in FreeCAD for printing or machining.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/neka-nat/freecad-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "frigate_mcp",
      "name": "frigate-mcp",
      "category": "Cameras & sensors",
      "what": "Ask a Frigate NVR what its cameras detected and pull snapshots.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/jakekeeys/frigate-mcp",
      "install": "claude mcp add frigate -- python -m frigate_mcp",
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "fusion360_mcp_server",
      "name": "fusion360-mcp-server",
      "category": "Make things",
      "what": "Create sketches, extrusions and exports in Autodesk Fusion 360.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/faust-machines/fusion360-mcp-server",
      "install": "claude mcp add fusion360 -- uvx fusion360-mcp-server --mode socket",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "garmin_mcp",
      "name": "garmin_mcp",
      "category": "Cameras & sensors",
      "what": "Read your Garmin watch data: activities, sleep, heart rate and more.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/Taxuspt/garmin_mcp",
      "install": "uvx --python 3.12 --from git+https://github.com/Taxuspt/garmin_mcp garmin-mcp-auth",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "geeflow",
      "name": "geeflow",
      "category": "Earth",
      "what": "Run Google Earth Engine analyses of satellite imagery from Claude.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/P-Srikanthan/geeflow",
      "install": "claude mcp add geeflow -- geeflow-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "gis_mcp",
      "name": "gis-mcp",
      "category": "Earth",
      "what": "Run geospatial operations (buffers, projections, distances) on real-world geometry.",
      "transport": "both",
      "auth": "none",
      "repo": "https://github.com/mahdin75/gis-mcp",
      "install": "pip install gis-mcp[gcp]",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "go_whatsapp_web_multidevice",
      "name": "go-whatsapp-web-multidevice",
      "category": "Calls & messaging",
      "what": "Run a WhatsApp REST API with an MCP mode to send and receive messages.",
      "transport": "http",
      "auth": "api_key",
      "repo": "https://github.com/aldinokemal/go-whatsapp-web-multidevice",
      "install": "docker run --detach --publish 3000:3000 --name whatsapp --restart always --volume whatsapp-storages:/app/storages --volume whatsapp-statics:/app/statics aldinokemal2104/go-whatsapp-web-multidevice rest --autoreply=\"Don't reply to this message, please\"",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "govee_mcp",
      "name": "Govee-MCP",
      "category": "Home & IoT",
      "what": "Turn Govee lights on and off and set colours.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/joeynyc/Govee-MCP",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "ha_mcp",
      "name": "ha-mcp",
      "category": "Home & IoT",
      "what": "Control and query everything in a Home Assistant install: lights, locks, climate, automations.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/homeassistant-ai/ha-mcp",
      "install": "uvx ha-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "hass_mcp",
      "name": "hass-mcp",
      "category": "Home & IoT",
      "what": "Read states and control devices in Home Assistant.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/voska/hass-mcp",
      "install": "claude mcp add hass-mcp -e HA_URL=http://homeassistant.local:8123 -e HA_TOKEN=YOUR_LONG_LIVED_TOKEN -- docker run -i --rm -e HA_URL -e HA_TOKEN voska/hass-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "hass_mcp_server",
      "name": "hass-mcp-server",
      "category": "Home & IoT",
      "what": "Expose Home Assistant over MCP as a custom component inside HA.",
      "transport": "http",
      "auth": "oauth",
      "repo": "https://github.com/ganhammar/hass-mcp-server",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "home_assistant_vibecode_agent",
      "name": "home-assistant-vibecode-agent",
      "category": "Home & IoT",
      "what": "Let a coding agent build and edit Home Assistant automations, dashboards and configs.",
      "transport": "check",
      "auth": "api_key",
      "repo": "https://github.com/Coolver/home-assistant-vibecode-agent",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "homeassistant_mcp",
      "name": "homeassistant-mcp",
      "category": "Home & IoT",
      "what": "Control Home Assistant devices and automations.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/tevonsb/homeassistant-mcp",
      "install": null,
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "homeclaw",
      "name": "HomeClaw",
      "category": "Home & IoT",
      "what": "Control HomeKit lights, locks, thermostats and scenes.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/omarshahine/HomeClaw",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "hubitat_local_mcp_server",
      "name": "Hubitat-local-MCP-server",
      "category": "Home & IoT",
      "what": "Control devices on a Hubitat Elevation hub, running on the hub itself.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/kingpanther13/Hubitat-local-MCP-server",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "ictfax_mcp",
      "name": "ictfax-mcp",
      "category": "Mail & print",
      "what": "Send and track faxes through an ICTFax server.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/ictinnovations/ictfax-mcp",
      "install": "npx -y ictfax-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "industriconnect",
      "name": "IndustriConnect",
      "category": "Home & IoT",
      "what": "Connect PLCs and devices over Modbus, OPC UA and more to an agent.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/IndustriAgents/IndustriConnect",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "infobus_mcp",
      "name": "infobus-mcp",
      "category": "Vehicles & maps",
      "what": "Get public-transit routes and arrivals from GTFS feeds.",
      "transport": "check",
      "auth": "none",
      "repo": "https://github.com/simovilab/infobus-mcp",
      "install": null,
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "instrmcp",
      "name": "instrMCP",
      "category": "Quantum",
      "what": "Control the instruments in a quantum-device physics lab (QCoDeS-style setups).",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/caidish/instrMCP",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "isaac_sim_mcp",
      "name": "isaac-sim-mcp",
      "category": "Robots & drones",
      "what": "Build and run robot simulations in NVIDIA Isaac Sim.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/omni-mcp/isaac-sim-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "jlcmcp",
      "name": "jlcmcp",
      "category": "Make things",
      "what": "Automate JLC EDA (EasyEDA) schematics and PCB layout, routing and DRC.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/hyl64/jlcmcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "kicad_jlcpcb",
      "name": "kicad-jlcpcb",
      "category": "Make things",
      "what": "Turn a PCB idea into a KiCad board ready for JLCPCB fabrication.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/BeckhamLabsLLC/kicad-jlcpcb",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "kicad_mcp_pro",
      "name": "kicad-mcp-pro",
      "category": "Make things",
      "what": "Drive KiCad schematic and PCB work with ERC/DRC checks and manufacturing export.",
      "transport": "both",
      "auth": "none",
      "repo": "https://github.com/oaslananka/kicad-mcp-pro",
      "install": "uvx kicad-mcp-pro",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "kicad_mcp_server",
      "name": "KiCAD-MCP-Server",
      "category": "Make things",
      "what": "Design circuit boards in KiCad: schematics, placement, routing and DRC.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/mixelpixx/KiCAD-MCP-Server",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "kiln",
      "name": "Kiln",
      "category": "Make things",
      "what": "Run 3D printers end to end: design, slice, queue, print and watch with a camera.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/codeofaxel/Kiln",
      "install": "uvx kiln3d",
      "license": "AGPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "lab_instrument_mcps",
      "name": "lab-instrument-mcps",
      "category": "Labs & biology",
      "what": "Operate real lab instruments from an agent with safety interlocks.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/K-Dense-AI/lab-instrument-mcps",
      "install": "uvx labmcp-alicat",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "lablink_mcp",
      "name": "lablink-mcp",
      "category": "Labs & biology",
      "what": "Connect an agent to many kinds of lab equipment through one server.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/techmanual-ai/lablink-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "lecroy_mcp",
      "name": "lecroy-mcp",
      "category": "Labs & biology",
      "what": "Control a LeCroy oscilloscope over SCPI and read measurements.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/lucasgerads/lecroy-mcp",
      "install": "pip install lecroy-mcp",
      "license": "AGPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "lox",
      "name": "lox",
      "category": "Home & IoT",
      "what": "Control a Loxone Miniserver and stream its live states.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/discostu105/lox",
      "install": "claude mcp add loxone -- lox mcp serve # Claude Code",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "luminus",
      "name": "luminus",
      "category": "Energy",
      "what": "Get real-time European and UK electricity grid data: prices, generation and flows.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/kitfunso/luminus",
      "install": "claude mcp add luminus -- npx luminus-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "luna",
      "name": "LUNA",
      "category": "Sky & space",
      "what": "Control a real telescope mount and observatory gear (OnStep) from an AI agent.",
      "transport": "check",
      "auth": "none",
      "repo": "https://github.com/OnStepNinja/LUNA",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "mac_messages_mcp",
      "name": "mac_messages_mcp",
      "category": "Calls & messaging",
      "what": "Read and send iMessages and SMS from a Mac.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/carterlasalle/mac_messages_mcp",
      "install": "claude mcp add --transport stdio --scope user mac-messages -- uvx mac-messages-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "manna",
      "name": "manna",
      "category": "Sky & space",
      "what": "Query NOIRLab, NRAO and other telescope archives for real observations.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/NSF-Simons-CosmicAI-Institute/manna",
      "install": "uvx manna-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "marinetraffic_mcp_server",
      "name": "marinetraffic-mcp-server",
      "category": "Vehicles & maps",
      "what": "Get vessel positions, port calls and ETAs from MarineTraffic.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/Cyreslab-AI/marinetraffic-mcp-server",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "mavlink_mcp",
      "name": "mavlink-mcp",
      "category": "Robots & drones",
      "what": "Fly ArduPilot drones over MAVLink from Claude or Codex.",
      "transport": "both",
      "auth": "none",
      "repo": "https://github.com/deepakpopli/mavlink-mcp",
      "install": "claude mcp add --transport stdio drone -- mavlink-mcp --enable-actuation",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "mavlinkmcp",
      "name": "MAVLinkMCP",
      "category": "Robots & drones",
      "what": "Fly a drone over MAVLink: arm, take off, go to waypoints and land.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/ion-g-ion/MAVLinkMCP",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "mcp_3d_printer_server",
      "name": "mcp-3D-printer-server",
      "category": "Make things",
      "what": "Upload, slice, start and monitor prints on OctoPrint, Klipper, Duet, Prusa, Bambu and other 3D printers.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/DMontgomery40/mcp-3D-printer-server",
      "install": null,
      "license": "GPL-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "mcp_caiyun_weather",
      "name": "mcp-caiyun-weather",
      "category": "Earth",
      "what": "Get minute-level rain forecasts and weather from Caiyun (ColorfulClouds), official server.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/caiyunapp/mcp-caiyun-weather",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "mcp_frigate",
      "name": "mcp-frigate",
      "category": "Cameras & sensors",
      "what": "Query Frigate camera events, clips and snapshots.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/dedsxc/mcp-frigate",
      "install": null,
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "mcp_google_map",
      "name": "mcp-google-map",
      "category": "Vehicles & maps",
      "what": "Search places, get routes, travel times and geocode addresses with Google Maps.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/cablate/mcp-google-map",
      "install": "npx -y @cablate/mcp-google-map",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "mcp_national_rail",
      "name": "mcp-national-rail",
      "category": "Vehicles & maps",
      "what": "Get UK National Rail train times and live departures.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/lucygoodchild/mcp-national-rail",
      "install": null,
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "mcp_oura",
      "name": "MCP-oura",
      "category": "Cameras & sensors",
      "what": "Read sleep, readiness and activity from an Oura ring.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/YuzeHao2023/MCP-oura",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "mcp_printer",
      "name": "mcp-printer",
      "category": "Mail & print",
      "what": "Print documents on a local printer through CUPS on macOS or Linux.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/steveclarke/mcp-printer",
      "install": "npm install -g mcp-printer",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "mcp_vms",
      "name": "mcp_vms",
      "category": "Cameras & sensors",
      "what": "Get live and recorded video from a video-surveillance system.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/jyjune/mcp_vms",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "mcp_weather_server",
      "name": "mcp_weather_server",
      "category": "Earth",
      "what": "Get current weather and forecasts for any city from Open-Meteo.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/isdaniel/mcp_weather_server",
      "install": "uvx mcp-weather-server",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "mesh_api",
      "name": "mesh-api",
      "category": "Radio",
      "what": "Route AI and 30+ API extensions over an off-grid Meshtastic mesh network.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/mr-tbot/mesh-api",
      "install": null,
      "license": "GPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "meshtastic_mcp",
      "name": "meshtastic-mcp",
      "category": "Radio",
      "what": "Discover, configure and message through Meshtastic LoRa mesh radios, official server.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/meshtastic/meshtastic-mcp",
      "install": "claude mcp add meshtastic -s user -- meshtastic-mcp # register with Claude Code",
      "license": "GPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "misterclaw",
      "name": "misterclaw",
      "category": "Play",
      "what": "Remote-control a MiSTer FPGA retro console: load games and send input.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/catallo/misterclaw",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "mqtt_mcp",
      "name": "mqtt-mcp",
      "category": "Home & IoT",
      "what": "Publish and subscribe to MQTT topics to talk to IoT devices.",
      "transport": "http",
      "auth": "oauth",
      "repo": "https://github.com/ezhuk/mqtt-mcp",
      "install": "uvx mqtt-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "nasa_mcp_server",
      "name": "NASA-MCP-server",
      "category": "Sky & space",
      "what": "Ask NASA's open APIs for space imagery, asteroid approaches, Mars rover photos and space-weather events.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/ProgramComputer/NASA-MCP-server",
      "install": "claude mcp add --env NASA_API_KEY=YOUR_API_KEY --scope user nasa -- npx -y @programcomputer/nasa-mcp-server@latest",
      "license": "ISC",
      "status": "needs_hosting"
    },
    {
      "slug": "nav2_mcp_server",
      "name": "nav2_mcp_server",
      "category": "Robots & drones",
      "what": "Send navigation goals to a mobile robot and monitor it through Nav2.",
      "transport": "both",
      "auth": "none",
      "repo": "https://github.com/ajtudela/nav2_mcp_server",
      "install": null,
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "nestbolt",
      "name": "Nestbolt",
      "category": "Make things",
      "what": "Nest 2D parts on sheets for laser, CNC, plasma and waterjet cutting.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/skulitom/Nestbolt",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "noaa_climate_mcp_server",
      "name": "noaa-climate-mcp-server",
      "category": "Earth",
      "what": "Search NOAA climate stations and pull historical weather observations.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/cyanheads/noaa-climate-mcp-server",
      "install": "npx -y @cyanheads/noaa-climate-mcp-server",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "noaa_spaceweather_mcp_server",
      "name": "noaa-spaceweather-mcp-server",
      "category": "Sky & space",
      "what": "Read NOAA space-weather data: geomagnetic storm scales, Kp index and aurora forecasts.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/cyanheads/noaa-spaceweather-mcp-server",
      "install": "npx -y @cyanheads/noaa-spaceweather-mcp-server",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "norikae_mcp",
      "name": "norikae-mcp",
      "category": "Vehicles & maps",
      "what": "Search Japanese train routes and transfers.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/tysonwu/norikae-mcp",
      "install": "npm install -g norikae-mcp",
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "obsbot_mcp",
      "name": "obsbot-mcp",
      "category": "Cameras & sensors",
      "what": "Point, zoom and track with an OBSBOT Tiny 2 camera.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/lxman/obsbot-mcp",
      "install": "npx -y obsbot-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "ocean_mcp",
      "name": "ocean-mcp",
      "category": "Earth",
      "what": "Pull coastal oceanography data such as water levels and model output.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/oceanmodeling/ocean-mcp",
      "install": "uvx adcirc-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "ocpp_rag",
      "name": "ocpp-rag",
      "category": "Energy",
      "what": "Answer questions about OCPP EV-charging protocols and standards.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/nader0913/ocpp-rag",
      "install": "claude mcp add ocpp-rag -- uvx --from git+https://github.com/nader0913/ocpp-rag python -m ocpp_rag.mcp_server",
      "license": "other/unspecified",
      "status": "needs_hosting"
    },
    {
      "slug": "open_meteo_mcp",
      "name": "open-meteo-mcp",
      "category": "Earth",
      "what": "Get forecasts, historical weather, air quality, marine and flood data from Open-Meteo, no key needed.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/cmer81/open-meteo-mcp",
      "install": "claude mcp add open-meteo -- npx -y -p open-meteo-mcp-server open-meteo-mcp-server",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "openaq_mcp_server",
      "name": "openaq-mcp-server",
      "category": "Earth",
      "what": "Find air-quality stations and read latest and historical pollutant values from OpenAQ.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/cyanheads/openaq-mcp-server",
      "install": "npx -y @cyanheads/openaq-mcp-server",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "opengalatea",
      "name": "OpenGalatea",
      "category": "Make things",
      "what": "Control a Prusa 3D printer from Claude, from slicing to printing.",
      "transport": "http",
      "auth": "api_key",
      "repo": "https://github.com/GLechevalier/OpenGalatea",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "openhab_mcp",
      "name": "openhab-mcp",
      "category": "Home & IoT",
      "what": "Control items and rules in openHAB.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/tdeckers/openhab-mcp",
      "install": "docker run -d --rm -p 8081:8000 -e MCP_MODE=remote -e OPENHAB_URL=http://your-openhab-host:8080 -e OPENHAB_API_TOKEN=your-api-token --name openhab-mcp ghcr.io/tdeckers/openhab-mcp:latest",
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "openhcs",
      "name": "openhcs",
      "category": "Labs & biology",
      "what": "Run high-content microscopy image-processing workflows.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/OpenHCSDev/openhcs",
      "install": "uvx openhcs",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "openquantum",
      "name": "OpenQuantum",
      "category": "Quantum",
      "what": "Run Qiskit and quantum workflows from an agent workspace with MCP tools.",
      "transport": "check",
      "auth": "api_key",
      "repo": "https://github.com/xi-zhao/OpenQuantum",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "openscad_mcp_server",
      "name": "OpenSCAD-MCP-Server",
      "category": "Make things",
      "what": "Generate printable 3D models with OpenSCAD from a prompt.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/jhacksman/OpenSCAD-MCP-Server",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "openskycam",
      "name": "openskycam",
      "category": "Sky & space",
      "what": "Run an all-sky camera around the clock and search the footage for meteors, satellites and other things that crossed the sky.",
      "transport": "http",
      "auth": "api_key",
      "repo": "https://github.com/Deibler/openskycam",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "openstreetmap_mcp_server",
      "name": "openstreetmap-mcp-server",
      "category": "Vehicles & maps",
      "what": "Geocode, reverse geocode and run Overpass queries on OpenStreetMap.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/cyanheads/openstreetmap-mcp-server",
      "install": "npx -y @cyanheads/openstreetmap-mcp-server",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "orcaslicer_mcp",
      "name": "orcaslicer-mcp",
      "category": "Make things",
      "what": "Load models into OrcaSlicer, set print settings and slice to G-code.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/MaxEllis/orcaslicer-mcp",
      "install": "uvx orcaslicer-mcp",
      "license": "AGPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "osmmcp",
      "name": "osmmcp",
      "category": "Vehicles & maps",
      "what": "Run precise OpenStreetMap geocoding, routing and nearby-place queries.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/NERVsystems/osmmcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "pcbparts_mcp",
      "name": "pcbparts-mcp",
      "category": "Make things",
      "what": "Search JLCPCB/LCSC parts with stock and price for PCB assembly.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/Averyy/pcbparts-mcp",
      "install": "claude mcp add -s user --transport http pcbparts https://pcbparts.dev/mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "pds_mcp_server",
      "name": "pds-mcp-server",
      "category": "Sky & space",
      "what": "Search NASA's Planetary Data System for mission data from planets, moons and small bodies.",
      "transport": "check",
      "auth": "none",
      "repo": "https://github.com/NASA-PDS/pds-mcp-server",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "phonepilot",
      "name": "PhonePilot",
      "category": "Robots & drones",
      "what": "Physically tap a smartphone with a robot arm driven by an agent.",
      "transport": "http",
      "auth": "none",
      "repo": "https://github.com/revan-zhang/PhonePilot",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "pirate_ship_api_mcp_server",
      "name": "pirate-ship-api-mcp-server",
      "category": "Mail & print",
      "what": "Get USPS and UPS rates and buy labels through Pirate Ship.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/cotletdev/pirate-ship-api-mcp-server",
      "install": "uvx pirate-ship-api-mcp",
      "license": "other/unspecified",
      "status": "needs_hosting"
    },
    {
      "slug": "postals_mcp",
      "name": "postals-mcp",
      "category": "Mail & print",
      "what": "Send direct mail pieces from an agent with one tool call.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/coopergwrenn/postals-mcp",
      "install": "npx -y postals-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "postcardbot_mcp_server",
      "name": "Postcard.bot MCP server",
      "category": "Mail & print",
      "what": "Send real printed postcards by post.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/PostcardBot/mcp-server",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "powermcp",
      "name": "PowerMCP",
      "category": "Energy",
      "what": "Run power-system software such as PowerWorld and pandapower for grid studies.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/Power-Agent/PowerMCP",
      "install": "pip install powermcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "predictive_maintenance_mcp",
      "name": "predictive-maintenance-mcp",
      "category": "Cameras & sensors",
      "what": "Analyse vibration sensor data to spot machine faults.",
      "transport": "both",
      "auth": "none",
      "repo": "https://github.com/LGDiMaggio/predictive-maintenance-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "printer_ai_mcp",
      "name": "Printer-AI-MCP",
      "category": "Mail & print",
      "what": "List printers and print files on Windows, macOS and Linux.",
      "transport": "http",
      "auth": "none",
      "repo": "https://github.com/NullYing/Printer-AI-MCP",
      "install": null,
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "printful_mcp",
      "name": "printful-mcp",
      "category": "Mail & print",
      "what": "Create Printful print-on-demand products and send orders to be printed and shipped.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/Purple-Horizons/printful-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "pumperly_mcp",
      "name": "pumperly-mcp",
      "category": "Vehicles & maps",
      "what": "Find real-time fuel and EV charging prices and stations.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/GeiserX/pumperly-mcp",
      "install": "npx -y pumperly-mcp",
      "license": "GPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "pycentauri",
      "name": "pycentauri",
      "category": "Make things",
      "what": "Control an Elegoo Centauri Carbon 3D printer.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/bjan/pycentauri",
      "install": "claude mcp add pycentauri --env PYCENTAURI_HOST=192.168.1.209 -- python -m pycentauri.mcp",
      "license": "other/unspecified",
      "status": "needs_hosting"
    },
    {
      "slug": "pypsa_mcp",
      "name": "pypsa-mcp",
      "category": "Energy",
      "what": "Build and solve PyPSA energy-system models.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/open-energy-transition/pypsa-mcp",
      "install": "pip install pypsamcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "qgis_mcp",
      "name": "QGIS_MCP",
      "category": "Earth",
      "what": "Pull live satellite imagery, weather, elevation and OpenStreetMap data into QGIS.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/Adilmunawar/QGIS_MCP",
      "install": null,
      "license": "other/unspecified",
      "status": "needs_hosting"
    },
    {
      "slug": "qiskit_mcp_servers",
      "name": "Qiskit (IBM) MCP servers",
      "category": "Quantum",
      "what": "Build circuits with Qiskit and run them on IBM Quantum hardware through qiskit-ibm-runtime, from the Qiskit team.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/Qiskit/mcp-servers",
      "install": "uvx qiskit-code-assistant-mcp-server",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "quackd",
      "name": "quackd",
      "category": "Robots & drones",
      "what": "Connect several robots and command them from one CLI and MCP server.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/rokbenko/quackd",
      "install": "claude mcp add quackd -- uvx --from \"quackd[microduck]\" quackd serve-mcp --robot microduck:sim2d # or just chat with it: \"find the ball and kick it\"",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "quantum_hardware_mcp",
      "name": "quantum-hardware-mcp",
      "category": "Quantum",
      "what": "Submit circuits to real quantum hardware and simulators in natural language.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/Lokesh-2025/quantum-hardware-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "quickvoice",
      "name": "QuickVoice",
      "category": "Calls & messaging",
      "what": "Self-host AI phone agents that answer and place calls.",
      "transport": "check",
      "auth": "api_key",
      "repo": "https://github.com/allgpt-co/QuickVoice",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "radio_gateway",
      "name": "radio-gateway",
      "category": "Radio",
      "what": "Bridge ham and GMRS radios to Mumble, Broadcastify and Winlink and control them from an agent.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/ukbodypilot/radio-gateway",
      "install": null,
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "reachy_mini_mcp",
      "name": "reachy-mini-mcp",
      "category": "Robots & drones",
      "what": "Move the Reachy Mini robot's head and antennas and make it react.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/jackccrawford/reachy-mini-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "reolink_cli",
      "name": "reolink-cli",
      "category": "Cameras & sensors",
      "what": "Take snapshots and control Reolink cameras, doorbells and NVRs on your LAN, official.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/reolink/reolink-cli",
      "install": null,
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "repeaterbook",
      "name": "repeaterbook",
      "category": "Radio",
      "what": "Search RepeaterBook for amateur-radio repeaters near a location.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/MicaelJarniac/repeaterbook",
      "install": "uvx repeaterbook",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "ros_mcp_server",
      "name": "ros-mcp-server",
      "category": "Robots & drones",
      "what": "Command ROS and ROS 2 robots: publish topics, call services and read sensors.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/robotmcp/ros-mcp-server",
      "install": "uvx ros-mcp",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "ros2_mcp",
      "name": "ros2_mcp",
      "category": "Robots & drones",
      "what": "See, understand and operate ROS 2 robots from an agent.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/wise-vision/ros2_mcp",
      "install": "claude mcp add ros2 -- docker run -i --rm -e ROS2_MCP_READONLY=1 wisevision/ros2_mcp:jazzy",
      "license": "MPL-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "safie_api_mcp_server",
      "name": "safie-api-mcp-server",
      "category": "Cameras & sensors",
      "what": "Get images and events from Safie cloud cameras, official.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/SafiePublic/safie-api-mcp-server",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "schwarztim_bambu_mcp",
      "name": "bambu-mcp",
      "category": "Make things",
      "what": "Control a Bambu Lab printer over MQTT and FTP: upload files and start prints.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/schwarztim/bambu-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "scix_mcp",
      "name": "scix-mcp",
      "category": "Sky & space",
      "what": "Search the NASA Astrophysics Data System (SciX) for papers, citations and observations.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/adsabs/scix-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "scope_mcp",
      "name": "scope-mcp",
      "category": "Labs & biology",
      "what": "Control a Keysight/Agilent oscilloscope over Ethernet and capture waveforms.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/Netlist-Studio/scope-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "sdr_mcp",
      "name": "sdr-mcp",
      "category": "Radio",
      "what": "Tune an RTL-SDR, see spectrum and waterfall, listen to FM and demodulate with GNU Radio.",
      "transport": "both",
      "auth": "none",
      "repo": "https://github.com/sandraschi/sdr-mcp",
      "install": "pip install sdr-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "seeed_studio_kicad_mcp_server",
      "name": "kicad-mcp-server",
      "category": "Make things",
      "what": "Analyse KiCad schematics and PCBs and trace connections, from Seeed Studio.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/Seeed-Studio/kicad-mcp-server",
      "install": "claude mcp add kicad -s user -- python -m kicad_mcp_server",
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "serial_mcp_server",
      "name": "serial-mcp-server",
      "category": "Home & IoT",
      "what": "Talk to serial/UART devices and automate exchanges.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/Adancurusul/serial-mcp-server",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "shadetree_ai",
      "name": "shadetree-ai",
      "category": "Vehicles & maps",
      "what": "Read your car's OBD-II trouble codes and live data, read-only.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/iamneilroberts/shadetree-ai",
      "install": "claude mcp add shadetree-ai -e SHADETREE_PORT=/dev/serial/by-id/<your-adapter> -e SHADETREE_HOME=$HOME/shadetree-data -- shadetree-ai-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "sharkclean_mcp",
      "name": "sharkclean-mcp",
      "category": "Robots & drones",
      "what": "Start, stop and schedule SharkClean robot vacuums.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/a-funk/sharkclean-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "shellylanman",
      "name": "shellylanman",
      "category": "Home & IoT",
      "what": "Discover, monitor and switch Shelly devices on your LAN.",
      "transport": "http",
      "auth": "api_key",
      "repo": "https://github.com/wimmme/shellylanman",
      "install": "claude mcp add --transport http shellylanman http://<your-host>:3082/mcp --header \"Authorization: Bearer <token>\"",
      "license": "GPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "siglent_sds_mcp",
      "name": "siglent-sds-mcp",
      "category": "Labs & biology",
      "what": "Control a Siglent SDS oscilloscope and capture screenshots and data.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/MagnusJohansson/siglent-sds-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "skyintel",
      "name": "skyintel",
      "category": "Sky & space",
      "what": "Track aircraft, ships and satellites in real time from one set of tools.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/0xchamin/skyintel",
      "install": "claude mcp add voyageintel --transport http http://localhost:9097/mcp",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "smartest_tv",
      "name": "smartest-tv",
      "category": "Home & IoT",
      "what": "Control LG, Samsung and other smart TVs and play shows by name.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/Hybirdss/smartest-tv",
      "install": "uvx stv",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "solar_mcp",
      "name": "solar-mcp",
      "category": "Sky & space",
      "what": "Read solar flux, sunspot number, Kp and space-weather alerts, for radio propagation or aurora hunting.",
      "transport": "both",
      "auth": "none",
      "repo": "https://github.com/qso-graph/solar-mcp",
      "install": "uvx solar-mcp",
      "license": "GPL-3.0",
      "status": "needs_hosting"
    },
    {
      "slug": "spoolman_mcp",
      "name": "spoolman-mcp",
      "category": "Make things",
      "what": "Track 3D-printer filament spools and usage in Spoolman.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/Disane87/spoolman-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "stack_chan",
      "name": "stack-chan",
      "category": "Robots & drones",
      "what": "Give the M5Stack Stack-chan desk robot expressions and actions controlled over MCP.",
      "transport": "check",
      "auth": "none",
      "repo": "https://github.com/stack-chan/stack-chan",
      "install": null,
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "stackchan_mcp",
      "name": "stackchan-mcp",
      "category": "Robots & drones",
      "what": "Bridge any MCP client to a Stack-chan robot with servo and camera.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/kisaragi-mochi/stackchan-mcp",
      "install": null,
      "license": "other/unspecified",
      "status": "needs_hosting"
    },
    {
      "slug": "stk_mcp",
      "name": "stk-mcp",
      "category": "Sky & space",
      "what": "Drive Ansys/AGI STK to build satellite scenarios and compute orbits, access windows and coverage.",
      "transport": "check",
      "auth": "none",
      "repo": "https://github.com/alti3/stk-mcp",
      "install": null,
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "sv_number_mcp_server",
      "name": "sv-number MCP server",
      "category": "Calls & messaging",
      "what": "Order a private phone number in 200+ countries and receive SMS and calls on it.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/sv-number/mcp-server",
      "install": "npx -y sv-number-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "swiss_transport_mcp",
      "name": "swiss-transport-mcp",
      "category": "Vehicles & maps",
      "what": "Plan Swiss public-transport journeys with real-time departures.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/malkreide/swiss-transport-mcp",
      "install": "uvx swiss-transport-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "tapo",
      "name": "tapo",
      "category": "Home & IoT",
      "what": "Control TP-Link Tapo plugs, bulbs and sensors.",
      "transport": "http",
      "auth": "api_key",
      "repo": "https://github.com/mihai-dinculescu/tapo",
      "install": "docker run -i --rm ghcr.io/mihai-dinculescu/tapo-mcp:0.6.2",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "team05_mcp_server",
      "name": "team05-mcp-server",
      "category": "Labs & biology",
      "what": "Talk to the TEAM 0.5 transmission electron microscope at the Molecular Foundry.",
      "transport": "check",
      "auth": "none",
      "repo": "https://github.com/foundry-mcp/team05-mcp-server",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "teslamate_mcp",
      "name": "teslamate-mcp",
      "category": "Vehicles & maps",
      "what": "Query your Tesla's drives, charging and battery history from TeslaMate.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/cobanov/teslamate-mcp",
      "install": "docker run --rm -e DATABASE_URL=... -p 8888:8888 ghcr.io/cobanov/teslamate-mcp:latest",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "thingsboard_mcp",
      "name": "thingsboard-mcp",
      "category": "Home & IoT",
      "what": "Query devices and telemetry on a ThingsBoard IoT platform, official.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/thingsboard/thingsboard-mcp",
      "install": "claude mcp add thingsboard -e THINGSBOARD_URL=https://thingsboard.cloud -e THINGSBOARD_API_KEY=YOUR_API_KEY -- docker run -i --rm -e THINGSBOARD_URL -e THINGSBOARD_API_KEY thingsboard/mcp",
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "tintins_chess_analysis",
      "name": "tintins-chess-analysis",
      "category": "Play",
      "what": "Analyse chess games with Stockfish and explain mistakes on a web board.",
      "transport": "check",
      "auth": "api_key",
      "repo": "https://github.com/Chess-analysis-mcp/tintins-chess-analysis",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "twilio_labs_mcp",
      "name": "Twilio Labs MCP server",
      "category": "Calls & messaging",
      "what": "Call Twilio's whole API as tools: send SMS, place calls and manage numbers, from Twilio Labs.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/twilio-labs/mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "uber_cli",
      "name": "uber-cli",
      "category": "Vehicles & maps",
      "what": "Get live Uber fares and request rides with a confirmation step.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/crafter-station/uber-cli",
      "install": "npm i -g @crafter/uber-cli",
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "ugs_mcp",
      "name": "ugs-mcp",
      "category": "Make things",
      "what": "Jog, home and run G-code on a CNC machine through Universal G-code Sender.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/zackpeters93/ugs-mcp",
      "install": "uvx ugs-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "unifi_mcp",
      "name": "unifi-mcp",
      "category": "Cameras & sensors",
      "what": "Query and manage UniFi Network and Protect: cameras, events and devices.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/sirkirby/unifi-mcp",
      "install": "uvx unifi-access-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "unitree_go2_mcp_server",
      "name": "unitree-go2-mcp-server",
      "category": "Robots & drones",
      "what": "Command a Unitree Go2 robot dog through ROS 2.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/lpigeon/unitree-go2-mcp-server",
      "install": null,
      "license": "Apache-2.0",
      "status": "needs_hosting"
    },
    {
      "slug": "vapiai_skills",
      "name": "Vapi agent skills + MCP",
      "category": "Calls & messaging",
      "what": "Build and manage Vapi voice agents that make real calls, from Vapi.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/VapiAI/skills",
      "install": "claude mcp add vapi-docs -- npx -y mcp-remote https://docs.vapi.ai/_mcp/server",
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "variflight_mcp",
      "name": "variflight-mcp",
      "category": "Vehicles & maps",
      "what": "Look up flight status and airport data from VariFlight, official.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/variflight/variflight-mcp",
      "install": "npx -y @variflight-ai/variflight-mcp",
      "license": null,
      "status": "needs_hosting"
    },
    {
      "slug": "vectorclaw",
      "name": "VectorClaw",
      "category": "Robots & drones",
      "what": "Control an Anki Vector robot: drive, speak and use its camera.",
      "transport": "stdio",
      "auth": "none",
      "repo": "https://github.com/danmartinez78/VectorClaw",
      "install": "pip install vectorclaw-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "vessel_traffic_mcp",
      "name": "vessel-traffic-mcp",
      "category": "Vehicles & maps",
      "what": "Track ships by AIS, with schedules and maritime data.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/tools-mcp/vessel-traffic-mcp",
      "install": "npx -y @tools-mcp/vessel-traffic-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "victron_tcp",
      "name": "victron-tcp",
      "category": "Energy",
      "what": "Read live solar, battery, grid and inverter data from a Victron GX device.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/lubosstrejcek/victron-tcp",
      "install": "claude mcp add-json victron-tcp '{\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"victron-tcp\"]}'",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "victron_vrm_mcp",
      "name": "victron-vrm-mcp",
      "category": "Energy",
      "what": "Read solar, battery and ESS data from the Victron VRM cloud.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/lubosstrejcek/victron-vrm-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "weather_mcp",
      "name": "weather-mcp",
      "category": "Earth",
      "what": "Get forecasts, alerts, air quality, wildfire and river data through 17 weather tools with no API keys.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/weather-mcp/weather-mcp",
      "install": "claude mcp add weather -- npx -y @dangahagan/weather-mcp@latest",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "weather_mcp_server",
      "name": "weather-mcp-server",
      "category": "Earth",
      "what": "Get current weather for a city through WeatherAPI.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/ezh0v/weather-mcp-server",
      "install": "docker run -e WEATHER_API_KEY=your-api-key -d --name weather-mcp-server -p 8000:8000 weather-mcp-server",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "whatsapp_mcp",
      "name": "whatsapp-mcp",
      "category": "Calls & messaging",
      "what": "Read and send WhatsApp messages from your own account.",
      "transport": "both",
      "auth": "api_key",
      "repo": "https://github.com/verygoodplugins/whatsapp-mcp",
      "install": null,
      "license": "other/unspecified",
      "status": "needs_hosting"
    },
    {
      "slug": "whoop_mcp",
      "name": "whoop-mcp",
      "category": "Cameras & sensors",
      "what": "Read WHOOP recovery, sleep, HRV and strain.",
      "transport": "stdio",
      "auth": "oauth",
      "repo": "https://github.com/shashankswe2020-ux/whoop-mcp",
      "install": "npx -y whoop-ai-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "wildfire_mcp_server",
      "name": "wildfire-mcp-server",
      "category": "Earth",
      "what": "Detect and monitor wildfires using NASA FIRMS, OpenWeatherMap and Earth Engine data.",
      "transport": "check",
      "auth": "api_key",
      "repo": "https://github.com/aliafsahnoudeh/wildfire-mcp-server",
      "install": null,
      "license": "other/unspecified",
      "status": "needs_hosting"
    },
    {
      "slug": "windy_webcams_mcp_server",
      "name": "windy-webcams-mcp-server",
      "category": "Cameras & sensors",
      "what": "Find live public webcams worldwide and get their images.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/Cyreslab-AI/windy-webcams-mcp-server",
      "install": "npx windy-webcam-mcp-server",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "xiaomi_home_mcp",
      "name": "xiaomi-home-mcp",
      "category": "Home & IoT",
      "what": "Control Xiaomi Mi Home devices.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/gehaiyi/xiaomi-home-mcp",
      "install": null,
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "zigbee2mqtt_mcp",
      "name": "zigbee2mqtt-mcp",
      "category": "Home & IoT",
      "what": "Administer a Zigbee2MQTT network: device health, mesh diagnostics and OTA updates.",
      "transport": "stdio",
      "auth": "api_key",
      "repo": "https://github.com/alexpfau/zigbee2mqtt-mcp",
      "install": "npx -y zigbee2mqtt-mcp",
      "license": "MIT",
      "status": "needs_hosting"
    },
    {
      "slug": "zplab",
      "name": "ZPLab",
      "category": "Mail & print",
      "what": "Design and print ZPL labels on Zebra-compatible label printers.",
      "transport": "check",
      "auth": "api_key",
      "repo": "https://github.com/u8array/ZPLab",
      "install": "docker run -p 8080:8080 ghcr.io/u8array/zplab:latest",
      "license": "MIT",
      "status": "needs_hosting"
    }
  ]
}
