Serwer MCP Sandtime.io

Model Context Protocol (MCP) pozwala klientom AI, takim jak Claude, ChatGPT i Claude Code, komunikować się bezpośrednio z Sandtime.io. Połącz raz i twórz, przeglądaj oraz raportuj wpisy czasu z narzędzi, których już używasz.

Czym jest MCP?

Model Context Protocol to otwarty standard łączenia asystentów AI z zewnętrznymi narzędziami i danymi. Serwer MCP Sandtime.io udostępnia Twoją przestrzeń śledzenia czasu - aktywności, projekty, raporty, grafiki i więcej - jako zestaw narzędzi, które asystent może wywoływać w Twoim imieniu.

Akcje odczytu zwracają czyste, zmaterializowane dane ze sformatowanymi czasami trwania i czasami lokalnymi. Akcje destrukcyjne, takie jak usunięcie projektu lub członka zespołu, celowo przekazują decyzję człowiekowi, zwracając bezpośredni link do właściwej strony w aplikacji.

Dopiero zaczynasz rejestrować czas z poziomu edytora? Zobacz, jak deweloperzy korzystają z Sandtime.io na co dzień.

Potrzebujesz zwykłego HTTP albo cURL? Zobacz REST API, aby skorzystać z integracji na niższym poziomie.

O co możesz zapytać

Rozmawiaj ze swoim asystentem zwykłym językiem. Sam ustali właściwego użytkownika, projekt i daty, a następnie wywoła za Ciebie odpowiednie narzędzia.

Zarejestruj 8 godzin w projekcie Acme na wczoraj.
Uzupełnij zeszły tydzień moimi zwykłymi godzinami i pomiń święto.
Co zarejestrowałem w tym tygodniu, w podziale na projekty?
Zatrzymaj mój działający stoper.
Zbuduj raport godzin rozliczalnych według klienta za ostatni miesiąc.
Które tygodnie są nadal zablokowane w moim grafiku?

Podłącz asystenta

Najszybszy sposób to logowanie w przeglądarce: wklej adres serwera do swojego asystenta, zaloguj się do Sandtime.io i zatwierdź. Bez klucza API, bez plików konfiguracyjnych.

https://mcp.sandtime.io/mcp

Claude.ai (Web)

  1. Otwórz Ustawienia, następnie Łączniki i wybierz dodanie własnego łącznika.
  2. Wklej powyższy adres URL serwera, a następnie dodaj łącznik.
  3. Zaloguj się do Sandtime.io w przeglądarce i zatwierdź dostęp.
Otwórz łączniki Claude

W planach Team i Enterprise łącznik musi najpierw włączyć właściciel w ustawieniach organizacji.

Claude Desktop

  1. Dodaj Sandtime.io jako zdalny łącznik - nie musisz edytować żadnego pliku konfiguracyjnego.
  2. Zaloguj się i zatwierdź, gdy otworzy się przeglądarka.

ChatGPT (Web)

  1. Włącz tryb programisty, następnie otwórz Łączniki i dodaj własny łącznik.
  2. Wklej powyższy adres URL serwera, a następnie zaloguj się i zatwierdź.

ChatGPT Desktop

  1. Dodaj Sandtime.io jako łącznik w ChatGPT tylko raz - zobacz kroki dla ChatGPT (Web) powyżej.
  2. Otwórz aplikację komputerową ChatGPT na tym samym koncie i włącz Sandtime.io w rozmowie; zaloguj się i zatwierdź, jeśli pojawi się prośba.

Łączniki ChatGPT są współdzielone w obrębie konta, więc nie ma osobnej konfiguracji dla aplikacji komputerowej.

Claude Code

  1. Uruchom je w terminalu - drugie polecenie otworzy przeglądarkę, aby zatwierdzić dostęp.
claude mcp add --transport http --scope user sandtime https://mcp.sandtime.io/mcp
claude mcp login sandtime

Albo wyślij to swojemu agentowi AI, a połączy się samodzielnie:

Connect this workspace to the Sandtime.io MCP server over OAuth. Run:
claude mcp add --transport http --scope user sandtime https://mcp.sandtime.io/mcp
Then run:
claude mcp login sandtime
Open the browser URL it prints and wait for me to approve access in Sandtime.io. Verify with claude mcp list and confirm sandtime shows as connected. If OAuth is unavailable, ask me for a Sandtime.io API key and add the server with the header Authorization set to "Bearer <key>" instead.

Sprawdź swój plan. To, czy MCP jest w ogóle dostępne, zależy od asystenta i wybranego planu, a na to Sandtime.io nie ma wpływu. Jeśli mimo poprawnej konfiguracji nic się nie łączy, zacznij od sprawdzenia, na co pozwala Twój plan.

Działa z innymi klientami

Codex CLI
Dodaj adres URL serwera z nagłówkiem Authorization typu Bearer i kluczem API. Obecne wersje Codex nie kończą logowania w przeglądarce.
Gemini CLI
Dodaj adres URL serwera jako serwer MCP przez HTTP w ustawieniach Gemini CLI. Zaloguj się, jeśli jest obsługiwane, w przeciwnym razie wyślij nagłówek Bearer z kluczem API.
GitHub Copilot
Dodaj adres URL serwera do konfiguracji MCP w VS Code i używaj go w trybie agenta Copilot Chat. Zaloguj się, jeśli jest obsługiwane, w przeciwnym razie wyślij nagłówek Bearer z kluczem API.
Cursor
Użyj przycisku „Dodaj do Cursora” powyżej albo dodaj adres URL serwera jako serwer MCP ręcznie. Zaloguj się, jeśli jest obsługiwane, w przeciwnym razie wyślij nagłówek Bearer z kluczem API.
Dowolny klient MCP
Każdy klient obsługujący MCP przez Streamable HTTP działa tak samo. Zaloguj się, jeśli jest obsługiwane, w przeciwnym razie wyślij nagłówek Bearer z kluczem API.

Wolisz niczego nie podłączać?

Sandbot to asystent wbudowany w Sandtime.io, więc nie ma łącznika, adresu serwera ani klienta do skonfigurowania. Poproś go o zapisanie czasu, podsumowanie tygodnia albo wygenerowanie raportu bez wychodzenia z aplikacji. Śledzenie czasu z AI wyjaśnia, co potrafi i jak go włączyć.

Tworzysz własnego agenta? Wiele systemów agentowych świetnie radzi sobie ze zwykłym REST API Sandtime.io, uwierzytelniając się kluczem API utworzonym w Ustawienia > Integracje > API.

Dla programistów: klucze API i pliki konfiguracyjne

Niektórzy klienci zamiast logowania w przeglądarce wymagają pliku konfiguracyjnego lub nagłówka - w szczególności Codex CLI. W takich przypadkach utwórz klucz API i wykonaj poniższą konfigurację dla danego klienta. Zastąp YOUR_API_KEY własnym kluczem.

Klucze tworzysz w aplikacji, w Settings > Integrations > API albo w Settings > Integrations > MCP. Klucz jest pokazywany tylko raz, przy tworzeniu, i w dowolnym momencie możesz go unieważnić na stronie API. Instrukcje krok po kroku znajdziesz w artykule Klucze API i tokeny MCP: tworzenie i zarządzanie.

Claude Desktop

Claude Desktop łączy się z Sandtime.io przez mcp-remote, które npx pobiera na żądanie, więc na komputerze musi być Node. Poza tym wszystko sprowadza się do jednego pliku JSON.

Otwórz plik konfiguracyjny

Claude Desktop otworzy go za Ciebie przez Settings > Developer > Edit Config. Jeśli tego menu nie ma albo plik się nie otwiera, poniżej znajduje się bezpośrednia ścieżka do pliku.

macOS
~/Library/Application Support/Claude/claude_desktop_config.json
Windows
%APPDATA%\Claude\claude_desktop_config.json

Dodaj serwer

W tym pliku są też pozostałe ustawienia Claude Desktop, więc dodaj do niego wpis, zamiast go nadpisywać. To, którego snippetu potrzebujesz, zależy od tego, czy plik ma już blok mcpServers.

Jeśli nie ma jeszcze bloku mcpServers, dodaj ten kod jako nowy klucz obok swoich innych ustawień, z przecinkiem między nimi.

"mcpServers": {
  "sandtime": {
    "command": "npx",
    "args": [
      "mcp-remote",
      "https://mcp.sandtime.io/mcp",
      "--header",
      "Authorization:${AUTH}"
    ],
    "env": { "AUTH": "Bearer YOUR_API_KEY" }
  }
}

Jeśli blok mcpServers już istnieje, wklej ten kod w jego środku, z przecinkiem przed każdym serwerem, który już tam jest.

"sandtime": {
  "command": "npx",
  "args": [
    "mcp-remote",
    "https://mcp.sandtime.io/mcp",
    "--header",
    "Authorization:${AUTH}"
  ],
  "env": { "AUTH": "Bearer YOUR_API_KEY" }
}

Pułapka na Windowsie

Na Windowsie sprawdź linię Authorization:${AUTH} powyżej, czy nie ma w niej zbędnej spacji. Spacja po dwukropku psuje połączenie, a Claude Desktop zwraca wtedy błąd uwierzytelniania (401), z którego trudno się domyślić przyczyny.

Zrestartuj i sprawdź

Serwery MCP wczytują się tylko przy starcie aplikacji i nie są sprawdzane później, więc nowy serwer nie zadziała, dopóki nie zamkniesz aplikacji całkowicie i nie otworzysz jej ponownie, a nie tylko zamkniesz okno. Potem zadaj mu proste pytanie o coś z aplikacji, na przykład o Twoje projekty albo zarejestrowane godziny. Sensowna odpowiedź oznacza, że klucz, adres URL i nagłówek są w porządku.

Sesja Claude Code otwarta w aplikacji desktopowej korzysta z tego samego pliku, więc jeden wpis obejmuje zarówno czat, jak i zakładkę Code. Samodzielne CLI w terminalu już z niego nie korzysta i ma osobną sekcję poniżej.

Claude Code

Dotyczy CLI w terminalu. Sesja Claude Code uruchomiona z poziomu aplikacji desktopowej czyta jej konfigurację, więc w tym przypadku skorzystaj z sekcji Claude Desktop powyżej. Poniższe opcje różni ich zasięg.

Plik projektowy, który trafia do repozytorium, powinien odwoływać się do zmiennej środowiskowej zamiast zawierać literalny klucz. Ustaw SANDTIME_API_KEY lokalnie i użyj Bearer ${SANDTIME_API_KEY} jako Authorization. Prawdziwe klucze nie powinny trafiać do repozytorium, a jeśli już do niego trafią, unieważnij taki klucz i utwórz nowy.

Dla użytkownika

Zapisuje konfigurację w ~/.claude.json (~ to %USERPROFILE% na Windowsie), więc serwer czeka na Ciebie w każdym projekcie otwieranym na tym komputerze.

claude mcp add --transport http --scope user sandtime https://mcp.sandtime.io/mcp --header "Authorization: Bearer YOUR_API_KEY"

Dla projektu

Ta sama komenda z --scope project, która zapisuje .mcp.json w bieżącym katalogu, więc Claude Code znajdzie ją tylko w tym jednym projekcie. Ten plik trafia do repozytorium. Jeśli wolisz, żeby serwer był dostępny wszędzie, wybierz zamiast tego zasięg dla użytkownika.

claude mcp add --transport http --scope project sandtime https://mcp.sandtime.io/mcp --header "Authorization: Bearer YOUR_API_KEY"

Instalacja ręczna

Wpis jest wszędzie taki sam, o zasięgu decyduje wyłącznie plik. Każdy z tych plików zawiera też inne ustawienia, więc dopisz do niego, zamiast go nadpisywać.

Dla użytkownika (macOS, Linux)
~/.claude.json
Dla użytkownika (Windows)
%USERPROFILE%\.claude.json
Dla projektu
.mcp.json

Jeśli nie ma jeszcze bloku mcpServers, dodaj ten kod jako nowy klucz obok swoich innych ustawień, z przecinkiem między nimi.

"mcpServers": {
  "sandtime": {
    "type": "http",
    "url": "https://mcp.sandtime.io/mcp",
    "headers": {
      "Authorization": "Bearer YOUR_API_KEY"
    }
  }
}

Jeśli blok mcpServers już istnieje, wklej ten kod w jego środku, z przecinkiem przed każdym serwerem, który już tam jest.

"sandtime": {
  "type": "http",
  "url": "https://mcp.sandtime.io/mcp",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY"
  }
}

Jeśli coś nie działa, za pomocą komendy claude mcp list sprawdzisz, czy Claude widzi ten serwer i czy udało się z nim połączyć. To najszybszy sposób, żeby odróżnić odrzucony klucz od błędnego adresu. Komenda claude mcp remove sandtime usuwa wpis.

ChatGPT / Codex

Dotyczy aplikacji desktopowej ChatGPT, Codex CLI i rozszerzenia do IDE, które korzystają ze wspólnej konfiguracji. ChatGPT w przeglądarce nie ma do niej dostępu, więc nic z tego, co tu ustawisz, nie zadziała.

Albo wyślij to swojemu agentowi AI, a skonfiguruje połączenie za Ciebie:

Set up the Sandtime.io MCP server for Codex. First run codex mcp get sandtime to check whether it already exists. If it does not, add it as a Streamable HTTP server at https://mcp.sandtime.io/mcp with the header Authorization set to "Bearer ${SANDTIME_API_KEY}". If SANDTIME_API_KEY is not set, ask me to create a Sandtime.io API key in Settings > Integrations > API and export it. Current Codex releases can reject OAuth, so use this API key path rather than browser sign-in.

Commitujesz plik projektowy? Użyj bearer_token_env_var z SANDTIME_API_KEY zamiast literalnego nagłówka. Prawdziwe klucze nie powinny trafiać do repozytorium, a jeśli już do niego trafią, unieważnij taki klucz i utwórz nowy.

Dodaj własny serwer MCP

Otwórz Ustawienia > Wtyczki > Serwery MCP (Settings > Plugins > MCPs), kliknij Dodaj (Add), a potem Dodaj serwer MCP (Add MCP server), aby przejść do ekranu połączenia. Wybierz Streamable HTTP zamiast STDIO. Poniższy Adres URL wpisz w pole adresu, a nazwę i wartość nagłówka razem pod Nagłówki (Headers). Na ekranie są też pola Zmienna środowiskowa: token okaziciela (Bearer token env var) i Nagłówki ze zmiennych środowiskowych (Headers from environment variables), ale przekazują sekrety w inny sposób, więc zostaw je puste.

Adres URL
https://mcp.sandtime.io/mcp
Nazwa nagłówka
Authorization
Wartość nagłówka
Bearer YOUR_API_KEY

Zapisz i włącz

Zapisz, a potem włącz wpis na liście. Samo dodanie serwera go nie aktywuje. Ten ekran nie daje wyboru zasięgu, więc wpis zawsze trafia do pliku użytkownika. Czat lub zadanie otwarte przed dodaniem serwera też nie będzie miało do niego dostępu - zacznij nowe. Jeśli serwer nadal się nie pojawia, zwykle pomaga zrestartowanie aplikacji.

W config.toml, dla użytkownika albo dla projektu

Ten sam wpis dodany ręcznie, dopisany do tego, co plik już zawiera. Plik na użytkownika działa tak samo w aplikacji desktopowej, CLI i rozszerzeniu do IDE. Plik projektowy jest węższy: działa wyłącznie w CLI i rozszerzeniu do IDE, wyłącznie w zaufanym projekcie.

Dla użytkownika (macOS, Linux)
~/.codex/config.toml
Dla użytkownika (Windows)
%USERPROFILE%\.codex\config.toml
Dla projektu
.codex/config.toml
[mcp_servers.sandtime]
url = "https://mcp.sandtime.io/mcp"

[mcp_servers.sandtime.http_headers]
Authorization = "Bearer YOUR_API_KEY"

Który plik wygrywa

Pliki projektowe są wczytywane od katalogu głównego repozytorium w dół, aż do katalogu bieżącego, i wygrywa ten najbliższy. Pod nimi wszystkimi jest plik użytkownika. Jeśli ustawiona jest zmienna CODEX_HOME, plik użytkownika znajduje się tam, a nie w katalogu domowym.

Pułapka niezaufanego projektu

Codex czyta pliki projektowe tylko w projekcie oznaczonym jako zaufany; w niezaufanym pomija je bez żadnego komunikatu. Jeśli serwer w ogóle się nie pojawia, sprawdź najpierw, czy projekt jest zaufany, zanim zajrzysz do samej konfiguracji.

Komenda codex mcp add przy takim kluczu nie pomoże. Zapisuje wyłącznie do pliku użytkownika i nie potrafi ustawić statycznego nagłówka, a jedynie nazwę zmiennej środowiskowej, którą odczyta później. Zostają więc dwa sposoby: ekran w aplikacji albo plik.

Jeśli po tym serwer wciąż się nie łączy, może pomóc włączenie Developer mode w ustawieniach ChatGPT.

Każdy inny klient obsługujący MCP przez Streamable HTTP działa tak samo, o ile potrafi wysłać własny nagłówek. Poproś asystenta o listę Twoich projektów: jeśli w odpowiedzi pojawią się prawdziwe nazwy projektów, połączenie działa.

Gdzie to działa

Jeden serwer HTTP dla każdego narzędzia AI, którego używasz. Połącz raz i pracuj stamtąd, gdzie już jesteś.

Claude.ai (Web)

Dodaj łącznik w przeglądarce i rejestruj czas z dowolnej rozmowy w Claude.ai.

Claude Desktop

Dodaj ten sam zdalny łącznik w aplikacji komputerowej i poproś ją o rejestrowanie oraz raportowanie Twojego czasu.

ChatGPT (Web)

Dodaj łącznik raz i rejestruj czas z dowolnej rozmowy w ChatGPT.

ChatGPT Desktop

Ten sam łącznik, gotowy już wtedy, gdy otworzysz aplikację komputerową na tym samym koncie.

Claude Code

Dodaj serwer z poziomu terminala, zaloguj się raz i rejestruj czas tam, gdzie wdrażasz kod.

Codex CLI

Dodaj adres serwera z nagłówkiem zawierającym klucz API i zamień sesje kodowania w czyste zapisy czasu.

Gemini CLI

Dodaj serwer w ustawieniach Gemini CLI i śledź swój czas bez wychodzenia z terminala.

GitHub Copilot

Dodaj serwer w VS Code i zapytaj Copilot Chat w trybie agenta, nad czym pracowałeś.

Cursor

Dodaj serwer jednym kliknięciem i zamień to, co właśnie zbudowałeś, we wpis czasu.

Dowolny klient MCP

Połączyć się może każdy klient obsługujący Model Context Protocol przez Streamable HTTP - przez logowanie w przeglądarce lub kluczem API.

Dostępne narzędzia

Serwer udostępnia 37 narzędzi obejmujących całą Twoją przestrzeń roboczą. Asystenci łączą je w sekwencje - na przykład ustalając bieżącego użytkownika, sprawdzając kalendarz, a następnie uzupełniając puste dni.

Aktywności

  • list_activitiesWyświetl listę wpisów czasu, filtrowaną według użytkownika, projektu lub całego tygodnia. Zwraca sformatowane czasy trwania i czasy lokalne.
  • get_activityPobierz pełne szczegóły pojedynczego wpisu czasu na podstawie jego identyfikatora.
  • create_activityZarejestruj nowy wpis czasu w projekcie, z automatycznym wykrywaniem nakładania się z istniejącymi wpisami.
  • update_activityEdytuj nazwę, godziny, projekt lub status rozliczalności wpisu czasu albo zatrzymaj i wznów działający stoper.
  • delete_activityTrwale usuń wpis czasu. Wymaga bycia właścicielem lub uprawnień administratora.
  • stop_activityZatrzymaj działający stoper, ustawiając jego czas zakończenia na teraz.

Projekty

  • list_projectsWyświetl listę projektów w Twojej organizacji, opcjonalnie wraz z zarchiwizowanymi.
  • get_projectPobierz szczegółowe informacje o konkretnym projekcie.
  • create_projectUtwórz nowy projekt. Wymaga uprawnień administratora.
  • update_projectZmień nazwę projektu, zmień jego domyślny status rozliczalności, zarchiwizuj go lub edytuj jego notatki.
  • delete_projectZwraca bezpośredni link do ustawień projektu, gdzie człowiek potwierdza usunięcie.

Członkowie projektu

  • list_project_membersWyświetl listę członków przypisanych do konkretnego projektu.
  • add_project_memberZwraca bezpośredni link do sekcji członków projektu, gdzie człowiek dodaje członka.
  • remove_project_memberZwraca bezpośredni link do sekcji członków projektu, gdzie człowiek usuwa członka.

Użytkownicy

  • list_usersWyświetl listę użytkowników w Twojej organizacji.
  • get_userPobierz szczegółowe informacje o konkretnym użytkowniku.
  • get_current_userPobierz identyfikator wywołującego, strefę czasową oraz ustaloną przez serwer bieżącą datę i tydzień. Zwykle pierwsze wywołanie w przepływie pracy.
  • create_userZwraca bezpośredni link do strony zapraszania członków.
  • update_userZwraca bezpośredni link do strony profilu użytkownika.
  • delete_userZwraca bezpośredni link do sekcji usuwania konta. Usunięcie użytkownika jest nieodwracalne, więc asystent oddaje tę decyzję człowiekowi.

Organizacja

  • get_organizationPobierz informacje o swojej organizacji, w tym jej ustawienia.
  • update_organizationZwraca bezpośredni link do strony ustawień organizacji.
  • delete_organizationZwraca bezpośredni link do ustawień organizacji. To najbardziej niszcząca operacja w produkcie, więc asystent nigdy jej nie wykonuje.

Kalendarz

  • get_calendarPobierz obliczony po stronie serwera kalendarz z dniami roboczymi, oczekiwanymi godzinami, weekendami i świętami. Źródło prawdy przed rejestrowaniem czasu na przestrzeni dni.

Raporty

  • list_reportsWyświetl listę zapisanych raportów w Twojej organizacji.
  • get_reportPobierz szczegóły konkretnego raportu.
  • create_reportZbuduj zapisany raport z własnymi wymiarami, metrykami, okresami oraz filtrami projektów lub członków zespołu.
  • update_reportZmienia zapisany raport na podstawie ID. Modyfikowane są tylko przekazane pola. Wymaga bycia jego autorem lub administratorem.
  • delete_reportUsuwa zapisany raport na podstawie ID. Kasuje wyłącznie konfigurację raportu i nie rusza zarejestrowanego czasu.

Arkusz czasu pracy

  • get_timesheet_statusSprawdź status blokady grafików dla wybranego tygodnia.
  • lock_timesheetZablokuj tygodniowy grafik dla użytkownika. Wymaga uprawnień administratora.
  • unlock_timesheetUsuń istniejącą blokadę grafiku. Wymaga uprawnień administratora.

Żądania

  • list_requestsWyświetl listę żądań do zatwierdzenia, takich jak odblokowania grafików i zmiany ról. Domyślnie pokazuje żądania oczekujące.
  • request_timesheet_unlockPoproś administratora o odblokowanie zablokowanego tygodnia, aby można było edytować grafik.
  • approve_unlock_requestZatwierdź oczekujące żądanie odblokowania, dając użytkownikowi krótki czas na edycję. Wymaga uprawnień administratora.
  • reject_unlock_requestOdrzuć oczekujące żądanie odblokowania. Użytkownik zostanie powiadomiony.

Podsumowanie i analityka

  • get_time_summaryPodsumuj zarejestrowany czas w danym okresie, pogrupowany według dnia, tygodnia, miesiąca, projektu lub użytkownika.

Wypróbuj funkcje AI za darmo

Serwer MCP Sandtime.io jest bezpłatny i już dostępny - wystarczy podłączyć asystenta, aby zacząć.

Podłącz asystenta