solarwerk
Registry code: cbea4c0c0f77db33
Paid tools via x402. tools/list is free. Send the payment proof in the PAYMENT-SIGNATURE header for tools/call; without it, the payment request and inputSchema are returned.
- endpoint
- https://solar.halowerk.com/mcp
- door code
- 359d82d31b34e974
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is solarwerk live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 99% of checks over the last 30 days.
- Is solarwerk free to use?
- No — it charges per call, from 0.002 USDC, quoted in its own 402 answers.
- What tools does solarwerk have?
- 11 tools: offgrid_weather_alarm, clear_sky_pv_yield, inverter_loss_calc, inverter_load_check, sun_position_shadow, panel_tilt_optimiser, victron_log_parse, offgrid_autonomy, ….
- Is solarwerk safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 99%· all time 99%
last good check
of 11 tools
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- used for
- estimate clear-sky solar pv yield
- check an inverter load
- calculate off-grid autonomy
- optimise solar panel tilt
- parse victron device logs
- takes → gives
- data, text → data
- tools
- 11 reads
Calls placed through this hub's router, from its own receipts, and USDC settlements on base into the address this listing's priced doors name, read off the chain. Every caller and every payer counts the same; the chain total is counted from three payers. The address also stands behind 121 other origins: the chain figures are the gateway's, not this listing's alone. How it is counted.
through this hub
successful
what callers paid
distinct
last 2026-11-10
shared-payto
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
offgrid_weather_alarm reads 0.005 USDC paid 25h ago
Uses the nearest current DWD MOSMIX_L station forecast, or a station explicitly supplied by the caller. Global irradiance drives a transparent PV estimate and forecast wind speed drives a stated generic turbine curve; neither replaces a site-specific yield model. A constant hourly load and optional battery are simulated over 12 to 120 hours. The result is an installation-risk signal, not an official weather warning, emergency alert or guarantee of supply. Preis 0.005 USDC je Aufruf, Abrechnung über x402.
{ "type": "object", "required": [ "load_wh_per_day" ], "properties": { "lat": { "type": "number", "maximum": 90, "minimum": -90 }, "lon": { "type": "number", "maximum": 180, "minimum": -180 }, "wind": { "type": "object", "properties": { "rated_m_s": { "type": "number", "default": 12, "maximum": 30, "minimum": 2 }, "capacity_w": { "type": "number", "maximum": 10000000, "minimum": 0 }, "cut_in_m_s": { "type": "number", "default": 3, "maximum": 10, "minimum": 0.5 }, "cut_out_m_s": { "type": "number", "default": 25, "maximum": 60, "minimum": 5 } }, "additionalProperties": false }, "alert": { "type": "object", "properties": { "minimum_duration_hours": { "type": "integer", "default": 6, "maximum": 48, "minimum": 3 }, "renewable_coverage_percent": { "type": "number", "default": 50, "maximum": 100, "minimum": 0 } }, "additionalProperties": false }, "solar": { "type": "object", "properties": { "capacity_wp": { "type": "number", "maximum": 10000000, "minimum": 0 }, "performance_ratio": { "type": "number", "default": 0.78, "maximum": 1, "minimum": 0.1 } }, "additionalProperties": false }, "battery": { "type": "object", "required": [ "capacity_wh", "soc_percent" ], "properties": { "capacity_wh": { "type": "number", "maximum": 100000000, "minimum": 10 }, "soc_percent": { "type": "number", "maximum": 100, "minimum": 0 }, "charge_efficiency": { "type": "number", "default": 0.95, "maximum": 1, "minimum": 0.5 }, "reserve_soc_percent": { "type": "number", "default": 20, "maximum": 90, "minimum": 0 }, "discharge_efficiency": { "type": "number", "default": 0.95, "maximum": 1, "minimum": 0.5 } }, "additionalProperties": false }, "station_id": { "type": "string", "pattern": "^[A-Za-z0-9]{4,5}$", "description": "Optional DWD MOSMIX station id. Use this or coordinates." }, "forecast_hours": { "type": "integer", "default": 72, "maximum": 120, "minimum": 12 }, "include_series": { "type": "boolean", "default": true }, "load_wh_per_day": { "type": "number", "maximum": 10000000, "minimum": 1 }, "max_station_distance_km": { "type": "number", "default": 80, "maximum": 300, "minimum": 1 } }, "additionalProperties": false }arguments 147 linesclear_sky_pv_yield reads 0.003 USDC paid 13h ago
This is an astronomical and geometric calculation, not a forecast. It assumes a cloudless sky and states the models used; real yield is lower whenever there is cloud, haze, snow, soiling or high cell temperature. The system_derate factor covers cabling, controller and temperature losses as one flat number and defaults to 0.8. Shading is not modelled here. Times are UTC. Use the figure as an upper bound for sizing, not as an expected daily production. Preis 0.003 USDC je Aufruf, Abrechnung über x402.
{ "type": "object", "required": [ "lat", "lon", "date" ], "properties": { "lat": { "type": "number", "maximum": 90, "minimum": -90 }, "lon": { "type": "number", "maximum": 180, "minimum": -180 }, "date": { "type": "string", "description": "Day as YYYY-MM-DD." }, "albedo": { "type": "number", "default": 0.2, "maximum": 1, "minimum": 0 }, "panel_wp": { "type": "number", "default": 415, "maximum": 100000, "minimum": 1, "description": "Module rating at standard test conditions." }, "tilt_deg": { "type": "number", "default": 30, "maximum": 90, "minimum": 0 }, "azimuth_deg": { "type": "number", "default": 180, "maximum": 360, "minimum": 0, "description": "Module azimuth, 180 is south, 0 is north." }, "elevation_m": { "type": "number", "default": 0, "maximum": 6000, "minimum": -500 }, "step_minutes": { "type": "integer", "default": 15, "maximum": 60, "minimum": 5 }, "system_derate": { "type": "number", "default": 0.8, "maximum": 1, "minimum": 0.1 }, "include_series": { "type": "boolean", "default": true } }, "additionalProperties": false }arguments 73 linesinverter_loss_calc reads 0.002 USDC paid 13h ago
Cable loss uses the DC resistance of the two-way run at twenty degrees Celsius; warm cable in a hot compartment carries roughly four percent more resistance per ten kelvin, which is not applied. Inverter loss follows a three-part model of idle draw, a proportional share and a quadratic share, fitted so that the stated peak efficiency is met near half of the rated power. That mirrors the shape of a real efficiency curve but is not the curve of a specific device; where a datasheet value exists, pass efficiency_at_load to pin the model. Battery internal resistance and controller loss are not included. Preis 0.002 USDC je Aufruf, Abrechnung über x402.
{ "type": "object", "required": [ "load_w", "battery_voltage_v" ], "properties": { "cable": { "type": "object", "required": [ "length_m", "cross_section_mm2" ], "properties": { "length_m": { "type": "number", "maximum": 200, "minimum": 0.1, "description": "One-way run; the calculation doubles it." }, "material": { "enum": [ "copper", "aluminium" ], "type": "string", "default": "copper" }, "cross_section_mm2": { "type": "number", "maximum": 500, "minimum": 0.5 } }, "additionalProperties": false }, "load_w": { "type": "number", "maximum": 100000, "minimum": 1, "description": "AC power drawn at the output." }, "inverter": { "type": "object", "properties": { "idle_w": { "type": "number", "default": 15, "maximum": 500, "minimum": 0 }, "rated_w": { "type": "number", "default": 1200, "maximum": 100000, "minimum": 50 }, "peak_efficiency": { "type": "number", "default": 0.93, "maximum": 0.99, "minimum": 0.5 }, "efficiency_at_load": { "type": "number", "maximum": 0.99, "minimum": 0.3, "description": "Measured efficiency at this exact load, overrides the model." } }, "additionalProperties": false }, "battery_voltage_v": { "type": "number", "maximum": 1000, "minimum": 6 }, "max_voltage_drop_percent": { "type": "number", "default": 3, "maximum": 10, "minimum": 0.5 } }, "additionalProperties": false }arguments 86 linesinverter_load_check reads 0.002 USDC paid 13h ago
Continuous load is the sum of the running watts of all appliances marked as simultaneous. The surge check adds the largest single starting surge on top of the continuous load, which is the case that trips an inverter; simultaneous starts of two motors are reported separately as a second figure. Starting factors and power factors are design rules of thumb per appliance class and are stated in the response, they are not device data. Nothing is measured here: the numbers are only as good as the watt figures supplied. Preis 0.002 USDC je Aufruf, Abrechnung über x402.
{ "type": "object", "required": [ "inverter", "loads" ], "properties": { "loads": { "type": "array", "items": { "type": "object", "required": [ "name", "watts" ], "properties": { "name": { "type": "string" }, "type": { "type": "string", "description": "Appliance class: resistive, electronics, led, motor, pump, compressor, induction." }, "watts": { "type": "number", "maximum": 50000, "minimum": 0.1 }, "quantity": { "type": "integer", "default": 1, "maximum": 200, "minimum": 1 }, "power_factor": { "type": "number", "maximum": 1, "minimum": 0.3 }, "simultaneous": { "type": "boolean", "default": true, "description": "False if the appliance never runs together with the others." }, "surge_factor": { "type": "number", "maximum": 12, "minimum": 1 } }, "additionalProperties": false }, "maxItems": 60, "minItems": 1 }, "inverter": { "type": "object", "required": [ "continuous_w" ], "properties": { "idle_w": { "type": "number", "default": 15, "maximum": 500, "minimum": 0 }, "surge_w": { "type": "number", "maximum": 400000, "minimum": 50, "description": "Peak rating. Defaults to twice the continuous rating." }, "efficiency": { "type": "number", "default": 0.9, "maximum": 1, "minimum": 0.5 }, "continuous_w": { "type": "number", "maximum": 100000, "minimum": 50 } }, "additionalProperties": false }, "battery_voltage_v": { "type": "number", "maximum": 1000, "minimum": 6, "description": "For the DC current figure. Without it that field stays null." } }, "additionalProperties": false }arguments 96 linessun_position_shadow reads 0.002 USDC paid 22h ago
Pure astronomy and geometry on level ground: sun position by the NOAA method, shadow length as object height divided by the tangent of the sun elevation. Refraction is only applied to sunrise and sunset. Terrain slope, surrounding buildings, vegetation and diffuse light are not modelled, so a point outside the shadow can still be shaded in reality. Times are UTC. When obstacle_distance_m and obstacle_bearing_deg are given, a point counts as shaded while the shadow reaches at least that far and its direction is within the tolerance. Preis 0.002 USDC je Aufruf, Abrechnung über x402.
{ "type": "object", "required": [ "lat", "lon", "date", "object_height_m" ], "properties": { "lat": { "type": "number", "maximum": 90, "minimum": -90 }, "lon": { "type": "number", "maximum": 180, "minimum": -180 }, "date": { "type": "string", "description": "Day as YYYY-MM-DD." }, "step_minutes": { "type": "integer", "default": 30, "maximum": 60, "minimum": 5 }, "object_height_m": { "type": "number", "maximum": 1000, "minimum": 0.01 }, "max_shadow_length_m": { "type": "number", "default": 500, "maximum": 100000, "minimum": 1, "description": "Shadow lengths above this are reported as capped." }, "obstacle_distance_m": { "type": "number", "maximum": 10000, "minimum": 0.01, "description": "Distance of the point of interest from the object." }, "obstacle_bearing_deg": { "type": "number", "maximum": 360, "minimum": 0, "description": "Compass bearing from the object to that point." }, "bearing_tolerance_deg": { "type": "number", "default": 10, "maximum": 90, "minimum": 1 } }, "additionalProperties": false }arguments 62 linespanel_tilt_optimiser reads 0.003 USDC paid 25h ago
Evaluates clear-sky irradiance in the module plane for tilt angles from zero to ninety degrees on the fifteenth of each month and sums the days. Because it assumes a cloudless sky, the optimum leans slightly steeper than a real-weather optimum, where diffuse light from an overcast sky rewards flatter angles; in summer the difference is small, in winter months it reaches ten to fifteen degrees, so treat the winter figures as an upper bound. The yield penalty within a few degrees of the optimum is flat. Shading, snow load and mounting constraints are not considered. The azimuth is fixed as given and is not optimised. Preis 0.003 USDC je Aufruf, Abrechnung über x402.
{ "type": "object", "required": [ "lat", "lon" ], "properties": { "lat": { "type": "number", "maximum": 90, "minimum": -90 }, "lon": { "type": "number", "maximum": 180, "minimum": -180 }, "year": { "type": "integer", "default": 2026, "maximum": 2100, "minimum": 1970 }, "albedo": { "type": "number", "default": 0.2, "maximum": 1, "minimum": 0 }, "azimuth_deg": { "type": "number", "default": 180, "maximum": 360, "minimum": 0 }, "elevation_m": { "type": "number", "default": 0, "maximum": 6000, "minimum": -500 }, "tilt_step_deg": { "type": "number", "default": 2, "maximum": 10, "minimum": 1 }, "current_tilt_deg": { "type": "number", "maximum": 90, "minimum": 0, "description": "Tilt in use today, for the loss comparison." } }, "additionalProperties": false }arguments 56 linesvictron_log_parse reads 0.003 USDC paid 22h ago
Reads the key-tab-value lines of the VE.Direct text protocol, applies the unit scaling that belongs to each key, and decodes the charger state, tracker state and error number into plain text. Multiple blocks in one dump are returned as separate records in order. Keys that are not in the field table are preserved verbatim under unknown_keys rather than guessed at. The checksum line is not verified, since a text export usually no longer carries the original byte framing. Nothing is fetched from a device or from VRM: the dump is supplied by the caller. Preis 0.003 USDC je Aufruf, Abrechnung über x402.
{ "type": "object", "required": [ "text" ], "properties": { "text": { "type": "string", "maxLength": 120000, "minLength": 3, "description": "Raw VE.Direct dump, one key-tab-value pair per line." }, "keep_raw": { "type": "boolean", "default": false, "description": "Also return the raw key-value pairs per record." } }, "additionalProperties": false }arguments 20 linesoffgrid_autonomy reads 0.003 USDC paid 8h ago
Daily energy balance and straight run-down from the figures supplied. Solar input is caller data in watt-hours per day; nothing is fetched and no weather is assumed. Time to empty means time to the reserve floor, not to zero. Idle draw and conversion efficiency apply to AC loads only. Ageing, temperature and Peukert behaviour are not modelled, which matters for lead acid far more than for LiFePO4. Preis 0.003 USDC je Aufruf, Abrechnung über x402.
{ "type": "object", "required": [ "battery", "loads" ], "properties": { "loads": { "type": "array", "items": { "type": "object", "required": [ "name", "watts" ], "properties": { "dc": { "type": "boolean", "default": false, "description": "True for loads fed straight from the battery." }, "name": { "type": "string" }, "watts": { "type": "number", "maximum": 50000, "minimum": 0 }, "hours_per_day": { "type": "number", "default": 24, "maximum": 24, "minimum": 0 } }, "additionalProperties": false }, "maxItems": 60, "minItems": 1 }, "battery": { "type": "object", "required": [ "soc_percent" ], "properties": { "capacity_ah": { "type": "number", "maximum": 100000, "minimum": 1 }, "capacity_wh": { "type": "number", "maximum": 10000000, "minimum": 10 }, "soc_percent": { "type": "number", "maximum": 100, "minimum": 0 }, "nominal_voltage_v": { "type": "number", "default": 12, "maximum": 1000, "minimum": 6 }, "reserve_soc_percent": { "type": "number", "default": 20, "maximum": 90, "minimum": 0, "description": "Floor not to be crossed." } }, "additionalProperties": false }, "inverter": { "type": "object", "properties": { "idle_w": { "type": "number", "default": 15, "maximum": 500, "minimum": 0 }, "efficiency": { "type": "number", "default": 0.9, "maximum": 1, "minimum": 0.5 }, "hours_powered_per_day": { "type": "number", "default": 24, "maximum": 24, "minimum": 0 } }, "additionalProperties": false }, "daily_solar_input_wh": { "type": "number", "default": 0, "maximum": 1000000, "minimum": 0, "description": "Expected harvest per day." } }, "additionalProperties": false }arguments 112 lineslifepo4_cycle_analysis reads 0.004 USDC paid 8h ago
Integrates the supplied current over time by the trapezoidal rule, so the result is only as good as the sampling interval; gaps longer than the stated max_gap_seconds are excluded and reported. Sign convention: positive current is charging, negative is discharging. Internal resistance is estimated from the largest current step in the series and is a rough figure, not a measurement under defined conditions. State of charge from resting voltage is only reported when the series contains samples below the given rest_current_a, and carries a wide band because the LiFePO4 curve is flat between twenty and eighty percent. Cell imbalance cannot be detected from a pack voltage and is never claimed. Preis 0.004 USDC je Aufruf, Abrechnung über x402.
{ "type": "object", "required": [ "samples" ], "properties": { "samples": { "type": "array", "items": { "type": "object", "required": [ "t_s", "voltage_v", "current_a" ], "properties": { "t_s": { "type": "number", "maximum": 100000000, "minimum": 0, "description": "Seconds since series start, strictly increasing." }, "current_a": { "type": "number", "maximum": 2000, "minimum": -2000, "description": "Positive charging, negative discharging." }, "voltage_v": { "type": "number", "maximum": 1000, "minimum": 0, "description": "Pack voltage." }, "temperature_c": { "type": "number", "maximum": 120, "minimum": -60 } }, "additionalProperties": false }, "maxItems": 5000, "minItems": 3 }, "rest_current_a": { "type": "number", "default": 0.5, "maximum": 100, "minimum": 0, "description": "Below this absolute current a sample counts as resting." }, "cells_in_series": { "type": "integer", "default": 4, "maximum": 64, "minimum": 1 }, "max_gap_seconds": { "type": "number", "default": 300, "maximum": 86400, "minimum": 1 }, "nominal_capacity_ah": { "type": "number", "maximum": 10000, "minimum": 0.1 } }, "additionalProperties": false }arguments 72 lineslow_wattage_cooking_estimate reads 0.003 USDC paid 8h ago
Uses rated electrical power, food mass, start and target temperature, specific heat and an explicit efficiency range supplied by the caller. Optional vessel heat, evaporation and a caller-defined hold phase can be included. It contains no recipes, recipe text, food-specific cooking claims or hidden food database; the output separates the thermodynamic lower bound from the practical range and is not a food-safety clearance. Preis 0.003 USDC je Aufruf, Abrechnung über x402.
{ "type": "object", "required": [ "device_power_w", "food_mass_kg", "start_temperature_c", "target_temperature_c", "specific_heat_kj_kg_k", "efficiency" ], "properties": { "hold": { "type": "object", "required": [ "minutes", "power_fraction" ], "properties": { "minutes": { "type": "number", "maximum": 1440, "minimum": 0 }, "power_fraction": { "type": "number", "maximum": 1, "minimum": 0, "description": "Average fraction of rated input power during the hold phase." } }, "additionalProperties": false }, "vessel": { "type": "object", "required": [ "mass_kg", "specific_heat_kj_kg_k" ], "properties": { "mass_kg": { "type": "number", "maximum": 100, "minimum": 0 }, "specific_heat_kj_kg_k": { "type": "number", "maximum": 10, "exclusiveMinimum": 0 } }, "additionalProperties": false }, "efficiency": { "type": "object", "required": [ "low", "expected", "high" ], "properties": { "low": { "type": "number", "maximum": 1, "exclusiveMinimum": 0 }, "high": { "type": "number", "maximum": 1, "exclusiveMinimum": 0 }, "expected": { "type": "number", "maximum": 1, "exclusiveMinimum": 0 } }, "additionalProperties": false }, "evaporation": { "type": "object", "required": [ "mass_kg", "latent_heat_kj_kg" ], "properties": { "mass_kg": { "type": "number", "maximum": 100, "minimum": 0 }, "latent_heat_kj_kg": { "type": "number", "maximum": 5000, "minimum": 0 } }, "additionalProperties": false }, "food_mass_kg": { "type": "number", "maximum": 100, "description": "Mass being heated in kilograms.", "exclusiveMinimum": 0 }, "device_power_w": { "type": "number", "maximum": 10000, "description": "Caller-supplied rated electrical input power in watts.", "exclusiveMinimum": 0 }, "start_temperature_c": { "type": "number", "maximum": 200, "minimum": -50 }, "target_temperature_c": { "type": "number", "maximum": 300, "minimum": -49 }, "specific_heat_kj_kg_k": { "type": "number", "maximum": 10, "description": "Caller-supplied effective specific heat of the contents.", "exclusiveMinimum": 0 } }, "additionalProperties": false }arguments 129 linesbuilding_heat_demand reads 0.004 USDC paid 25h ago
Computes a transparent planning estimate for space-heating demand. The method is not DIN, VDI, GEG or PHPP and must not be used as regulatory proof. It combines transmission heat loss from each envelope component, ventilation heat loss from heated volume and air changes, monthly heating degree days from the nearest DWD 1991-2020 temperature-normal station, stated internal gains and optional domestic hot water. The response names the station, distance and formula terms so another system can audit the result. Preis 0.004 USDC je Aufruf, Abrechnung über x402.
{ "type": "object", "examples": [ { "lat": 52.52, "lon": 13.405, "profile": { "indoor_temp_c": 20, "internal_gains_w": 350, "heating_base_temp_c": 15 }, "envelope": [ { "name": "external walls", "area_m2": 168, "u_value_w_m2k": 0.22 }, { "name": "roof", "area_m2": 118, "u_value_w_m2k": 0.16 }, { "name": "ground floor", "area_m2": 92, "u_value_w_m2k": 0.25 }, { "name": "windows", "area_m2": 31, "u_value_w_m2k": 0.95 } ], "ventilation": { "air_changes_per_hour": 0.45, "heat_recovery_efficiency": 0.15 }, "heated_volume_m3": 365, "system_efficiency": 0.92, "heated_floor_area_m2": 145, "max_station_distance_km": 70, "domestic_hot_water_kwh_year": 1800 } ], "required": [ "lat", "lon", "heated_floor_area_m2", "heated_volume_m3", "envelope" ], "properties": { "lat": { "type": "number", "maximum": 56, "minimum": 47, "description": "Latitude in Germany; the DWD normal dataset used here covers Germany." }, "lon": { "type": "number", "maximum": 16, "minimum": 5 }, "profile": { "type": "object", "properties": { "indoor_temp_c": { "type": "number", "default": 20, "maximum": 30, "minimum": 5 }, "internal_gains_w": { "type": "number", "default": 0, "maximum": 100000, "minimum": 0 }, "heating_base_temp_c": { "type": "number", "default": 15, "maximum": 25, "minimum": 0 } }, "additionalProperties": false }, "envelope": { "type": "array", "items": { "type": "object", "required": [ "name", "area_m2", "u_value_w_m2k" ], "properties": { "name": { "type": "string", "maxLength": 80, "minLength": 1 }, "area_m2": { "type": "number", "maximum": 100000, "minimum": 0.1 }, "u_value_w_m2k": { "type": "number", "maximum": 8, "minimum": 0.01 } }, "additionalProperties": false }, "maxItems": 40, "minItems": 1 }, "ventilation": { "type": "object", "properties": { "air_changes_per_hour": { "type": "number", "default": 0.5, "maximum": 5, "minimum": 0 }, "heat_recovery_efficiency": { "type": "number", "default": 0, "maximum": 0.95, "minimum": 0 } }, "additionalProperties": false }, "heated_volume_m3": { "type": "number", "maximum": 1000000, "minimum": 10 }, "system_efficiency": { "type": "number", "default": 1, "maximum": 1.5, "minimum": 0.5 }, "thermal_bridge_w_k": { "type": "number", "default": 0, "maximum": 100000, "minimum": 0 }, "heated_floor_area_m2": { "type": "number", "maximum": 100000, "minimum": 5 }, "max_station_distance_km": { "type": "number", "default": 80, "maximum": 200, "minimum": 1 }, "domestic_hot_water_kwh_year": { "type": "number", "default": 0, "maximum": 1000000, "minimum": 0 } }, "additionalProperties": false }arguments 173 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's idcbea4c0c0f77db33.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/cbea4c0c0f77db33/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/cbea4c0c0f77db33?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.
Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.
- datenvertrag.halowerk.com datenvertragswerk
- medien.halowerk.com medienwerk
- lauf.halowerk.com laufwerk
- finops.halowerk.com finopswerk
- buero.halowerk.com buerowerk
- seo.halowerk.com seowerk
- commerce-central.halowerk.com commerce-central
- commerce-south.halowerk.com commerce-south
101 more sit on this domain. All of them.