Zbudowany 2026-07-09. Stdio MCP, 1 narzędzie: search_leads (dbfirmy.aionflow.pl leads).
/var/www/aionflow-mcp/aionflow-mcp.mjs
| Kategoria | Wartość |
|---|---|
| names | search_leads |
Ostatnia synchronizacja: 2026-07-13T09:23:47.580Z
inspiracja
Nagłówek: 'ten sam wzorzec co agent.aionflow.pl/mcp/aion-router-mcp.mjs' — potwierdzono istnienie tego pliku. Świadomy wybór zera zależności: tylko wbudowany fetch i moduły node:.
źródło: aionflow-mcp.mjs (linie 2-16)
cel
search_leads filtruje kolekcję 'leads' w Directus REST po query (_icontains), opcjonalnie city i pkd, limit 1-100. Opis narzędzia ostrzega o nierównym pokryciu geograficznym bazy.
źródło: aionflow-mcp.mjs (TOOLS, searchLeads)
zależności
Cały katalog to jeden plik .mjs bez package.json/node_modules. Jeśli DBFIRMY_URL/TOKEN nie są w env, kod czyta je bezpośrednio z panel.aionflow.pl/.env własnym parserem.
źródło: aionflow-mcp.mjs (readEnvVar), ls (brak package.json)
znaczenie
Wpis w ~/.claude.json (type stdio) potwierdza, że Claude Code może wywołać search_leads bezpośrednio w rozmowie, współdzieli sekret Directus z panel.aionflow.pl CRM.
źródło: grep 'aionflow-mcp' w ~/.claude.json
co działa
initialize zwraca poprawne serverInfo; search_leads z query='sklep' zwróciło realne rekordy; dbfirmy.aionflow.pl/server/ping odpowiada 200 'pong'.
źródło: bezpośredni test JSON-RPC, curl ping
co nie działa
Wywołanie search_leads z samym {city:'Tarnów'} (bez query) NIE zwróciło błędu mimo że schemat deklaruje query jako required — filtr zbudował się na undefined i dopasował wszystkie rekordy. Brak timeoutu na fetch.
źródło: test JSON-RPC z pominiętym query, przegląd directusFilterParams
co do przetestowania
Nie zweryfikowano czy DBFIRMY_TOKEN ma least-privilege. Plik wygląda na powstały dziś rano — testy tej sesji mogą być pierwszym realnym użyciem narzędzia.
źródło: porównanie backup ~/.claude.json vs aktualny, mtime pliku
rekomendacja
Dodać jawne sprawdzenie obecności query przed budową filtra oraz AbortController z limitem czasu. Napisać brakujący README.md, do którego odwołuje się komentarz w nagłówku pliku.
źródło: przegląd kodu (brak walidacji, brak AbortController, brak README)