13 min czytaniaFunkcje
Kluczowa

Podłączanie Elido do Claude i Cursor przez MCP - praktyczny przewodnik

Jak skonfigurować @elido/mcp-server w Claude Desktop i Cursor, aby agent AI mógł skracać URL-e, generować kody QR i odpytywać statystyki kliknięć bezpośrednio w miejscu pracy - bez opuszczania edytora.

Marius Voß
DevRel · edge infra
Diagram showing Claude Desktop and Cursor connecting through the MCP stdio transport to the Elido MCP server, which sits in front of the Elido REST API

Jeśli przez ostatnie pół roku korzystałeś z Claude Desktop lub Cursor, prawdopodobnie zauważyłeś panel narzędzi - listę nazwanych akcji, które agent może wywołać w trakcie rozmowy. Te narzędzia pochodzą z serwera MCP. Ten artykuł wyjaśnia, co to oznacza, dlaczego skracacz URL-i pasuje do tego modelu jak ulał, oraz jak podłączyć @elido/mcp-server do obu klientów, by agent mógł skracać URL-e, generować kody QR i pobierać statystyki kliknięć bez opuszczania edytora.

Czym jest MCP#

Model Context Protocol to mały otwarty standard umożliwiający klientom AI - Claude Desktop, Cursor lub dowolnemu kompatybilnemu frameworkowi agentów - odkrywanie i wywoływanie zewnętrznych narzędzi przez ujednolicony interfejs JSON-RPC. Proces serwera działa lokalnie na Twoim komputerze (lub na hoście, który kontrolujesz), udostępnia listę typowanych narzędzi i komunikuje się z klientem przez standardowe wejście/wyjście. Klient wysyła żądanie wywołania narzędzia, serwer wykonuje pracę, a wynik trafia z powrotem do rozmowy jako kontekst. Model nigdy nie widzi Twojego klucza API - widzi go serwer. Cały protokół komunikacji mieści się w kilku kilobajtach na wiadomość; nie ma żadnego SDK, który musisz instalować po stronie klienta, a serwer można napisać w dowolnym języku obsługującym odczyt stdin i zapis stdout.

Krótko mówiąc: MCP to ustandaryzowany sposób wywoływania przez klienta AI kodu, który kontrolujesz. Agent opisuje intencję, narzędzie wykonuje pracę, agent włącza wynik do kontekstu.

Diagram architektury: Claude Desktop i Cursor łączą się przez transport stdio JSON-RPC z lokalnym serwerem Elido MCP, który wykonuje uwierzytelnione żądania Bearer do REST API Elido na api.elido.app, przy czym klucz API pozostaje wewnątrz serwera i model go nigdy nie widzi

Dlaczego skracacz URL-i pasuje do tego modelu#

Problem z krótkimi linkami w każdym workflow z treściami jest ten sam: jesteś w trakcie pisania e-maila lub briefu kampanii, potrzebujesz branded short URL dla CTA i musisz przełączyć się na pulpit nawigacyjny, utworzyć link, skopiować go, wrócić i wkleić. Ta zmiana kontekstu kosztuje trzydzieści sekund, ale co ważniejsze - przerywa tok pisania.

MCP eliminuje zmianę kontekstu. Gdy @elido/mcp-server jest podłączony, agent może wywołać create_link bezpośrednio w trakcie pracy - krótki URL pojawia się w rozmowie i kontynuujesz. To samo dotyczy mniej oczywistych przypadków:

  • Tworzenie ogłoszenia o premierze produktu wymagającego pięciu linków UTM dla różnych kanałów: agent może wywołać create_link pięć razy z rzędu z różnymi tagami, a następnie umieścić wszystkie pięć w treści.
  • Prośba do agenta o wygenerowanie kodu QR do drukowanego materiału: generate_qr zwraca artefakt SVG, który agent udostępnia w kontekście.
  • Przegląd wyników kampanii z poprzedniego tygodnia: query_analytics pobiera szereg czasowy kliknięć dla dowolnego linku lub całego workspace'u, z korektą strefy czasowej, bez logowania się do pulpitu.

Żadna z tych operacji nie wymaga od modelu znajomości Twojego API. Wymagają, aby @elido/mcp-server przetłumaczył typowane wywołanie narzędzia na uwierzytelnione żądanie REST i zwrócił wynik.

Serwer MCP Elido wpisuje się w ten model w prosty sposób. Jest to lokalny proces Node siedzący między klientem AI a REST API Elido. Gdy agent wywołuje create_link, serwer tłumaczy to wywołanie na uwierzytelnione żądanie POST /v1/workspaces/{id}/links, obsługuje rozwiązywanie workspace'u i zwraca wynik jako tekst strukturalny, który agent może odczytać. Klucz API nigdy nie opuszcza procesu serwera; klient widzi jedynie wynik narzędzia.

Co serwer oferuje dziś#

@elido/mcp-server jest opublikowany jako @elido/mcp-server na npm (Apache-2.0, wersja 0.1.x). Kod źródłowy znajduje się w packages/mcp-server/ w monorepo Elido. Serwer używa transportu MCP stdio - rozdzielanego wierszami JSON-RPC 2.0 na stdin/stdout - i nie ma zależności runtime poza Node 20+. Nie używa oficjalnego pakietu @modelcontextprotocol/sdk; protokół komunikacji jest zaimplementowany ręcznie, żeby pakiet był mały i łatwy do audytu przed przyznaniem mu klucza API.

Pięć narzędzi dostępnych w wersji 0.1.x:

NarzędzieCo robi
create_linkSkraca URL z opcjonalnym slugiem, domeną, tytułem i tagami. Zwraca pełny rekord linku wraz z krótkim URL.
list_linksWyświetla ostatnie linki w workspace'ie, z paginacją.
query_analyticsSzereg czasowy liczby kliknięć dla workspace'u lub pojedynczego linku, z podziałem na godziny lub dni w dowolnej strefie czasowej IANA.
generate_qrGeneruje kod QR (SVG lub PNG) dla istniejącego linku.
list_workspacesWyświetla workspace'y, do których klucz API ma dostęp.

Operacje administracyjne workspace'u - zapraszanie członków, rotacja kluczy API, konfiguracja własnych domen, zarządzanie rozliczeniami - celowo nie należą do powierzchni MCP. Pozostają w pulpicie nawigacyjnym. Powierzchnia narzędzi jest ograniczona do tego, czego agent tworzący treści lub kampanie naprawdę potrzebuje na bieżąco. Jeśli musisz automatyzować provisionowanie workspace'ów, odpowiednimi narzędziami są REST API i provider Terraform.

Pięć narzędzi MCP udostępnianych przez Elido w wersji 0.1.x: create_link i generate_qr wymagają zapisu linków, list_links i list_workspaces wymagają odczytu linków, a query_analytics wymaga odczytu analityki, podczas gdy operacje administracyjne workspace'u jak zapraszanie członków i zarządzanie rozliczeniami są celowo pominięte i pozostają w pulpicie nawigacyjnym

Uzyskanie klucza API#

Przed konfiguracją któregokolwiek klienta potrzebujesz klucza API z zakresem dla workspace'u, w którym ma działać agent.

  1. Otwórz Ustawienia → Klucze API w pulpicie nawigacyjnym Elido.
  2. Kliknij Nowy klucz, nadaj mu nazwę identyfikującą agenta (np. claude-desktop-mcp) i wybierz zakres Link read/write + Analytics read. Nie przyznawaj zakresu administratora workspace'u, chyba że masz konkretny powód.
  3. Skopiuj klucz - jest wyświetlany tylko raz. Będziesz też potrzebować numerycznego ID workspace'u, widocznego w Ustawienia → Workspace → Ogólne.

Trzymaj klucz poza kontrolą wersji. Pliki konfiguracyjne MCP opisane poniżej znajdują się w katalogu domowym lub w ścieżce lokalnej dla projektu; nie commituj żadnego z nich do współdzielonego repozytorium.

Więcej informacji o zakresach kluczy API i dzienniku audytu rejestrującym każde wywołanie narzędzia znajdziesz w dokumentacji kluczy API.

Konfiguracja Claude Desktop#

Claude Desktop odczytuje listę serwerów MCP z pliku JSON pod adresem:

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

Jeśli plik nie istnieje, utwórz go. Dodaj blok serwera elido wewnątrz mcpServers:

{
  "mcpServers": {
    "elido": {
      "command": "npx",
      "args": ["-y", "@elido/mcp-server"],
      "env": {
        "ELIDO_API_KEY": "elido_pk_your_key_here",
        "ELIDO_WORKSPACE_ID": "42"
      }
    }
  }
}

Zastąp elido_pk_your_key_here swoim rzeczywistym kluczem, a 42 swoim ID workspace'u.

ELIDO_WORKSPACE_ID jest opcjonalne, jeśli klucz ma dostęp do dokładnie jednego workspace'u - serwer rozwiąże go automatycznie. Ustaw jawnie, gdy klucz może widzieć więcej niż jeden workspace; bez tego serwer musi wykonać dodatkowe zapytanie przy każdym wywołaniu narzędzia wymagającym workspace'u, a zachowanie jest nieprzewidywalne, jeśli dostęp zostanie później rozszerzony do drugiego workspace'u.

Po zapisaniu pliku zamknij i uruchom ponownie Claude Desktop. Narzędzia Elido pojawią się w panelu narzędzi. Jeśli nie pojawiają się, sprawdź konsolę developerską Claude Desktop (Pomoc → Pokaż narzędzia developerskie) pod kątem wyjścia stderr z procesu serwera - najczęstszą przyczyną jest literówka w kluczu lub ścieżka command, której nie można rozwiązać.

Jeśli wolisz przypiąć dokładną wersję pakietu zamiast pobierać najnowszą przez npx, najpierw zainstaluj globalnie:

npm install -g @elido/[email protected]

Następnie zastąp parę command / args:

{
  "command": "elido-mcp-server",
  "args": []
}

Konfiguracja Cursor#

Cursor obsługuje lokalną konfigurację MCP dla projektu przez plik .cursor/mcp.json w katalogu głównym workspace'u. Format jest identyczny z blokiem mcpServers Claude Desktop:

{
  "mcpServers": {
    "elido": {
      "command": "npx",
      "args": ["-y", "@elido/mcp-server"],
      "env": {
        "ELIDO_API_KEY": "elido_pk_your_key_here",
        "ELIDO_WORKSPACE_ID": "42"
      }
    }
  }
}

Utwórz .cursor/mcp.json w katalogu głównym projektu (dodaj go do .gitignore, jeśli repozytorium jest współdzielone - plik zawiera aktywny klucz API). Otwórz Cursor Settings → Features → MCP, sprawdź, czy serwer jest wymieniony i pokazuje zielony wskaźnik statusu, a następnie uruchom ponownie panel agenta. Narzędzia Elido pojawią się na liście narzędzi Composer.

Możesz też skonfigurować globalną konfigurację Cursor MCP pod adresem ~/.cursor/mcp.json, jeśli chcesz mieć narzędzia dostępne we wszystkich projektach bez plików konfiguracyjnych per-projekt. Reguły pierwszeństwa są takie same jak w Claude Desktop.

Przykładowa sesja: pisanie e-maila kampanii i skracanie CTA#

Oto jak wygląda rzeczywista interakcja po podłączeniu serwera. Transkrypt agenta jest skrócony, ale odzwierciedla rzeczywisty kształt wywołania narzędzia.

Cykl wywołania create_link: agent LLM wysyła żądanie create_link z URL-em, slugiem i tagami, narzędzie MCP tłumaczy wywołanie i rozwiązuje workspace, api-core obsługuje POST i zapisuje do Postgres, a rekord krótkiego linku wraca, dzięki czemu agent umieszcza krótki URL w czacie

Użytkownik: Napisz krótki e-mail kampanii dla naszej wyprzedaży wiosennej. CTA powinno prowadzić do https://shop.example.com/spring-2026 - skróć to z tagiem spring-2026 i użyj sluga spring, jeśli jest dostępny.

Claude: Najpierw skrócę URL, a potem napiszę e-mail z uwzględnieniem wyniku.

[Wywołanie narzędzia: create_link]

{
  "destination_url": "https://shop.example.com/spring-2026",
  "slug": "spring",
  "title": "Spring 2026 sale CTA",
  "tags": ["spring-2026"]
}

[Wynik narzędzia]

{
  "id": 1847,
  "short_url": "https://s.elido.me/spring",
  "destination_url": "https://shop.example.com/spring-2026",
  "slug": "spring",
  "tags": ["spring-2026"],
  "created_at": "2026-05-11T09:14:22Z"
}

Claude: Krótki link to https://s.elido.me/spring. Oto szkic e-maila:

Temat: Wyprzedaż wiosenna - do 40% zniżki, tylko w tym tygodniu

Cześć [Imię],

Nasza wyprzedaż wiosenna ruszyła. Nowości, wyprzedaże i kilka rzeczy, które trzymaliśmy na właściwy moment.

Przejdź do wyprzedaży → https://s.elido.me/spring

Kończy się w niedzielę. Nie potrzeba kodu.


Agent wywołał create_link z parametrami z Twojego promptu, otrzymał z powrotem kanoniczny rekord linku i użył pola short_url w szkicu. Gdyby slug spring był zajęty, API zwróciłoby błąd 409, a agent spróbowałby alternatywy lub przedstawił konflikt do rozwiązania.

Zauważ, że domain_id nie zostało podane w wywołaniu narzędzia. Serwer rozwiązuje go automatycznie: jeśli nie podano domain_id, pobiera listę domen workspace'u i wybiera pierwszą zweryfikowaną domenę. Dla workspace'ów w planie darmowym jest to f.elido.me; dla płatnych workspace'ów jest to s.elido.me lub własna domena, jeśli jest skonfigurowana. Jeśli chcesz konkretną domenę, podaj jej numeryczne ID jawnie - możesz je sprawdzić za pomocą list_workspaces lub z pulpitu nawigacyjnego.

Możesz też poprosić agenta o obsługę wielu linków w jednej turze. „Utwórz linki z tagami UTM dla e-maila, Twittera i LinkedIn - wszystkie prowadzące do strony wyprzedaży wiosennej" spowoduje trzy kolejne wywołania create_link z różnymi zestawami tagów, a agent przedstawi wszystkie trzy krótkie URL-e w tabeli, którą możesz wkleić bezpośrednio do briefu kampanii. Ten wzorzec zastępuje ręczne budowanie UTM w pulpicie dla rutynowej konfiguracji kampanii, choć nie obsługuje jeszcze systemu szablonów UTM na poziomie workspace'u (omówionego w przewodniku po śledzeniu UTM) - ten poziom automatyzacji nadal wymaga REST API.

Przykładowa sesja: pobieranie statystyk kliknięć#

Drugi wzorzec to pobieranie analityki podczas przeglądu kampanii bez otwierania pulpitu nawigacyjnego.


Użytkownik: Jak radziły sobie linki spring-2026 w zeszłym tygodniu? Podziel to według dni, czas berliński.

Claude: Pobiorę szereg czasowy dla tego linku.

[Wywołanie narzędzia: query_analytics]

{
  "link_id": 1847,
  "from": "2026-05-04",
  "to": "2026-05-10",
  "interval": "day",
  "tz": "Europe/Berlin"
}

[Wynik narzędzia]

{
  "items": [
    { "bucket": "2026-05-04", "clicks": 312 },
    { "bucket": "2026-05-05", "clicks": 489 },
    { "bucket": "2026-05-06", "clicks": 701 },
    { "bucket": "2026-05-07", "clicks": 1204 },
    { "bucket": "2026-05-08", "clicks": 988 },
    { "bucket": "2026-05-09", "clicks": 623 },
    { "bucket": "2026-05-10", "clicks": 417 }
  ],
  "total": 4734,
  "tz": "Europe/Berlin"
}

Claude: Link spring otrzymał 4 734 kliknięcia w zeszłym tygodniu. Środa–czwartek to był szczyt (701 → 1 204), co pokrywa się z wysyłkami e-mail w połowie tygodnia. Ruch opadał przez weekend. Jeśli e-mail kampanii został wysłany w czwartek rano czasu berlińskiego, skok jest zgodny z oczekiwaniami.

Aby porównać wiele linków, poproś agenta o wywołanie query_analytics raz na link i zebranie wyników. To kilka dodatkowych wywołań narzędzi, ale agent obsługuje pętlę; otrzymujesz tabelę porównawczą bez otwierania pulpitu ani pisania skryptu.


Parametr tz zapewnia, że dzienne kubełki są wyrównane do lokalnej północy, a nie UTC. E-mail kampanii wysłany o 9:00 czasu CET, który sprawdzasz w UTC, będzie miał ruch z pierwszego dnia podzielony na dwa dni UTC - tz: Europe/Berlin tego unika. Obsługa stref czasowych pochodzi z pracy analitycznej fazy 6.A opisanej na stronie serwera MCP.

Bezpieczeństwo - zakres klucza, żądania serwera, dziennik audytu#

Kilka rzeczy wartych wiedzy przed wdrożeniem tego w zespole.

Ogranicz zakres klucza. Narzędzia create_link i generate_qr potrzebują dostępu do zapisu linków. query_analytics potrzebuje odczytu analityki. list_links i list_workspaces potrzebują odczytu linków. Jeśli Twój workflow jest tylko do odczytu - pobieranie metryk podczas przeglądu - utwórz klucz z dostępem do odczytu analityki + odczytu linków i przekaż go do serwera. Serwer wywoła tylko endpointy, do których klucz ma uprawnienia; wszystko inne zwróci błąd 403, który pojawi się jako błąd w odpowiedzi agenta.

Co serwer wysyła. Każde wywołanie narzędzia staje się uwierzytelnionym żądaniem do api.elido.app z nagłówkiem Authorization: Bearer <key>. Serwer wysyła nagłówek User-Agent: elido-mcp-server/0.1.0 przy każdym żądaniu; ten ciąg jest widoczny w dzienniku audytu. Żadne dane nie są wysyłane do Anthropic ani żadnej zewnętrznej usługi przez sam serwer - serwer MCP to lokalny proces pośredniczący między klientem a API Elido. Jakie dane klient AI wysyła do własnego backendu (Twój prompt Claude Desktop, wyniki narzędzi wracające do kontekstu) regulują własne polityki danych Anthropic lub Cursor, a nie Elido.

Dziennik audytu. Każde wywołanie API wykonane przez serwer MCP pojawia się w Ustawienia → Dziennik Audytu w pulpicie, oznaczone nazwą klucza i adresem IP źródła. Jeśli widzisz nieoczekiwane wywołania narzędzi, natychmiast zrotuj klucz w Ustawienia → Klucze API. Dziennik audytu jest dostępny w planach Pro i Business.

Klucz w pliku konfiguracyjnym. Blok env w claude_desktop_config.json i .cursor/mcp.json przechowuje klucz w postaci jawnej. Na prywatnym komputerze jest to akceptowalne; w środowisku współdzielonym lub zarządzanym preferuj wstrzykiwanie klucza przez systemowy keychain lub menedżer sekretów i odwoływanie się do niego przez zmienną środowiskową odczytywaną pośrednio przez konfigurację MCP. W konfiguracjach zespołowych każdy członek powinien mieć własny klucz - współdzielone klucze sprawiają, że atrybucja w dzienniku audytu traci sens.

Ograniczenia#

Kilka rzeczy, których serwer MCP celowo nie robi.

Brak operacji administracyjnych workspace'u. Zapraszanie członków zespołu, konfiguracja własnych domen, zarządzanie rozliczeniami planu, tworzenie lub usuwanie workspace'ów - żadna z tych operacji nie jest w powierzchni narzędzi. Te operacje są wystarczająco konsekwentne, żeby wymaganie zalogowanego człowieka w pulpicie było właściwą kontrolą. Powierzchnia MCP jest celowo ograniczona do pracy, którą agent tworzący treści lub kampanie potrzebuje na bieżąco. Jeśli musisz automatyzować provisionowanie workspace'ów, REST API i provider Terraform są właściwymi narzędziami.

Brak strumieniowania w czasie rzeczywistym. Obecny transport to stdio z synchronicznym modelem żądanie/odpowiedź. Transport SSE jest w planach. Dla większości workflow agentów - stworzenie linku, pobranie kodu QR, pobranie cotygodniowego szeregu czasowego - model synchroniczny jest wystarczający. W przypadku zastosowania wymagającego strumieniowania dużej listy linków lub obserwowania licznika kliknięć na żywo, odpowiednimi narzędziami są dziś pulpit lub REST API.

Obowiązują limity szybkości. API Elido egzekwuje limity szybkości per-klucz niezależnie od tego, czy wywołującym jest człowiek, skrypt czy serwer MCP. Limity według poziomu planu są w dokumentacji API. Workflow agentów wywołujących create_link w ścisłych pętlach - masowe tworzenie setek linków programowo - powinny korzystać bezpośrednio z endpointu masowego importu REST (POST /v1/links/bulk) zamiast wydawać setki pojedynczych wywołań create_link. Serwer MCP jest zoptymalizowany do interaktywnego, bezpośredniego użytku; operacje masowe należą do powierzchni skryptowej.

query_analytics zwraca tylko liczby kliknięć. Szereg czasowy zwracany przez narzędzie query_analytics to liczby kliknięć pogrupowane według czasu. Nie zwraca podziałów geograficznych, podziałów według urządzeń, danych o referrerach ani atrybucji konwersji. Są dostępne w pulpicie i przez pełne REST API analityki, ale nie są częścią obecnej powierzchni narzędzi MCP. Jeśli Twój workflow agenta wymaga podziału na kraje według linku, wywołaj bezpośrednio REST API.

Co dalej#

Kod źródłowy serwera i tracker zgłoszeń znajdują się w packages/mcp-server/ w monorepo Elido. Pakiet jest opublikowany z npm provenance, więc każde wydanie jest kryptograficznie powiązane z commitem, z którego zostało zbudowane - audyt artefaktu publikacji jest prosty.

Strona integracji MCP zawiera dokumentację narzędzi, matrycę zakresów i konfigurację self-host wskazującą ELIDO_API_BASE na prywatną instancję Elido. Jeśli jesteś w planie obejmującym konfigurację MCP workspace'u, strona opisuje też workflow rotacji kluczy dla zespołu.

Dwa konfiguracje warte wypróbowania w pierwszej kolejności:

  1. Skonfiguruj Claude Desktop zgodnie z powyższym opisem, otwórz nową rozmowę i wpisz „skróć https://example.com/test z tagiem mcp-test". Obserwuj wywołanie narzędzia i krótki URL pojawiający się w odpowiedzi. Cała konfiguracja powinna zająć mniej niż pięć minut.

  2. Jeśli już używasz Cursor do pracy z treścią lub dokumentacją, upuść .cursor/mcp.json w katalogu głównym projektu i poproś Composera o „podsumowanie najlepszych linków zeszłego tygodnia według liczby kliknięć". Wywołania list_links i query_analytics odbywają się bezpośrednio, a agent zapisuje podsumowanie w czacie.

Obydwa są w wersji beta (0.1.x) - powierzchnia narzędzi będzie rosnąć, ale istniejące dane wejściowe narzędzi nie zostaną usunięte w zakresie 0.1.x. Jeśli coś nie działa zgodnie z opisem, otwórz zgłoszenie z etykietą area:mcp, a my potraktujemy to jako regresję.

Powiązane na blogu#

Jeśli oceniasz Elido pod kątem kosztów, serwer MCP jest dostępny we wszystkich planach - wywołania narzędzi są wliczone w te same limity szybkości API co każdy inny klient. Widoczność dziennika audytu opisana powyżej wymaga planu Pro lub wyższego. Zobacz stronę cennika dla pełnego porównania planów.

  • Marius

Wypróbuj Elido

Wklej URL, otrzymaj krótki link

Bez rejestracji. Link działa 30 dni. Zarejestruj się, aby zachować go na zawsze.

Za darmo, bez rejestracji · 2 dziennie

Wypróbuj Elido

Skracarka URL hostowana w UE: własne domeny, głęboka analityka i otwarte API. Darmowy plan - bez karty kredytowej.

Tagi
mcp
model context protocol
claude
cursor
ai integration
url shortener
developer experience
automation

Czytaj dalej