Adres i logowanie
Instrukcja krok po kroku dla ludzi, z listą aplikacji obsługujących własne konektory: Asystenci AI. Szczegóły czytelne dla maszyn: /auth.md i karta serwera pod /mcp/server-card. Serwer jest w oficjalnym rejestrze MCP jako com.multiplegroupposter/multigroupposter (wpis w rejestrze).
| Element | Wartość |
|---|---|
| Adres | https://mcp.multiplegroupposter.com/mcp (Streamable HTTP, bezstanowy) |
| Uwierzytelnianie | OAuth 2.1 z PKCE (S256). Obsługiwana jest zarówno dynamiczna rejestracja klienta, jak i dokumenty metadanych identyfikatora klienta. Zakresy: mgp, offline_access. |
| Wykrywanie | /.well-known/oauth-protected-resource i /.well-known/oauth-authorization-server. Wywołanie bez uwierzytelnienia zwraca 401 z nagłówkiem WWW-Authenticate, który na nie wskazuje. |
| Powiązanie | Na stronie logowania osoba wpisuje 8-cyfrowy kod z rozszerzenia (Pomoc, potem Połącz asystenta AI, potem Pobierz mój kod; ważny 20 minut). Rozszerzenie prosi wtedy o wybranie liczby, którą pokazuje strona logowania. Zły wybór odrzuca prośbę. |
| Tokeny | Tokeny odświeżania działają 180 dni i odnawiają się przy używaniu. Rozłączenie w rozszerzeniu usuwa tokeny i wszystko, co zachował konektor. |
| Konto testowe | Strona logowania ma opcję „Wypróbuj konto demo”: dwie przykładowe listy, nic nie trafia na Facebooka, usuwane po 3 dniach. Użyj go do testowania klienta. |
Narzędzia
Jest też prompt post_to_groups, który prowadzi przez post krok po kroku. Każde narzędzie ma wskazówki read-only i destructive.
| Narzędzie | Co robi |
|---|---|
get_started | Stan konfiguracji: czy rozszerzenie jest online i zalogowane, plan, listy grup, ostatnie posty i sugerowany następny krok. Tylko do odczytu. |
list_group_lists | Zapisane listy grup (nazwa, liczba grup). Tylko do odczytu. |
create_post | Tworzy post dla listy grup: tekst (do 5000 znaków), nazwa listy, do 10 identyfikatorów mediów, opcjonalny pierwszy komentarz (do 1000), metoda fast lub safe, tryb draft (domyślny) lub publish_now. publish_now wymaga confirmed: true, podanego dopiero wtedy, gdy osoba powiedziała tak na podsumowanie. |
get_post_status | Status posta (w kolejce, odebrany, szkic gotowy, publikowanie, gotowe, nieudane) z wynikiem i linkiem dla każdej grupy. Tylko do odczytu. |
list_recent_posts | Ostatnie 10 postów utworzonych przez asystenta. Sprawdź tę listę, zanim utworzysz post ponownie po niejasnym błędzie. Tylko do odczytu. |
get_upload_link | Jednorazowa strona, na której osoba przesyła zdjęcia lub filmy (działa na telefonie, 24 godziny). |
list_uploaded_media | Przesłane zdjęcia i filmy z ich identyfikatorami mediów. Tylko do odczytu. |
add_media_from_url | Pobiera zdjęcie lub film z publicznego linku https (do 100 MB; JPG, PNG, GIF, WEBP, MP4, MOV). |
open_post_composer | Pokazuje kartę w czacie (MCP Apps), żeby dodać zdjęcia, edytować tekst i wybrać listę. Tworzy szkic. |
Jak działa publikowanie
- Szkic jest domyślny: post czeka w rozszerzeniu, aż osoba go sprawdzi i kliknie Opublikuj.
- Serwer niczego nie publikuje. Rozszerzenie w Chrome tej osoby odbiera zadanie i publikuje je z jej własną sesją Facebooka, metodą i tempem. Jeśli Chrome jest zamknięty, zadanie czeka.
- Opublikuj teraz liczy się do planu darmowego jak każdy inny post; szkice nie.
- Przesłane media są przechowywane 24 godziny, posty 7 dni. Rozłączenie od razu je usuwa.
Błędy
Błędy narzędzi wracają jako zwykły wynik z isError: true i treścią JSON {"error": "...", "next_step": "..."} (także w structuredContent). Nieudany post ma code: free_plan_used_up, not_signed_in, busy, list_missing, list_empty, media_missing, storage, off, disconnected, not_posted, lost lub error, a next_step mówi, co przekazać osobie.
Błędy HTTP też są w JSON: 401 {"error":"invalid_token"} z WWW-Authenticate, 404 {"error":"not found"}, 429 po przekroczeniu limitu logowań.
Po niejasnym błędzie nie wywołuj ponownie create_post: najpierw wywołaj list_recent_posts, żeby nic nie zostało opublikowane dwa razy.
Na tej stronie (WebMCP i API informacyjne)
Strony multiplegroupposter.com udostępniają też agentowi w przeglądarce narzędzia WebMCP tylko do odczytu (jeśli przeglądarka obsługuje WebMCP): get_pricing, get_limits, search_docs, get_install_link i get_mcp_connection_info. Tylko odczytują fakty z tej strony i nigdzie niczego nie wysyłają.
Te same fakty są dostępne jako JSON pod /api/v1/pricing/, /api/v1/limits/ i /api/v1/docs/?q=, opisane w /openapi.json. Klucz nie jest potrzebny.
Dla agentów AI: każda strona dokumentacji ma kopię w Markdown (dodaj .md do ścieżki), cała sekcja jest zindeksowana w /docs/llms.txt i /docs.json, a serwer MCP jest opisany na /docs/mcp/.