Mediflo
Serwer MCP

Podłączenie

Logowanie kontem Mediflo dla Claude Code i Claude Desktop oraz gotowe fragmenty konfiguracji z kluczem API dla Cursora, VS Code i surowego JSON-RPC.

Adres serwera jest jeden i zawsze ten sam:

https://app.mediflo.ai/api/external/mcp

Do uwierzytelnienia prowadzą dwie drogi, a wybór jest prosty:

  • Logowanie kontem Mediflo (OAuth) — rekomendowane dla ludzi. Claude Code, Claude Desktop i claude.ai same odkrywają nasz serwer autoryzacji, otwierają przeglądarkę i proszą Cię o zgodę. Nie ma klucza do skopiowania ani do zgubienia, a asystent dostaje dokładnie te uprawnienia, które masz w aplikacji.
  • Klucz API — dla serwerów, integracji, zadań CI i klientów, które nie otworzą przeglądarki (Cursor, VS Code, curl). Klucz działa z uprawnieniami osoby, która go utworzyła: gdy jej konto zostanie dezaktywowane albo usunięte, klucz przestaje działać (tak samo jak unieważniony). Klucz dla integracji produkcyjnej twórz więc z konta, które w organizacji zostaje.

Logowanie kontem Mediflo

Jedna komenda — bez nagłówka z kluczem:

claude mcp add --transport http mediflo https://app.mediflo.ai/api/external/mcp

Potem w sesji wpisz /mcp, wybierz mediflo i Authenticate. Otworzy się karta przeglądarki: zaloguj się kontem Mediflo i kliknij Allow. Po powrocie /mcp wypisuje narzędzia widoczne dla Twoich uprawnień.

Uprawnienia

Asystent podłączony przez logowanie działa jako Ty: zakresy API wyliczamy z Twoich uprawnień w aplikacji, więc nie zrobi niczego, czego sam nie możesz zrobić w Mediflo. Zmiana uprawnień dociera do asystenta w ciągu godziny.

Samo podłączenie wymaga uprawnienia „Łączenie asystentów AI przez MCP” (mcp.connect). Administratorzy i supervisorzy mają je domyślnie; konsultantowi trzeba je nadać. Bez niego strona zgody wyjaśni, czego brakuje, i nie wyda żadnego tokenu.

Podłączonych asystentów widać w aplikacji: Ustawienia → Integracje → MCP → Połączeni asystenci. Każdego odłączysz jednym kliknięciem — dostęp znika natychmiast, nie po wygaśnięciu tokenu. Administrator (uprawnienie api-keys.manage) widzi i odłącza asystentów całej organizacji.

Nie ma tu żadnego sekretu do przechowania

Token dostępowy żyje godzinę i odnawia się sam, a odświeżenie ponownie wylicza zakresy z Twoich aktualnych uprawnień. Nic nie ląduje w pliku w repozytorium.

Klucz API

Klucz wygenerujesz w aplikacji: Ustawienia → Integracje → Klucze API. Pokazujemy go raz, więc zapisz go od razu w menedżerze sekretów swojego klienta. Nadaj mu minimalny zestaw zakresów — to one decydują, które narzędzia zobaczy agent.

Klucz to nie plik w repozytorium

Konfiguracje poniżej trzymają klucz w pliku. .cursor/mcp.json i .vscode/mcp.json bardzo łatwo trafiają do gita. Dodaj je do .gitignore albo użyj podstawienia zmiennej środowiskowej, które oferuje Twój klient.

W każdym fragmencie podmień TWOJ_KLUCZ_API na własny klucz.

Utwórz .cursor/mcp.json w katalogu projektu (albo ~/.cursor/mcp.json, jeśli chcesz mieć serwer we wszystkich projektach):

{
  "mcpServers": {
    "mediflo": {
      "url": "https://app.mediflo.ai/api/external/mcp",
      "headers": {
        "Authorization": "Bearer TWOJ_KLUCZ_API"
      }
    }
  }
}

Serwer zdalny rozpoznaje się po polu url — command jest tylko dla serwerów lokalnych. Klucz możesz też podstawić ze zmiennej środowiskowej zapisem "Bearer ${env:MEDIFLO_API_KEY}". Status połączenia widać w Ustawieniach Cursora w sekcji MCP.

Wymagania transportu

RegułaSzczegół
MetodaTylko POST. GET dostaje 405 i nagłówek Allow: POST — bez sesji nie ma czego streamować.
Nagłówek AcceptMusi zawierać application/json oraz text/event-stream.
Nagłówek AuthorizationBearer mflo_live_… (klucz API) albo Bearer mflo_oat_… (token z logowania). Brak lub błędny nagłówek to 401 z nagłówkiem WWW-Authenticate, po którym klient sam rozpoczyna logowanie.
Wersja protokołuOd 2024-10-07 do 2025-11-25 w każdej organizacji — m.in. 2025-11-25, 2025-06-18 i 2025-03-26 działają jak dotąd, a istniejące połączenia nie wymagają ponownego łączenia. Wersję 2026-07-28 włączamy per organizacja (poproś o to wsparcie Mediflo). Bez niej żądanie w tej wersji dostaje 400 i -32000, a klient wraca do 2025-11-25.
Wsadowe JSON-RPCNieobsługiwane. Tablica w ciele żądania dostaje -32600 — batching zniknął ze specyfikacji MCP w wersji 2025-06-18.
Rozmiar ciałaMaksymalnie 1 MB.

Wersja protokołu 2026-07-28

Dotyczy organizacji z włączoną wersją 2026-07-28. Klienty MCP, które ją obsługują, spełniają poniższe reguły same — przydają się przy surowych żądaniach.

  • Bez initialize i bez sesji. Klient zwykle zaczyna od server/discover, żeby ustalić wersję, ale to krok opcjonalny: tools/list i tools/call z kopertą działają od pierwszego żądania.
  • Koperta w każdym żądaniu. params._meta musi zawierać io.modelcontextprotocol/protocolVersion ("2026-07-28") i io.modelcontextprotocol/clientCapabilities (obiekt, może być pusty). io.modelcontextprotocol/clientInfo jest zalecane, nie wymagane.
  • Nagłówki lustrzane do ciała. MCP-Protocol-Version z tą samą wersją co koperta, Mcp-Method z nazwą metody z ciała, a przy tools/call także Mcp-Name z nazwą narzędzia (params.name). Niezgodność nagłówka z ciałem, a także brak Mcp-Method albo Mcp-Name, to 400 i -32020.
  • Bez strumienia zmian. subscriptions/listen dostaje 404 — serwer jest bezstanowy i ogłasza listChanged: false.
curl -X POST https://app.mediflo.ai/api/external/mcp \
  -H "Authorization: Bearer TWOJ_KLUCZ_API" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -H "Mcp-Method: tools/call" \
  -H "Mcp-Name: get_server_info" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_server_info","arguments":{},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}'

Pierwsze wywołanie

Poproś agenta o wywołanie get_server_info. Odpowiedź zawiera wersję serwera, negocjowane wersje protokołu, zakresy Twojego połączenia i listę narzędzi, którą ono widzi — to najszybsze potwierdzenie, że połączenie i uprawnienia są w porządku. Potem list_bots pokaże boty Twojej organizacji.

Coś nie działa? Zajrzyj do rozwiązywania problemów.

Na tej stronie