← MilanMetroStatus.itCONTENT HISTORY

Update to MilanMetroStatus.it

Snapshot Oct 24, 2026 · 13:07 UTC · version 4.0.2

WHAT CHANGED

Package or technical metadata updated

Package or technical metadata updated

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Save MilanMetroStatus.it and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

These are saved file metadata. Open a changed file to read its text edits.

Package file

Before

Oct 7, 2026 · 18:02 UTC

c97ea6f493179156e743b0976910461cf40f89671e61f3646dedcecc8bacd56d

After

Oct 24, 2026 · 13:07 UTC

fda3ac5ade9d8bedd5f515db91097fc386e0447dc6aac07a89aa8b8dbb8eeb0f

Package file

Before

Oct 7, 2026 · 18:02 UTC

127

After

Oct 24, 2026 · 13:07 UTC

108

Package file

Before

Oct 7, 2026 · 18:02 UTC

{"sha256":"f639bd973200ee7ce69ca26cabe3f00143276ac257b7448269d93d6d35d2d6fb","size":2698}

After

Oct 24, 2026 · 13:07 UTC

Not present

Package file

Before

Oct 7, 2026 · 18:02 UTC

Not present

After

Oct 24, 2026 · 13:07 UTC

{"sha256":"989019f43c2a80f027f5a573dfd18983d86b3206bee3ad72b4ebddbe60ed47e6","size":11257}

Compare saved observations

Download comparison JSON

Changed files

Choose a file to see its text changes. Binary or large files show metadata only.

.app.json →

.codex-plugin/plugin.json →

assets/icon.png →

assets/logo.png →

assets/screenshot-01.png →

assets/screenshot-02.png →

assets/screenshot-03.jpg →

mcp.json →

plugin.json →

plugin.json

− removed · + added

--- before
+++ after
@@ -0,0 +1,110 @@
+{
+  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
+  "name": "app-6a4c0a6c662c81919a0195f2b8eb819b",
+  "version": "4.0.2",
+  "description": "Never get stranded underground again.\n\nGet instant, real-time status updates for all Milan metro lines M1, M2, M3, M4, and M5. Whether there's a delay, a service disruption, or everything's running smoothly, this plugin gives you a clear and immediate picture before you step onto the platform.\n\nSimply ask things like:\n- Is the M2 running normally right now?\n- Are there any disruptions on the Milan metro today?\n- What's the status of all lines?\n\nPerfect for daily commuters, tourists, and anyone navigating Milan's underground network. Stay informed, save time, and travel smarter.\n\nMetro status data is sourced directly from public feed, so you're always getting information straight from the source.\n\nThis plugin is developed by an independent developer and is not an official ATM Milano product. Always verify critical travel information directly with ATM Milano or official sources before making travel decisions.",
+  "author": {
+    "name": "Salvatore Cordiano",
+    "url": "https://milanmetrostatus.it/mcp-app/"
+  },
+  "homepage": "https://milanmetrostatus.it/mcp-app/",
+  "keywords": [
+    "milan",
+    "metro",
+    "atm",
+    "public transport",
+    "travel",
+    "real-time"
+  ],
+  "extensions": {
+    "com.openai": {
+      "interface": {
+        "displayName": "MilanMetroStatus.it",
+        "shortDescription": "Real-time Metro Updates",
+        "longDescription": "Never get stranded underground again.\n\nGet instant, real-time status updates for all Milan metro lines M1, M2, M3, M4, and M5. Whether there's a delay, a service disruption, or everything's running smoothly, this plugin gives you a clear and immediate picture before you step onto the platform.\n\nSimply ask things like:\n- Is the M2 running normally right now?\n- Are there any disruptions on the Milan metro today?\n- What's the status of all lines?\n\nPerfect for daily commuters, tourists, and anyone navigating Milan's underground network. Stay informed, save time, and travel smarter.\n\nMetro status data is sourced directly from public feed, so you're always getting information straight from the source.\n\nThis plugin is developed by an independent developer and is not an official ATM Milano product. Always verify critical travel information directly with ATM Milano or official sources before making travel decisions.",
+        "developerName": "Salvatore Cordiano",
+        "category": "Travel",
+        "capabilities": [],
+        "websiteURL": "https://milanmetrostatus.it/mcp-app/",
+        "supportURL": "https://milanmetrostatus.it/mcp-app/support/",
+        "privacyPolicyURL": "https://milanmetrostatus.it/mcp-app/privacy-policy/",
+        "termsOfServiceURL": "https://milanmetrostatus.it/mcp-app/tos/",
+        "defaultPrompt": [
+          "Are there any disruptions on the Milan metro today?",
+          "What's the status of all lines?",
+          "What is the status of M3?"
+        ],
+        "composerIcon": "./assets/icon.png",
+        "logo": "./assets/logo.png",
+        "screenshots": [
+          "./assets/screenshot-01.png",
+          "./assets/screenshot-02.png",
+          "./assets/screenshot-03.jpg"
+        ]
+      },
+      "review": {
+        "test_cases": {
+          "positive": [
+            {
+              "description": "Check the status of all metro lines at once",
+              "prompt": "What is the current status of the Milan metro?",
+              "tools_triggered": "get-metro-status",
+              "expected_behavior": "A summary of all five lines (M1\u2013M5) with their current operational status (e.g., regular service, delays, suspended)"
+            },
+            {
+              "description": "Check a single line before commuting",
+              "prompt": "Is the M2 running normally right now?",
+              "tools_triggered": "get-metro-status",
+              "expected_behavior": "The status of the M2 line only, with a plain-language answer about whether service is regular or disrupted"
+            },
+            {
+              "description": "Detect any active disruption across the network",
+              "prompt": "Are there any disruptions on the Milan metro today?",
+              "tools_triggered": "get-metro-status",
+              "expected_behavior": "Either a confirmation that all lines are running normally, or a list of the affected lines with their disruption type (e.g., partial suspension on M3)"
+            },
+            {
+              "description": "Plan a trip that requires switching lines",
+              "prompt": "I need to take the M1 and then the M5 to get to work, are both lines OK?",
+              "tools_triggered": "get-metro-status",
+              "expected_behavior": "Individual status for M1 and M5, with a combined recommendation on whether the planned route is feasible"
+            },
+            {
+              "description": "Verify a disruption reported on social media",
+              "prompt": "I saw on Facebook that the M4 is suspended, is that true?",
+              "tools_triggered": "get-metro-status",
+              "expected_behavior": "The real-time status of the M4 line, either confirming the reported suspension or clarifying that service is currently regular"
+            }
+          ],
+          "negative": [
+            {
+              "description": "The user asks about public transport in a different city",
+              "prompt": "What is the current status of the London Underground?"
+            },
+            {
+              "description": "The user asks a general question about Milan that is not related to metro status",
+              "prompt": "What are the best restaurants to visit in Milan?"
+            },
+            {
+              "description": "The user asks about a different transport mode in Milan",
+              "prompt": "Is the Milan to Rome train running on time today?"
+            }
+          ]
+        },
+        "demo_recording_url": "https://milanmetrostatus.it/assets/video.mp4",
+        "commerce": false,
+        "commerce_description": "This plugin does not sell products or process payments."
+      },
+      "publication": {
+        "release_notes": "Migration of MilanMetroStatus.it to the Agent Plugins package format. The application gives users instant access to real-time operational status for all five Milan metro lines (M1\u2013M5), pulling live data directly from the public feed. Users can ask about a specific line or request a full network overview, and receive clear, natural-language answers about delays, disruptions, or normal service. The app supports conversational queries like \"Is the M2 running?\" or \"Are there any delays on the M3?\", making it easy to check metro conditions without navigating official transit pages.",
+        "translations": {
+          "it-IT": {
+            "subtitle": "La Metro Milano in real-time",
+            "description": "Non restare mai pi\u00f9 bloccato sottoterra.\n\nCon questo plugin conosci lo stato in tempo reale di tutte le linee della metropolitana di Milano (M1, M2, M3, M4 e M5). Ritardi, disservizi o tutto regolare: prima di scendere in banchina sai gi\u00e0 cosa aspettarti.\n\nPuoi semplicemente chiedere cose tipo:\n- La M2 sta funzionando regolarmente?\n- Ci sono disservizi sulla metro di Milano oggi?\n- Come va il servizio su tutte le linee?\n\nIdeale per chi prende la metro tutti i giorni, per i turisti e per chiunque si muova sotto la citt\u00e0. Informato, veloce, senza sorprese.\n\nI dati sullo stato della metro arrivano direttamente da un feed pubblico, quindi sono sempre di prima mano.\n\nIl plugin \u00e8 realizzato da uno sviluppatore indipendente e non \u00e8 un prodotto ufficiale di ATM Milano. Per le decisioni di viaggio importanti, verifica sempre le informazioni direttamente con ATM Milano o con i canali ufficiali."
+          }
+        }
+      },
+      "apps": "./.app.json"
+    }
+  }
+}
Full technical diff · 10 changed fields

changed /files/.app.json/sha256

BEFORE
"c97ea6f493179156e743b0976910461cf40f89671e61f3646dedcecc8bacd56d"
AFTER
"fda3ac5ade9d8bedd5f515db91097fc386e0447dc6aac07a89aa8b8dbb8eeb0f"

changed /files/.app.json/size

BEFORE
127
AFTER
108

removed /files/.codex-plugin~1plugin.json

BEFORE
{
  "sha256": "f639bd973200ee7ce69ca26cabe3f00143276ac257b7448269d93d6d35d2d6fb",
  "size": 2698
}
AFTER
Field is absent

added /files/assets~1icon.png

BEFORE
Field was absent
AFTER
{
  "sha256": "989019f43c2a80f027f5a573dfd18983d86b3206bee3ad72b4ebddbe60ed47e6",
  "size": 11257
}

added /files/assets~1logo.png

BEFORE
Field was absent
AFTER
{
  "sha256": "34eb5c897614fce62c6f1432bb0ff4db71b3146258516bedada48c3ce0b38536",
  "size": 23146
}

added /files/assets~1screenshot-01.png

BEFORE
Field was absent
AFTER
{
  "sha256": "74e9a2fc4bf0e4648b5ccf19ac7e4e421ec43a8cb99480367399c00de3198ea2",
  "size": 33428
}

added /files/assets~1screenshot-02.png

BEFORE
Field was absent
AFTER
{
  "sha256": "31f2583558f36113db5f58f59b2441b983403a568322052259eb3c78fedaacea",
  "size": 63793
}

added /files/assets~1screenshot-03.jpg

BEFORE
Field was absent
AFTER
{
  "sha256": "b3d188cbadff820e7f8dcb119d939dc084c79ab8f0d097eb028b5d3a840a7c3a",
  "size": 34825
}

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "69e33b104a093b13f2170bdc49bc88a32bd535e17fee0fe7a5ac09b32123cc25",
  "size": 222
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "11f08c9e39c290075f9307845cb82b936a85c4e4a32b7386492dac27fdffd4ff",
  "size": 8025
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "fda3ac5ade9d8bedd5f515db91097fc386e0447dc6aac07a89aa8b8dbb8eeb0f",
      "size": 108
    },
    "assets/icon.png": {
      "sha256": "989019f43c2a80f027f5a573dfd18983d86b3206bee3ad72b4ebddbe60ed47e6",
      "size": 11257
    },
    "assets/logo.png": {
      "sha256": "34eb5c897614fce62c6f1432bb0ff4db71b3146258516bedada48c3ce0b38536",
      "size": 23146
    },
    "assets/screenshot-01.png": {
      "sha256": "74e9a2fc4bf0e4648b5ccf19ac7e4e421ec43a8cb99480367399c00de3198ea2",
      "size": 33428
    },
    "assets/screenshot-02.png": {
      "sha256": "31f2583558f36113db5f58f59b2441b983403a568322052259eb3c78fedaacea",
      "size": 63793
    },
    "assets/screenshot-03.jpg": {
      "sha256": "b3d188cbadff820e7f8dcb119d939dc084c79ab8f0d097eb028b5d3a840a7c3a",
      "size": 34825
    },
    "mcp.json": {
      "sha256": "69e33b104a093b13f2170bdc49bc88a32bd535e17fee0fe7a5ac09b32123cc25",
      "size": 222
    },
    "plugin.json": {
      "sha256": "11f08c9e39c290075f9307845cb82b936a85c4e4a32b7386492dac27fdffd4ff",
      "size": 8025
    }
  }
}

SHA-256 of public snapshot: 96b5489a188604c7c3f830ddfcaf8950903f2a58abb0c910da9da539374e59dd