Content
# alltag
**Alltag** (German for _"everyday"_) is an MCP server that brings together the information you look up most often into a single interface for Claude Desktop and other MCP clients. It provides weather, news, exchange rates, travel, recipes, reference data, and more through one server, using the most appropriate source for each task. It also has a `daily_briefing` tool that combines updates from multiple services into a single report.
### Highlights
- **Works immediately.** More than 35 tools are available after installation without requiring API keys.
- **Optional upgrades.** Add your own API keys for stocks, economic data, nutrition, flight tracking, and movies through a simple configuration wizard.
- **Runs locally.** API keys stay on your machine and are sent directly to the service you choose.
## Quick Start
Requires **Node.js 18 or newer**.
Add the following to your `claude_desktop_config.json`:
```json
"mcpServers": {
"alltag": {
"command": "npx",
"args": ["-y", "alltag-mcp"]
}
}
```
Restart Claude Desktop and the server is ready to use.
Example:
> "Give me a daily briefing for Lisbon."
### Running from a Local Checkout
After building the project with:
```bash
npm run build
```
point Claude Desktop to the compiled entry point:
```json
{
"mcpServers": {
"alltag": {
"command": "node",
"args": ["C:/path/to/alltag/dist/cli.js"]
}
}
}
```
## Available Tools
### Daily Briefing
`daily_briefing` combines several commonly requested updates into a single response:
- Current weather
- Air quality
- Today's public holiday (if applicable)
- Foreign exchange movements
- Cryptocurrency watchlist
- Top news headlines
- Personal stock watchlist (when configured)
If no location is supplied, the server estimates your current city from your public IP address. Supplying a location always takes priority.
---
### Tier 1 - No API Key Required
| Category | Tools |
| --------------------- | -------------------------------------------------------------------------- |
| Weather & Environment | `weather`, `air_quality`, `earthquakes_near` |
| Currency & Crypto | `currency_convert`, `fx_rate`, `crypto_price` |
| News & Reference | `rss`, `hacker_news`, `wiki_summary` |
| General Reference | `define`, `country_facts`, `current_time`, `holidays`, `is_holiday` |
| Maps & Location | `geocode`, `reverse_geocode`, `route`, `my_ip` |
| Food & Health | `food_by_barcode`, `recipe_search`, `recipe_by_id`, `drug_info`, `recalls` |
| Sports | `sports_scores`, `fixtures` |
| Utilities | `make_qr`, `shorten_url` |
| System | `status` |
### Tier 2 - Optional Free API Keys
| Tool | Provider |
| -------------------- | ------------- |
| `stock_quote` | Finnhub |
| `economic_indicator` | FRED |
| `headlines` | NewsAPI |
| `nutrition` | Nutritionix |
| `flight_status` | AviationStack |
| `movie_tv_info` | TMDB |
If a required key has not been configured, these tools return a short message explaining how to enable them instead of failing.
## Configuring API Keys
```bash
npx alltag configure
```
Configure a single provider:
```bash
npx alltag configure finnhub
```
Check configured providers:
```bash
npx alltag status
```
Remove stored credentials:
```bash
npx alltag reset [provider]
```
Before saving a key, the configuration process verifies it with the provider. Invalid or unreachable credentials are not stored.
### Storage Priority
Credentials are resolved in this order:
1. Environment variables
2. Operating system keychain
3. `.env` file in the application configuration directory
Keys are never logged and are only sent to the service that requires them.
## Data Sources
### Included by Default
- Open-Meteo
- USGS
- Frankfurter
- CoinGecko
- Nager.Date
- TimeAPI
- OpenStreetMap Nominatim
- Open-Meteo Geocoding
- OSRM
- Trevorblades Countries
- Open Food Facts
- TheMealDB
- openFDA
- TheSportsDB
- Hacker News
- Wikipedia
- Free Dictionary
- ipapi
- qrserver
- TinyURL
### Optional Providers
- Finnhub
- FRED
- NewsAPI
- Nutritionix
- AviationStack
- TMDB
## Development
Install dependencies:
```bash
npm install
```
Build the project:
```bash
npm run build
```
Run the MCP server:
```bash
npm start
```
View configured providers:
```bash
npm run status
```