IPMA Weather Server
IPMA MCP Server
A Model Context Protocol (MCP) server that exposes Portuguese weather, warning and seismic data from the public IPMA API to MCP-compatible AI clients.
Built with Node.js and the official Model Context Protocol SDK.
Features
The server exposes six MCP tools:
get_weather_forecast- daily weather forecasts for Portuguese locationsget_weather_warnings- active meteorological warningsget_seismic_data- recent seismic activityget_locations- available forecast locationsget_weather_stations- real-time weather station observationsget_uv_forecast- UV index forecasts
Data is retrieved directly from the public API provided by the Instituto Português do Mar e da Atmosfera (IPMA).
Tech Stack
Node.js
JavaScript
Model Context Protocol
@modelcontextprotocol/sdknode-fetchIPMA Open Data API
Architecture
MCP Client
│
│ Model Context Protocol
▼
IPMA MCP Server
│
│ HTTP
▼
IPMA Open Data APIThe server communicates with MCP clients through the standard input/output transport and translates tool calls into requests to the relevant IPMA endpoints.
Getting Started
Requirements
Node.js
npm
An MCP-compatible client
Installation
Clone the repository:
git clone https://github.com/brandao-20/ipma-mcp-server.git
cd ipma-mcp-serverInstall the dependencies:
npm installStart the MCP server:
npm startMCP Client Configuration
For clients that support local MCP servers, configure the server to run the project's entry point.
Example:
{
"mcpServers": {
"ipma": {
"command": "node",
"args": ["/absolute/path/to/ipma-mcp-server/src/index.js"]
}
}
}Replace the path with the absolute location of the cloned repository.
Available Tools
get_weather_forecast
Returns a daily weather forecast for a Portuguese location.
Parameters:
city string required
days number optionalExample request:
What is the weather forecast for Braga for the next three days?get_weather_warnings
Returns active meteorological warnings for Portugal.
Example request:
Are there any active weather warnings in Portugal?get_seismic_data
Returns recent seismic observations.
Supported areas:
continent
azores
madeira
allExample request:
Show me recent seismic activity in the Azores.get_locations
Lists the locations supported by the IPMA forecast API.
get_weather_stations
Returns observations from IPMA weather stations.
get_uv_forecast
Returns UV index forecast data.
Data Source
This project uses the public open-data services provided by IPMA — Instituto Português do Mar e da Atmosfera.
API:
https://api.ipma.pt/open-data/No API key is required for the IPMA endpoints used by this project.
Project Structure
ipma-mcp-server/
├── src/
│ └── index.js
├── package.json
├── package-lock.json
└── README.mdLicense
This project is licensed under the MIT License.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/brandao-20/ipma-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server