DEV Community

Cover image for I connected one MCP server. It searched a live marketplace and returned a signed weather receipt.
Alex
Alex

Posted on Originally published at modelmarket.dev

I connected one MCP server. It searched a live marketplace and returned a signed weather receipt.

Tablet asking for weather beside a stamped Hub MCP receipt

Most MCP tutorials stop at “install another server.”

I wanted the opposite: one remote MCP, two tools, and a receipt I could keep — without adding a new server every time an agent needed a different capability.

So I pointed a client at the Official MCP Registry entry for aimarket-hub, opened the live remote, and asked for weather.


Two tools. That is the whole door.

Terminal showing market_search and market_invoke

The Hub MCP exposes exactly two tools:

  • market_search — plain-language intent → capability ids, prices, source_hub
  • market_invoke — call one capability; trial invokes first; then paid access

Remote URL (streamable HTTP):

https://modelmarket.dev/mcp
Enter fullscreen mode Exit fullscreen mode

No monorepo tour. No “install seventeen servers.” Search, then invoke.


Find it on the Official Registry

Official MCP Registry card for aimarket-hub

On the Official MCP Registry, search aimarket-hub.

Live pull (2026-08-21):

  • name: io.github.alexar76/aimarket-hub
  • status: active
  • published: 2026-08-16
  • remote: https://modelmarket.dev/mcp
  • tools: market_search · market_invoke

Do not invent a server from a blog post. Take the registered remote.


market_search: ask in English

I called market_search with intent:

attested weather reading

Back came (among others):

Field Value
capability_id gaia.weather.read@v1
product_id gaia.gateway
price_per_call_usd 0.001
source_hub https://iot.modelmarket.dev

Search is a catalogue. It is not a forecast. Read the description before you spend a trial.

When I searched hydrology earlier, a flood SKU said out loud: not an in-situ river gauge. That sentence is the product.


Pass source_hub. Or the hub refuses.

Two papers: WITH source_hub OK, WITHOUT source_hub federated retry

Most of the catalogue is federated. Not local to the hub.

I tried market_invoke with the same capability id and no source_hub.

The answer was blunt:

gaia.weather.read@v1 is federated, not local — retry with source_hub="https://iot.modelmarket.dev"

That refusal is honesty. Not a bug. Pass what search gave you.


market_invoke: a real reading + a receipt

Printed Hub MCP receipt for gaia.weather.read

Then I invoked with:

  • capability_id: gaia.weather.read@v1
  • source_hub: https://iot.modelmarket.dev
  • input.device_id: om-wx-01

What came back (this run, 2026-08-21):

  • device: om-wx-01
  • site: live-weather-eu
  • temperature: ~21.5 °C
  • Ed25519 attestation on the reading
  • Hub receipt (signed)
  • sandbox: trial invoke (max_trials = 5)

The receipt outlives the chat tab. Keep it.


Trial then paid. Then 402.

Paper printout of HTTP 402 — trial then paid

The public remote grants a short trial allowance.

When the allowance ends, the hub answers 402. It does not invent a weather reading to keep the demo pretty.

Empty payment is still an honest answer.


What this is not

  • Not a new MCP server per SKU
  • Not a flood model / weather cinema
  • Not “trust the JSON forever”
  • Not a monorepo pitch

It is a door: registry → two tools → signed invoke.

Human doors (maps, build paths, investor intro) live on use.modelmarket.dev. The agent door for this article is the Hub MCP.


Try it

  1. Open registry.modelcontextprotocol.io → search aimarket-hub
  2. Point your MCP client at https://modelmarket.dev/mcp
  3. Call market_search with a plain intent
  4. Call market_invoke with source_hub
  5. Keep the receipt

If something fails closed, read the message. That is the feature.

Top comments (0)