Ambient
FreeNot checkedAn MCP server that wraps the Ambient Weather REST API. Query your personal weather stations conversationally from Claude Code, Claude.ai, or any MCP-compatible
About
An MCP server that wraps the Ambient Weather REST API. Query your personal weather stations conversationally from Claude Code, Claude.ai, or any MCP-compatible client.
README
An MCP (Model Context Protocol) server that wraps the Ambient Weather REST API. Query your personal weather stations conversationally from Claude Code, Claude.ai, or any MCP-compatible client.
Tools
| Tool | Description |
|---|---|
get_devices |
List all stations on the account with metadata and the latest observation (lastData) |
get_latest_observation |
Most recent reading for a single station — served from the devices cache, no extra API call |
get_historical_data |
Recent observations for a single station, paginated by days (default 1, max 30; newest-first) |
reset_cache |
Clear the in-process cache |
Configuration
Get an Application Key and API Key from https://ambientweather.net/account. Both are required:
AMBIENT_APP_KEY=...
AMBIENT_API_KEY=...
The Ambient Weather API is rate-limited to 1 request per second per API key, so this server keeps an in-process cache with a 10-minute TTL (stations typically report every 5 minutes).
Run locally (stdio)
pip install -r requirements.txt
cp .env.example .env # fill in keys
python server.py
Connect to Claude Code
Add to ~/.claude.json under mcpServers:
{
"mcpServers": {
"ambient": {
"type": "stdio",
"command": "python",
"args": ["/path/to/ambient-mcp/server.py"],
"env": {
"AMBIENT_APP_KEY": "your_application_key_here",
"AMBIENT_API_KEY": "your_api_key_here"
}
}
}
}
Run hosted (HTTP)
Set MCP_TRANSPORT=streamable-http and the server exposes a Streamable HTTP endpoint on PORT (default 8000). The included Dockerfile defaults to this mode.
docker build -t ambient-mcp .
docker run --rm -p 8000:8000 \
-e AMBIENT_APP_KEY=... \
-e AMBIENT_API_KEY=... \
ambient-mcp
Hosting options
| Option | Approx. cost | Notes |
|---|---|---|
| Azure Container Apps | ~$0/month | Scales to zero; free tier covers low-frequency weather queries |
| AWS App Runner | ~$5–11/month | Always-on, no cold starts |
| Railway | ~$0 free / ~$5/month | Simplest GitHub-connected deploy |
When hosted, add a MCP_AUTH_TOKEN environment variable on the platform and configure the client to send Authorization: Bearer <token>.
Connect to Claude.ai or Claude Code (HTTP)
{
"mcpServers": {
"ambient": {
"type": "http",
"url": "https://<your-host>/mcp",
"headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
}
}
}
Project structure
ambient_client.py # httpx-based REST client (list_devices, get_device_data)
server.py # FastMCP tool definitions + in-process cache + transport toggle
requirements.txt
Dockerfile # python:3.11-slim, streamable-http transport by default
.env.example
Installing Ambient
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/jrolstad/ambient-mcpFAQ
Is Ambient MCP free?
Yes, Ambient MCP is free — one-click install via Unyly at no cost.
Does Ambient need an API key?
No, Ambient runs without API keys or environment variables.
Is Ambient hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Ambient in Claude Desktop, Claude Code or Cursor?
Open Ambient on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Ambient with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
