github Python re-analysis due

malkreide/swiss-energy-mcp

github

MCP server for Swiss energy data (SFOE/BFE) via GeoAdmin REST API — no API key required

maintainer
malkreide
license
MIT
first seen
2026-06-04
last seen
2026-08-24
releases · 30d
2
short id

Drift inferred · capture-to-capture

tool count over time

06-07 08:01 now
10t
10t
capabilities 10 tools
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

skills & danger signals github-tarball
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

code evidence vv0.4.1 · github-tarball
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