MCP server for cold-chain sensor data analysis: threshold breaches, anomalies, journey segmentation. All processing local.
Project description
Cold-Chain MCP Server
Analiza danych z czujników łańcucha chłodniczego dla agentów AI. Podłącz swój logger temperatury/wilgotności do Claude, Cursora czy dowolnego klienta MCP i pytaj naturalnym językiem: "czy ten przejazd naruszył łańcuch chłodniczy?", "znajdź anomalie w tym logu", "rozdziel plik na osobne przejazdy".
🔒 Prywatność: cała analiza dzieje się lokalnie. Twoje dane NIE opuszczają maszyny. Żadnych zewnętrznych API, żadnej chmury. Idealne dla środowisk compliance.
Dlaczego to narzędzie
Model językowy słabo liczy odchylenia statystyczne i naruszenia progów na tysiącach punktów pomiarowych — myli chwilowe artefakty czujnika z realnymi naruszeniami, gubi się w timestampach. Ten serwer daje agentowi deterministyczne, powtarzalne narzędzia, które robią tę robotę poprawnie za każdym razem.
Narzędzia
| Narzędzie | Co robi |
|---|---|
summary_stats |
Statystyki podsumowujące: min/max/średnia/mediana/odchylenie, zakres i czas trwania. |
detect_threshold_breaches |
Wykrywa naruszenia progów (np. 2–8°C) z minimalnym czasem trwania i histerezą — odróżnia realne naruszenie od chwilowego skoku. |
detect_anomalies |
Wykrywa punkty odstające (z-score globalny lub odchylenie od średniej kroczącej). |
segment_journey |
Dzieli ciągły log na osobne przejazdy na podstawie przerw czasowych (START/STOP). |
Kluczowa różnica: naruszenie ≠ anomalia
Krótki skok czujnika do 40°C na jedną próbkę to anomalia (błąd sensora), nie naruszenie łańcucha. Otwarte drzwi podnoszące temperaturę do 12°C przez 20 minut to naruszenie, nawet jeśli każda pojedyncza wartość jest "prawdopodobna". To narzędzie rozróżnia oba przypadki — dokładnie to, czego wymaga audyt compliance.
Instalacja
git clone https://github.com/matuzale/coldchain-mcp
cd coldchain-mcp
pip install "mcp[cli]"
Podłączenie do Claude Desktop
Dodaj do claude_desktop_config.json (patrz claude_desktop_config.example.json):
{
"mcpServers": {
"cold-chain": {
"command": "python3",
"args": ["/absolutna/sciezka/do/coldchain-mcp/server.py"]
}
}
}
Zrestartuj Claude Desktop. Narzędzia pojawią się automatycznie.
Format danych
CSV z nagłówkiem lub JSON. Nazwy kolumn są konfigurowalne (parametry ts_field, value_field), a parser rozpoznaje popularne aliasy (temp, temperature, time, czas, wartosc).
timestamp,value
2026-07-20T08:00:00,5.1
2026-07-20T08:05:00,4.9
Przykład użycia (w rozmowie z agentem)
"Załaduj sample_data.csv i sprawdź, czy przejazd naruszył zakres 2–8°C. Naruszenie liczy się dopiero po 10 minutach."
Agent wywoła detect_threshold_breaches(min_temp=2, max_temp=8, min_duration_minutes=10) i zwróci ustrukturyzowany raport.
Roadmapa
- Eksport raportów PDF (płatny tier)
- MKT (Mean Kinetic Temperature) — standard farmaceutyczny
- Wilgotność + korelacja temperatura/wilgotność
- Detektory dla wielu stref w jednym transporcie
Licencja
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file coldchain_mcp-0.1.0.tar.gz.
File metadata
- Download URL: coldchain_mcp-0.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
512d0e8189f0eae01d9dd5e031fa6736a96585889fb3ae1adeed3fb81c250a4c
|
|
| MD5 |
0d63a4236d6fd15cac72cdca352f8524
|
|
| BLAKE2b-256 |
91608db5e1e08e60ec0bfb492213858db4ff4ac93918656646a31f81f18c0478
|
File details
Details for the file coldchain_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: coldchain_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e83f9685f8b6e76d458e8bae55482199f0878cede9a65271a2369a83355eb9c
|
|
| MD5 |
439e87ea849ca214351496139cc42c52
|
|
| BLAKE2b-256 |
4dae6308f6a4b257328165236e98ddb64e834d4c4866530be169b35241eed7b7
|