modelmarket.dev · blog

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

2026-08-21 · 3 min read #showdev#mcp#ai#beginners

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:

Remote URL (streamable HTTP):

https://modelmarket.dev/mcp

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):

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:

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

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

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.

Questions or corrections? The discussion is on dev.to.