Sign inGet Started

Serwer MCP

Serwer Bird MCP udostępnia Bird API jako narzędzia Model Context Protocol. Obsługiwane klienty to m.in. Claude Code, Cursor, VS Code, Codex, Claude Desktop, ChatGPT i Muse. Mogą wysyłać wiadomości na każdym kanale obsługiwanym przez Bird, konfigurować te kanały i przeglądać Twój obszar roboczy bez kopiowania poleceń cURL. Możesz go uruchomić na dwa sposoby, a większość osób wybiera pierwszy:
  1. Hostowany (mcp.bird.com): URL i logowanie w przeglądarce. Nic do instalacji, bez CLI, bez klucza API. To zalecana ścieżka.
  2. Lokalny przez stdio (bird mcp): narzędzia działające na Twoim komputerze wewnątrz bird CLI, dla agentów powłoki lub samodzielnego uruchomienia.
Serwer hostowany pomija te narzędzia dostępne tylko w trybie stdio:
  • auth_signup, auth_verify_email i auth_create_org: te narzędzia tworzą Twoje pierwsze poświadczenie, zanim możesz się uwierzytelnić na serwerze hostowanym.
  • compliance_attachments_upload: to narzędzie odczytuje lokalną ścieżkę do pliku. Na serwerze hostowanym ta ścieżka wskazywałaby na system plików serwera i mogłaby przesłać niewłaściwy plik.

Hostowany: połącz się z mcp.bird.com

Wybierz endpoint

Używaj https://mcp.bird.com do większości połączeń. To zalecany endpoint: większość klientów MCP samodzielnie wyszukuje i wybiera narzędzia z pełnego katalogu. Niektóre klienty nie wyszukują narzędzi samodzielnie lub wymuszają twardy limit liczby narzędzi, które serwer może udostępniać. /dynamic jest przeznaczony dla tych klientów.
Oba hostowane endpointy korzystają ze Streamable HTTP i tego samego logowania Bird OAuth:
EndpointNarzędzia widoczne dla klientaKiedy używać
https://mcp.bird.comPełny hostowany katalog narzędziZalecany dla większości klientów, które samodzielnie wyszukują i wybierają narzędzia. Obsługuje też widżety MCP Apps.
https://mcp.bird.com/dynamicTylko search i executeTylko dla klientów bez wewnętrznego wyszukiwania narzędzi lub z twardym limitem liczby narzędzi, które serwer może udostępniać.
Dynamiczny endpoint daje dostęp do tych samych hostowanych operacji przez execute. Standardowy endpoint i lokalny serwer stdio zachowują swoje poszczególne narzędzia; nie wyświetlają search ani execute.
Nie musisz instalować pliku binarnego ani tworzyć tokena. Połączenie wymaga dwóch kroków i oba są obowiązkowe:
  1. Dodaj serwer: podaj klientowi wybrany URL endpointu.
  2. Uwierzytelnij się: zaloguj się przez przeglądarkę, aby klient posiadał token działający w Twoim imieniu.
Oba endpointy wymagają uwierzytelnienia. Klient, który ma tylko URL, otrzymuje 401, dopóki się nie zalogujesz. Niektóre klienty same rozpoczynają logowanie przy pierwszym połączeniu z serwerem; inne oznaczają serwer jako "needs login" i czekają, aż go klikniesz. Kroki Twojego klienta określają jego zachowanie.

Używaj dynamicznego odkrywania narzędzi

Jeśli Twój klient odrzuca serwer, bo oferuje zbyt wiele narzędzi, połącz się z https://mcp.bird.com/dynamic i dokończ logowanie OAuth. Twój klient wyświetla dwa narzędzia:
  • search wyszukuje narzędzia po nazwie lub słowach kluczowych z opisu. Każde trafienie zawiera nazwę, opis, schemat wejściowy i adnotacje określające, czy narzędzie odczytuje, czy zmienia dane.
  • execute wywołuje jedno wybrane narzędzie z jego argumentami. Może odczytywać dane, wysyłać wiadomości, zmieniać rekordy lub je usuwać, w zależności od wybranego narzędzia.
Na przykład Twój agent może znaleźć narzędzie workspace za pomocą tego wywołania:
Przykład kodu
{
  "name": "search",
  "arguments": { "query": "workspace_get", "limit": 3 }
}
Po odczytaniu zwróconego schematu wejściowego wywołuje to narzędzie przez execute:
Przykład kodu
{
  "name": "execute",
  "arguments": { "tool": "workspace_get", "arguments": {} }
}
Wynik zawiera Twój bieżący obszar roboczy. Możesz też wyszukiwać za pomocą słów kluczowych zadań, takich jak send email. Wyszukiwanie domyślnie zwraca pięć trafień, przyjmuje limit od jednego do 10 i obsługuje zapytania do 500 znaków. Jeśli wynik zawiera has_more: true, zawęź zapytanie, aby uzyskać trafniejsze wyniki.
Wyniki wyszukiwania nie dodają narzędzi do katalogu Twojego klienta. Nazwy wymienione w wynikach lub instrukcjach odzyskiwania również przechodzą przez execute. Wykonanie korzysta z Twoich istniejących uprawnień; jeśli operacja wymaga dodatkowych uprawnień, klient może poprosić Cię o ich autoryzację. Znalezienie narzędzia nie przyznaje do niego dostępu.
Dynamiczne wykonanie zwraca dane dla narzędzi, które w innym przypadku wyświetlają widżety. Używaj standardowego endpointu do interaktywnych widżetów MCP Apps. Klienty widzą jedno narzędzie wykonawcze, więc ustawienia zatwierdzania per narzędzie dotyczą execute jako całości; sprawdź wybraną operację przed zatwierdzeniem wywołania. Ten endpoint wykonuje wywołania narzędzi i nie uruchamia JavaScriptu ani innego dostarczonego kodu.

Podłącz klienta

Poniższe przykłady używają standardowego endpointu. Aby korzystać z dynamicznego odkrywania, zamień URL serwera na https://mcp.bird.com/dynamic i wykonaj te same kroki logowania.

Claude Code

Dodaj serwer:
Przykład kodu
claude mcp add --transport http bird https://mcp.bird.com
claude mcp list teraz raportuje bird jako ! Needs authentication. Claude Code nie otwiera przeglądarki samodzielnie, więc zaloguj się z wnętrza sesji:
  1. Uruchom /mcp.
  2. Wybierz bird i naciśnij Enter.
  3. Wybierz Authenticate. Twoja przeglądarka otworzy ekran zgody Bird; zatwierdź go tam.
Serwer wyświetla się wtedy jako połączony i narzędzia działają. Uruchomienie bez interfejsu (claude -p) nie ma panelu /mcp, więc uwierzytelnij się najpierw z powłoki za pomocą claude mcp login bird. Aby zalogować się ponownie później, /mcp oferuje Re-authenticate; Clear authentication usuwa zapisany token.
Instalacja bird-ai plugin deklaruje ten serwer za Ciebie, co zastępuje polecenie claude mcp add. Uwierzytelnienie jest nadal wymagane, ponieważ plugin może dostarczyć serwer, ale nie może wydać grantu. Po instalacji wybierz /mcp > bird > Authenticate.

Cursor

W ~/.cursor/mcp.json:
Przykład kodu
{
  "mcpServers": {
    "bird": {
      "url": "https://mcp.bird.com"
    }
  }
}
Następnie otwórz Cursor Settings > Tools & Integrations. W sekcji MCP Tools bird wyświetla Needs login: kliknij, zatwierdź ekran zgody Bird w przeglądarce i wróć do Cursora.

OpenCode

Plugin OpenCode Bird rejestruje serwer za Ciebie, razem z umiejętnościami agenta Bird:
Przykład kodu
opencode plugin github:messagebird/bird-ai --global
OpenCode dodaje każde narzędzie MCP do kontekstu modelu, więc plugin łączy się z dynamicznym endpointem. Gdy włączysz eksperymentalny tryb kodu w OpenCode (OPENCODE_EXPERIMENTAL_CODE_MODE=1 lub OPENCODE_EXPERIMENTAL=1), OpenCode trzyma narzędzia MCP za własnym wyszukiwaniem, a plugin łączy się z pełnym katalogiem pod https://mcp.bird.com.
Aby dodać serwer bez pluginu, umieść to w opencode.json, w projekcie lub w ~/.config/opencode/opencode.json:
Przykład kodu
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "bird": {
      "type": "remote",
      "url": "https://mcp.bird.com/dynamic"
    }
  },
  "permission": {
    "bird_execute": "ask"
  }
}
Następnie zaloguj się, co otworzy w przeglądarce ekran zgody Bird:
Przykład kodu
opencode mcp auth bird
Zrestartuj OpenCode, aby załadować plugin. opencode mcp list zgłasza bird jako połączony po zatwierdzeniu. Plugin, podobnie jak wpis permission powyżej, sprawia, że OpenCode pyta przed każdym wywołaniem execute, ponieważ uruchamiane narzędzie może zmienić Twój obszar roboczy.

VS Code

W .vscode/mcp.json w Twoim projekcie:
Przykład kodu
{
  "servers": {
    "bird": {
      "type": "http",
      "url": "https://mcp.bird.com"
    }
  }
}
VS Code prosi o zaufanie serwerowi przy pierwszym uruchomieniu, a następnie sam wykonuje przepływ OAuth: zatwierdź ekran zgody Bird w oknie przeglądarki, które otworzy. Jeśli okno się nie pojawi, uruchom lub zrestartuj bird poleceniem MCP: List Servers i zatwierdź tam. Uzyskane uprawnienie jest widoczne w Accounts > Manage Trusted MCP Servers, gdzie też cofasz dostęp VS Code.

Codex

W ~/.codex/config.toml:
Przykład kodu
[mcp_servers.bird]
url = "https://mcp.bird.com"
Następnie zaloguj się z terminala, co otworzy przeglądarkę:
Przykład kodu
codex mcp login bird

Claude Desktop

Otwórz Settings > Connectors, kliknij Add custom connector, wklej https://mcp.bird.com i kliknij Add. Następnie kliknij Connect na konektorze Bird, aby uruchomić logowanie i zatwierdzić ekran zgody. W planach Team i Enterprise właściciel dodaje konektor raz dla organizacji, a każdy członek nadal klika Connect, aby uzyskać własne uprawnienie. Włączaj konektor per konwersacja z + > Connectors.

ChatGPT

Niestandardowe konektory MCP wymagają trybu deweloperskiego: Settings > Apps > Advanced settings > Developer mode. Następnie przejdź do Settings > Connectors > Create, nadaj konektorowi nazwę i opis, wklej https://mcp.bird.com i wybierz OAuth jako metodę uwierzytelniania. ChatGPT sam uruchamia logowanie i otwiera ekran zgody Bird w oknie popup przy pierwszym użyciu konektora.

Muse

Muse dodaje Bird jako niestandardowy konektor. Na czacie Muse poproś o skonfigurowanie go:
Przykład kodu
Set up a custom connector to the Bird MCP server at https://mcp.bird.com following https://bird.com/docs/ai/mcp-server.md so you can work with my Bird workspace.
Muse odpowiada linkiem do połączenia dla tej sesji. Otwórz go i zatwierdź ekran zgody Bird w przeglądarce. Link działa tylko dla Ciebie i wygasa wraz z sesją. Jeśli przestanie działać, poproś Muse o nowy.

Factory Droid

Przykład kodu
droid mcp add bird https://mcp.bird.com --type http
Następnie uruchom /mcp wewnątrz droida i dokończ logowanie przez przeglądarkę z menedżera serwerów.

Agent Plugins

Plugin bird-ai deklaruje ten serwer w pliku mcp.json zgodnym ze specyfikacją Agent Plugins. Host implementujący tę specyfikację odczytuje ten plik przy instalacji pluginu, więc nie musisz pisać konfiguracji serwera: zainstaluj plugin i zaloguj się.

Dowolny inny host

Znajdź ustawienie dodające remote, HTTP lub custom serwer MCP, zwykle w menu Connectors lub Integrations, i podaj URL. Lokalizacja pola różni się w zależności od klienta; użyj wybranego URL hostowanego endpointu. Następnie znajdź mechanizm logowania tego klienta: przycisk Connect, Authorize lub Needs login obok serwera, podkomendę login albo okno przeglądarki otwierane automatycznie. Klient, który wyświetla narzędzia Bird, ale każde wywołanie kończy się błędem, ma URL, ale nadal potrzebuje uprawnienia.

Co się dzieje po zalogowaniu

Przeglądarka otwiera ekran zgody Bird. Zaloguj się, wybierz, czy nadać uprawnienia na poziomie obszaru roboczego czy organizacji, i wskaż, które uprawnienia delegować. Ponieważ klienty MCP rejestrują się same, nazwa klienta jest zadeklarowana przez niego samego, więc ekran oznacza ją jako not verified by Bird. Upewnij się, że to klient, który faktycznie uruchomiłeś, zanim zatwierdzisz. Po zatwierdzeniu narzędzia pojawiają się na liście agenta, a token odświeża się automatycznie, więc jest to jednorazowy krok na klienta.
Najszybszy sposób na potwierdzenie, że działa, to zlecenie agentowi wywołania whoami: zwraca zalogowanego użytkownika, więc prawdziwa odpowiedź oznacza, że uprawnienie jest aktywne. Na dynamicznym endpoincie wywołaj je przez execute z tool: "whoami" i pustym arguments.
Uprawnienie jest ograniczone do części wspólnej tego, o co poprosił klient, co zatwierdziłeś i co faktycznie posiadasz; zakresy org:owner i platform-admin nigdy nie podlegają delegowaniu. Pojawia się na liście Connected apps w Twoim profilu, a cofnięcie go tam natychmiast odcina klienta.

Jak działa uzgadnianie połączenia

Nie potrzebujesz tego, żeby połączyć klienta. Ma to znaczenie, jeśli debugujesz klienta, który nie chce się uwierzytelnić, albo piszesz własnego.
Hostowana warstwa używa Streamable HTTP i nie przechowuje poświadczeń: nie zapisuje żadnych sekretów i sama niczego nie waliduje. Każde żądanie niesie Twój własny token okaziciela OAuth, który API Bird waliduje per żądanie. Serwer jest bezstanowy, a ruch regionalny jest kierowany automatycznie, więc jeden URL działa z dowolnego miejsca.
Przepływ logowania korzysta ze standardowego MCP. Klienty różnią się tylko tym, co go wyzwala: pierwsze wywołanie narzędzia lub wybranie Authenticate. Po rozpoczęciu przepływu kroki uwierzytelniania nie wymagają dodatkowej konfiguracji:
  1. Klient wysyła nieuwierzytelnione żądanie i otrzymuje 401 z nagłówkiem WWW-Authenticate wskazującym na metadane chronionego zasobu Bird zgodne z RFC 9728 (/.well-known/oauth-protected-resource).
  2. Stamtąd odkrywa serwer autoryzacji, a następnie rejestruje się dynamicznie (RFC 7591). Dynamiczna rejestracja eliminuje potrzebę współdzielonego identyfikatora klienta lub ręcznej konfiguracji.
  3. Przeglądarka otwiera ekran zgody Bird.
  4. Klient wymienia wynik na token dostępu (PKCE; odświeżany automatycznie) i pojawiają się narzędzia Bird.

Lokalnie: uruchom przez stdio z CLI

Uruchom lokalny serwer MCP wewnątrz bird CLI dla agentów z dostępem do powłoki lub dostępu do plików na Twojej maszynie. Zainstaluj CLI, uruchom bird auth login raz, a następnie skieruj klienta na komendę bird mcp.
Nie uruchamiasz bird mcp samodzielnie: Twój klient go uruchamia i komunikuje się z nim przez stdin/stdout. Każdy klient potrzebuje tych samych dwóch informacji: komendy (bird) i argumentu (mcp). Ta ścieżka nie wymaga logowania per klient, ponieważ bird auth login już posiada uprawnienie.

Cursor

Przykład kodu
{
  "mcpServers": {
    "bird": {
      "command": "bird",
      "args": ["mcp"]
    }
  }
}

VS Code

Przykład kodu
{
  "servers": {
    "bird": {
      "command": "bird",
      "args": ["mcp"]
    }
  }
}

Claude Code

Przykład kodu
claude mcp add bird -- bird mcp

Jak uwierzytelnia się lokalny serwer

Lokalny serwer działa jako Ty i wykorzystuje zapisany login CLI. bird auth login otwiera w przeglądarce przepływ OAuth, w którym nadajesz podzbiór uprawnień obszaru roboczego. Wydany token ma ograniczenia uprawnień hostowanego uprawnienia. Zakresy org:owner ani platform-admin nie są dostępne. bird mcp odczytuje i odświeża zapisany login z pliku poświadczeń CLI, którego uprawnienia to 0600. Tak jak w hostowanej warstwie, konfiguracja klienta nie zawiera BIRD_API_KEY ani innego sekretu. Jeśli login nie istnieje, bird mcp odmawia uruchomienia i każe uruchomić bird auth login.
Nie wystawiasz nasłuchiwania: serwer działa na Twojej maszynie, w sandboxie klienta, dokładnie tak długo, jak klient go potrzebuje. Host API automatycznie podąża za regionem Twojego loginu; --base-url (lub BIRD_API_URL) nadpisuje go na potrzeby testowania w środowisku nieprodukcyjnym.

Co obejmują narzędzia

Zestaw narzędzi obejmuje każdy kanał, na którym działa Bird, oraz zadania związane z kontem i konfiguracją wokół nich. Jest wyselekcjonowany, a nie pełną powierzchnią API: każde narzędzie jest ograniczone do zadania faktycznie wykonywanego przez agenta, a operacje destrukcyjne są oznaczone, aby hosty mogły pytać przed ich uruchomieniem.
E-mail ma najwięcej narzędzi, ponieważ ma największą powierzchnię do skonfigurowania. Pozostałe kanały mają ten sam schemat wysyłania i odczytu.

Wiadomości

  • Wysyłanie i sprawdzanie e-maili: email_send, email_send_batch, email_list i email_get, który zwraca wiadomość ze zbiorczym statusem dostarczenia. Statusy dostarczenia per odbiorca i dziennik zdarzeń to osobne wywołania narzędzi.
  • Wysyłanie i sprawdzanie SMS: sms_send, sms_send_batch, sms_get, sms_list i sms_list_events, odzwierciedlając schemat e-maila. sms_templates_list i sms_templates_get odczytują katalog szablonów.
  • Wysyłanie i sprawdzanie WhatsApp: whatsapp_send, whatsapp_get, whatsapp_list, whatsapp_list_events i whatsapp_media. Szablony to pełna powierzchnia tworzenia w ramach whatsapp_templates_*, włącznie z treścią per wersja i per język.
  • Sprawdzanie odcinków połączeń głosowych: voice_legs_get i voice_legs_list odczytują odcinki połączeń. Statystyki według kraju i kodu odpowiedzi są dostępne w voice_stats_*. voice_session_credentials_create tworzy poświadczenie obszaru roboczego używane przez klienta SIP lub softphone do uwierzytelniania.
  • Weryfikacja odbiorcy: verify_verifications_create wysyła jednorazowy kod weryfikacyjny, verify_verifications_check waliduje to, co odbiorca przesłał, a verify_verifications_next_channel przełącza się na inny kanał.
  • Tworzenie połączenia głosowego (wersja poglądowa): voice_calls_create przygotowuje połączenie wychodzące z użyciem aktywnej publikacji włączonej, niezarchiwizowanej sekwencji. Osoba sprawdza i uruchamia żądanie w przeglądarce; samo przygotowanie nie nawiązuje połączenia. Informacje o uprawnieniach i ponawianiu prób znajdziesz w Tworzenie połączenia głosowego. Lokalny serwer bird mcp wymaga wersji CLI zawierającej to narzędzie.

Przygotowanie kanału do wysyłki

  • Konfiguracja domen wysyłkowych: email_domains_create dodaje domenę wysyłkową i zwraca rekordy DNS do opublikowania; email_domains_verify ponownie je sprawdza; plus email_domains_list i email_domains_get.
  • Rejestracja nadawców SMS: sms_senders_create rezerwuje nadawcę, sms_senders_requirements raportuje wymagania danego kraju, a sms_senders_registrations_create go rejestruje. Ruch A2P w USA przechodzi przez narzędzia sms_10dlc_* do marek, kampanii i zgłoszeń.
  • Aprowizacja numerów: numbers_available_list wyszukuje, numbers_orders_create kupuje, a numbers_release zwraca. whatsapp_numbers_precheck raportuje, czy WhatsApp zaakceptuje numer, zanim go zamówisz.
  • Sprawdzenie, czy konto w ogóle może wysyłać: narzędzia trust_* raportują wymagania organizacji warunkujące zakup numeru lub rejestrację nadawcy.

Dostarczalność e-maili

  • Tworzenie szablonów e-mail: email_templates_create, email_templates_list, email_templates_get, email_templates_update, email_templates_duplicate i email_templates_preview (renderowanie wersji roboczej z przykładowymi wartościami bez wysyłki). Wersje znajdują się w email_templates_versions_*, gdzie email_templates_versions_submit zamraża wersję roboczą i czyni ją wersją serwowaną przy wysyłce, a email_templates_versions_languages_* edytuje treść wersji roboczej per język. Nic, co agent napisze, nie dotrze do odbiorcy, dopóki nie zostanie zatwierdzone.
  • Zarządzanie wyciszeniami: email_suppressions_list, email_suppressions_check (czy na ten adres można bezpiecznie wysyłać?), email_suppressions_add i email_suppressions_remove (oznaczone jako destrukcyjne, ponieważ usunięcie wyciszenia bez powodu szkodzi reputacji nadawcy).
  • Zarządzanie dedykowanymi IP i pulami: email_dedicated_ips_create, email_dedicated_ips_list, email_dedicated_ips_get, email_dedicated_ips_assign (przeniesienie do puli) i email_dedicated_ips_delete; plus email_ip_pools_create, email_ip_pools_list, email_ip_pools_get, email_ip_pools_update i email_ip_pools_delete dla pul, przez które kierujesz wysyłki.

Odbiorcy i konfiguracja

  • Zarządzanie kontaktami i odbiorcami: contacts_* i contact_properties_* dla osób, do których wysyłasz, audiences_* dla list, do których wysyłasz, oraz preferences_* dla zgód i rezygnacji.
  • Aprowizacja Realtime: realtime_apps_* i realtime_apps_keys_* tworzą aplikacje i klucze, z którymi łączą się klienty Realtime.
  • Wyszukiwanie kogoś: lookup_phone_number i lookup_email raportują, co Bird wie o danym adresie, zanim na niego wyślesz.
  • Podgląd konfiguracji: webhooks_list, workspace_get i whoami (zalogowany użytkownik: id, e-mail, nazwa).
Twój klient wyświetla aktualną listę narzędzi z nazwami, opisami i schematami wejściowymi. Traktuj tę listę jako autorytatywny inwentarz. Dobre pierwsze zadanie do przetestowania od początku do końca:
Call whoami to find my email, then send me a test email from onboarding@messagebird.dev and tell me when it's delivered.

MCP czy CLI?

Ta sama powierzchnia, ten sam model uwierzytelniania, inni wywołujący. Dla agentów z dostępem do powłoki (Claude Code, terminal Cursora, CI) CLI jest lżejszy: wyjście JSON, semantyczne kody zakończenia i znacznie mniej tokenów na operację. MCP jest dla hostów, które wywołują narzędzia zamiast uruchamiać powłokę, a hostowany endpoint dociera do tych, które w ogóle nie potrafią uruchomić binarki (Claude Desktop, ChatGPT, mobile). Nie musisz decydować z góry: hostowany URL nie wymaga instalacji, a lokalne bird mcp jest już dostępne, gdy masz CLI.

Następne kroki

  • Wdrażanie z AI: skrócona wersja tej strony plus korpus dokumentacji do odczytu maszynowego.
  • Umiejętności agenta: plugin bird-ai z marketplace, umiejętności plus ten serwer MCP, instalowane w jednym kroku.
  • CLI dla agentów: steruj Bird z agentów z dostępem do powłoki bez MCP: wyjście JSON, semantyczne kody zakończenia, login OAuth.
  • Uwierzytelnianie: klucze API, regiony i sposób autoryzacji żądań.