generated: '2026-07-27' method: derived status: candidate source: openapi/ (23 operations across the two published Gravity Connect OpenAPI documents) note: 'Virtual Peaker publishes NO MCP server. Searched the docs, the two Gravity Connect Redoc references, the marketing site, virtual-peaker.com/llms.txt, the github.com/virtual-peaker org, npm (@modelcontextprotocol and vendor scopes) and the public MCP registries — nothing. This is a CANDIDATE tool surface derived one-tool-per-operation from the provider''s own OpenAPI so the API is representable to agents; it is not a provider claim and nothing is hosted. Each tool inherits its real input schema from the backing operation''s parameters + requestBody in the referenced spec. Note the asymmetry of Gravity Connect: the device-partner half is implemented by the OEM (servers[] is the placeholder https://example.com), so those tools have no single canonical host; only the VPP publishing half resolves to https://partner.virtualpeaker.io/v1.' server: name: virtual-peaker-gravity-connect transport: null url: null published: false auth: device_partner_half: model: oauth2 flows: - clientCredentials - authorizationCode scopes: - basic_partner_read_write - user_read note: token endpoints are OEM-hosted; the spec ships example.com placeholders vpp_half: model: hmac-sha256 header: 'Authorization: Publish ' secrets: - PROGRAM_PUBLISH_SECRET - DEVICE_PUBLISH_SECRET tools: - name: read_device_details description: Read device details category: Devices source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#readDeviceDetails http: GET /device/{DEVICE_UID} surface: device-partner - name: update_signal_setting description: Update signal/setting category: Devices source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#updateSignalSetting http: PUT /device/{DEVICE_UID}/{SIGNAL_OR_SETTING}/{DATA_KEY} surface: device-partner - name: read_signal_setting description: Read signal/setting category: Devices source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#readSignalSetting http: GET /device/{DEVICE_UID}/{SIGNAL_OR_SETTING}/{DATA_KEY} surface: device-partner - name: read_device_user description: Describe device's user category: Pairing Code Device Discovery - End User App source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#readDeviceUser http: GET /device/{DEVICE_UID}/user surface: device-partner - name: publish_house_list description: Publish houses for installation category: Pairing Code Device Discovery - Utility Commissioned Installation source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#publishHouseList http: POST /houses surface: device-partner - name: send_command description: Send command category: Commands source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#sendCommand http: POST /command surface: device-partner - name: read_command_state description: Read command state category: Commands source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#readCommandState http: GET /command/{COMMAND_REFERENCE_ID} surface: device-partner - name: cancel_command description: Cancel command category: Commands source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#cancelCommand http: DELETE /command/{COMMAND_REFERENCE_ID} surface: device-partner - name: modify_subscription description: Manage device publishing category: Devices source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#modifySubscription http: POST /subscription surface: device-partner - name: create_group description: Create group category: Group Management source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#createGroup http: POST /group surface: device-partner - name: read_group description: Read group details category: Group Management source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#readGroup http: GET /group/{GROUP_ID} surface: device-partner - name: update_group description: Update group details category: Group Management source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#updateGroup http: PUT /group/{GROUP_ID} surface: device-partner - name: delete_group description: Delete group category: Group Management source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#deleteGroup http: DELETE /group/{GROUP_ID} surface: device-partner - name: manage_group_devices description: Manage group devices category: Group Management source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#manageGroupDevices http: POST /group/{GROUP_ID}/devices surface: device-partner - name: command_opt_out description: Command Opt-Out category: Group Management source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#commandOptOut http: POST /command/{COMMAND_REFERENCE_ID}/opt-out surface: device-partner - name: read_current_user_devices description: Read current user's devices category: OAuth Device Discovery (Preferred) source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#readCurrentUserDevices http: GET /devices surface: device-partner - name: read_current_user description: Read current user's details category: OAuth Device Discovery (Preferred) source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#readCurrentUser http: GET /user surface: device-partner - name: read_device_energy_interval description: Energy interval data from non-tstat device category: Energy Interval Endpoint source_operation: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml#readDeviceEnergyInterval http: GET /device/{DEVICE_UID}/energy surface: device-partner - name: publish_signal_setting description: Publish signal/setting value category: Publishing source_operation: openapi/virtual-peaker-gravity-connect-vpp-api-openapi.yml#publishSignalSetting http: POST /publish/{PROGRAM_PUBLISH_KEY}/update surface: vpp - name: publish_command description: Publish command status category: Publishing source_operation: openapi/virtual-peaker-gravity-connect-vpp-api-openapi.yml#publishCommand http: POST /publish/{PROGRAM_PUBLISH_KEY}/command surface: vpp - name: publish_device_command description: Publish device command status category: Publishing source_operation: openapi/virtual-peaker-gravity-connect-vpp-api-openapi.yml#publishDeviceCommand http: POST /publish/{PROGRAM_PUBLISH_KEY}/command/device surface: vpp - name: publish_device_enrollment description: Publish device enrollment status category: Publishing source_operation: openapi/virtual-peaker-gravity-connect-vpp-api-openapi.yml#publishDeviceEnrollment http: POST /publish/{PROGRAM_PUBLISH_KEY}/device surface: vpp - name: publish_device_partner_driven_enrollment description: Publish device partner driven enrollment category: Publishing source_operation: openapi/virtual-peaker-gravity-connect-vpp-api-openapi.yml#publishDevicePartnerDrivenEnrollment http: POST /publish/{PROGRAM_PUBLISH_KEY}/enrollment surface: vpp deployment: mode: none verified: derived tools: 23 checked: '2026-08-12' source: catalog MCP census