Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak

AI-Natywna Kontrola dla Worksection: Claude, Cursor, ChatGPT przez M

Kontrola AI-Native dla Worksection: Claude, Cursor, ChatGPT przez MCP
Sytuacja
Klient prowadził całą swoją działalność w Worksection: zadania, projekty, komentarze, koszty, przypisania zespołu. Ich zespół również w pełni zaangażował się w asystentów AI (Claude, Cursor, ChatGPT) do codziennej pracy. Jednak te dwa światy były od siebie odłączone. AI nie wiedziało nic o Worksection, a Worksection nie wiedziało nic o AI.

Problem
Każda interakcja między tymi dwoma narzędziami była manualna. Programista prosił Claude'a o sporządzenie opisu zadania, a następnie ręcznie kopiował go do Worksection. Kierownik projektu robił zrzut ekranu statusu projektu i wklejał go do ChatGPT, aby podsumować. AI mogło myśleć o pracy, ale nie mogło jej wykonać. Ta pętla kopiowania i wklejania zabiła większość zysku wydajności, jakiego klient oczekiwał od AI w pierwszej kolejności. Potrzebowali, aby AI mogło czytać i pisać w Worksection bezpośrednio, z odpowiednią autoryzacją, bez wspólnych poświadczeń i bez ręcznie tworzonych integracji dla każdego członka zespołu.

Rozwiązanie
Zbudowałem serwer MCP (Model Context Protocol) produkcji, który znajduje się między każdym klientem AI zgodnym z MCP a API Worksection. AI wywołuje nazwane narzędzie, takie jak post_task lub get_projects, a serwer zajmuje się autoryzacją, ograniczeniem liczby żądań, tłumaczeniem ładunków i kształtowaniem odpowiedzi.

Działa jako wielo-tenantowy SaaS: każdy zespół rejestruje się raz, otrzymuje własne zaszyfrowane poświadczenia i klientów OAuth, a następnie łączy Claude'a lub Cursor z jednym URL. Panel administracyjny (React + Vite) pozwala operatorowi zarządzać najemcami, rotować sekrety OAuth, dostosowywać limity liczby żądań dla każdego najemcy i dokładnie widzieć, które narzędzia są wywoływane i jak często.

Trzy decyzje techniczne zdefiniowały budowę. Po pierwsze, API Worksection autoryzuje tylko z ciągu zapytania URL (ciała POST są ignorowane przez jego walidację hasha), więc każde wywołanie wychodzące używa kodowania w dwóch etapach: surowy ciąg do haszowania MD5, ponownie zakodowany ciąg do transportu. Po drugie, każdy klucz API najemcy jest szyfrowany w spoczynku za pomocą AES-256-GCM; tekst jawny nigdy nie dotyka bazy danych. Po trzecie, odpowiedzi API są aktywnie kompresowane przed zwróceniem do AI, ponieważ surowe ładunki Worksection mogą przekroczyć okno kontekstu modelu w dużych projektach.

Stos technologiczny: Node.js 20, TypeScript, Express, @modelcontextprotocol/sdk, Supabase (PostgreSQL), OAuth2, AES-256-GCM, Zod, Winston, React, Vite, Docker, nginx, Hetzner VPS.

Wyniki
26 narzędzi MCP działa w produkcji w 7 kategoriach: zadania, projekty, komentarze, członkowie, koszty, tagi, pliki
Wielo-tenantowy SaaS z autoryzacją OAuth2, limitami liczby żądań dla każdego najemcy i zaszyfrowanymi poświadczeniami
Brak kopiowania i wklejania między asystentem AI a Worksection w codziennych operacjach projektowych
30-dniowe tokeny OAuth dostosowane specjalnie do wzorców użycia klientów AI (brak cichych błędów 401 w trakcie sesji)
Panel administracyjny z zarządzaniem najemcami, rotacją sekretów OAuth i analizą użycia dla każdego narzędzia w oknach 7/30/90 dni
Wzmocnione produkcyjnie: wdrożenie Docker, nginx jako reverse proxy, punkt zdrowia z metadanymi budowy, strukturalne logowanie
Aktywne w produkcji, obsługujące rzeczywistych najemców na żywym VPS

Jak to działa
1. Najemca rejestruje się za pomocą swojego URL Worksection i klucza API; serwer szyfruje klucz i wysyła e-mail z potwierdzeniem OTP
2. Najemca potwierdza za pomocą OTP, konto aktywuje się
3. Klient AI (Claude, Cursor, ChatGPT) autoryzuje się za pomocą OAuth2 i otrzymuje 30-dniowy token dostępu
4. AI wywołuje narzędzie (np. post_task); serwer weryfikuje token dostępu i rozwiązuje najemcę z pamięci podręcznej
5. Serwer tłumaczy wywołanie na żądanie GET Worksection z hasłem MD5, ponawia z opóźnieniem w przypadku niepowodzenia
6. Skondensowana odpowiedź wraca do AI; użycie jest rejestrowane w Supabase do analizy
Szczegóły pracy
Dodana 7 kwietnia
59 wyświetleń
Freelancer
Andrey Boyko
Ukraina Charków
Brak opinii

Gotowy do podjęcia pracy Gotowy do podjęcia pracy
W serwisie 9 lat