Skip to main content
Glama

get_seismic_data

Retrieve recent seismic activity data for Portugal, including continental areas, Azores, and Madeira, to monitor earthquake occurrences.

Instructions

Obter dados sísmicos recentes

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
areaNoÁrea: 'continent', 'azores', 'madeira', ou 'all'all

Implementation Reference

  • The handler function for get_seismic_data tool. Fetches seismic data from IPMA API for specified area, formats recent earthquakes (up to 10) into a markdown text response with details like time, location, magnitude, depth, coordinates.
    async getSeismicData(area) { try { let areaId; switch (area.toLowerCase()) { case "continent": areaId = 1; break; case "azores": areaId = 2; break; case "madeira": areaId = 3; break; default: areaId = 1; } const response = await fetch(`${this.baseUrl}/observation/seismic/${areaId}.json`); const data = await response.json(); if (!data.data || data.data.length === 0) { return { content: [ { type: "text", text: "Não há dados sísmicos recentes para a área especificada." } ] }; } let result = `**Dados Sísmicos - ${area}**\n\n`; result += `Última atualização: ${data.data[0]?.dataUpdate}\n\n`; const recentData = data.data.slice(0, 10); recentData.forEach((earthquake) => { const eventTime = new Date(earthquake.time).toLocaleString('pt-PT'); result += `**${eventTime}**\n`; result += `Local: ${earthquake.obsRegion || 'N/A'}\n`; result += `Magnitude: ${earthquake.magnitud} ${earthquake.magType}\n`; result += `Profundidade: ${earthquake.depth} km\n`; result += `Coordenadas: ${earthquake.lat}, ${earthquake.lon}\n\n`; }); return { content: [ { type: "text", text: result } ] }; } catch (error) { const errorMessage = error instanceof Error ? error.message : String(error); throw new McpError(ErrorCode.InternalError, `Erro ao obter dados sísmicos: ${errorMessage}`); } }
  • src/index.js:60-73 (registration)
    Registration of the get_seismic_data tool in the ListTools response, including name, description, and input schema defining optional 'area' parameter.
    { name: "get_seismic_data", description: "Obter dados sísmicos recentes", inputSchema: { type: "object", properties: { area: { type: "string", description: "Área: 'continent', 'azores', 'madeira', ou 'all'", default: "all" } } } },
  • src/index.js:112-113 (registration)
    Dispatcher case in CallToolRequestSchema handler that routes get_seismic_data calls to the getSeismicData method with default area 'all'.
    case "get_seismic_data": return await this.getSeismicData(args?.area || "all");

Latest Blog Posts

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/mcp_server_ipma'

If you have feedback or need assistance with the MCP directory API, please join our Discord server