MCP server for Swiss energy data (SFOE/BFE) via GeoAdmin REST API — no API key required
Drift inferred · capture-to-capture
tool count over time
06-07 08:01 now
10t
10t
transport stdio · streamable-http · http
verified
reported
listed in the official MCP registry counts 10 tools · 0 res
· 0 prompts
permission surface via README inference
tools
-
energy_check_status
Check availability of GeoAdmin and opendata.swiss APIs
-
energy_find_biogas_plants
Biogas plants
-
energy_find_energy_cities
Municipalities with "Energiestadt" label
-
energy_find_hydro_plants
Hydropower plants with capacity and expected output
-
energy_find_power_plants
All electricity generation plants within a radius (optional category filter)
-
energy_find_pv_installations
Large PV installations with annual/winter production
-
energy_find_wind_turbines
Wind turbines with manufacturer, model, hub height
-
energy_location_profile
Combined energy profile (5 layers) for a location
-
energy_search_bfe_datasets
Full-text search over SFOE datasets on opendata.swiss
-
energy_solar_potential
Solar suitability of roof segments at a location
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit fa3bba2 · analyzer v32 · 1w ago
danger signals1
- suspicious endpoint 169.254.169.254 (cloud metadata) malkreide-swiss-energy-mcp-fa3bba2/tests/test_unit.py :138
assert_url_allowed("https://169.254.169.254/latest/meta-data")
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 24
filesystem 3
- fs (weak) malkreide-swiss-energy-mcp-fa3bba2/scripts/check_version_sync.py :35
from pathlib import Path - fs (weak) malkreide-swiss-energy-mcp-fa3bba2/scripts/classify_live_run.py :55
from pathlib import Path - fs (weak) malkreide-swiss-energy-mcp-fa3bba2/tests/test_classify_live_run.py :21
from pathlib import Path
network 4
- net malkreide-swiss-energy-mcp-fa3bba2/src/swiss_energy_mcp/api_client.py :24
import socket - net (weak) malkreide-swiss-energy-mcp-fa3bba2/tests/test_response_shape.py :22
import httpx - net (weak) malkreide-swiss-energy-mcp-fa3bba2/tests/test_retry_policy.py :14
import httpx - net (weak) malkreide-swiss-energy-mcp-fa3bba2/tests/test_tools.py :5
import httpx
declared dependencies 10
- mcp@>=2.0.0,<3
- httpx@>=0.27.0
- pydantic@>=2.0.0
- pydantic-settings@>=2.0.0
- structlog@>=24.1.0,<27
- uvicorn@>=0.30.0
- ruff@>=0.4.0
- pytest@>=8.0.0
- pytest-asyncio@>=0.23.0
- respx@>=0.21.0
transport_posture 1
- network-listening, binds all interfaces, no auth detected malkreide-swiss-energy-mcp-fa3bba2/tests/test_transport_security.py :40
assert build_transport_security(Settings(host="0.0.0.0", port=8000)) is None