LABSCO SUMMARY
The weather is the excuse.
Read this as a demonstration of pay-per-call tooling rather than as a forecast source: the interesting part is watching a 402 turn into a payment and a retry without a human in the loop. Set up the wallet server first — without it, everything except the free city stops at the payment challenge.
What it is
A minimal weather MCP server built to demonstrate paid tool calls. Forecast access is gated behind the Latinum Wallet MCP server and settled on Solana Devnet; the README names Dublin as the city available without payment.
What you get
- Real-time weather for a city, requested as an ordinary tool call
- A working payment loop: an unpaid request returns
402, the client pays through the Latinum Wallet MCP server, and the call is retried automatically - One free city so the flow can be seen from both sides — the README's walkthrough contrasts a request that answers instantly against one that triggers the wallet
- Settlement on Solana Devnet, so the demonstration costs nothing real
- An editable install from the clone, so the demo can be changed and rerun locally
Requirements
Python 3.10 or newer, with a virtualenv and pip install --editable . from a clone of this repository. The Claude Desktop entry points at the venv's Python and weather_mcp/server_stdio.py. Paid calls need the Latinum Wallet MCP server configured alongside it, with a Solana Devnet wallet behind it; the free city works without either. The current version is 0.0.1.
Setup effort
Build from source — git clone https://github.com/Latinum-Formal-Methods/weather_mcp.git
USE CASES
Seeing how a paid tool call works
Ask for a city that is gated and watch the 402, the payment and the retry happen in sequence.
Testing an agent wallet without spending
Run the whole loop on Solana Devnet before pointing a wallet at anything real.
Checking the free path first
Ask for the city the README leaves free to confirm the server answers before adding the wallet.
BEFORE YOU INSTALL
What to know first
Requires
- Python 3.10+
- The Latinum Wallet MCP server in the same client, for every city except the free one
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/Latinum-Formal-Methods/weather_mcp.git
cd weather_mcp
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip setuptools wheel
pip install --upgrade --upgrade-strategy eager -r requirements.txt
pip install --editable .MCP Clients
Claude Desktop
{
"mcpServers": {
"weather_mcp": {
"command": "/Users/<YOUR_USERNAME>/workspace/weather_mcp/.venv/bin/python",
"args": [
"/Users/<YOUR_USERNAME>/workspace/weather_mcp/weather_mcp/server_stdio.py"
]
}
}
}/Users/<YOUR_USERNAME>/workspace/weather_mcp, in both paths, is the full path of the weather_mcp folder the clone step created. As published, the block assumes a Mac with the clone in ~/workspace. Paid cities also need the Latinum Wallet MCP server in the same mcpServers object, next to weather_mcp; its install steps and entry are on its own page: https://labsco.ai/servers/Latinum-Agentic-Commerce/latinum-wallet-mcp