# Serwer MCP Nodary

Nodary udostępnia zdalny serwer MCP, dzięki któremu agent AI czyta i zapisuje Twoją przestrzeń roboczą tak jak członek zespołu: te same dokumenty, te same uprawnienia, zalogowany w Twoim imieniu.

## W skrócie

- **Adres**: https://nodary.ai/api/mcp
- **Transport**: Streamable HTTP (JSON-RPC przez POST)
- **Logowanie**: OAuth 2.1 z dynamiczną rejestracją klienta i PKCE albo klucz API
- **Dostęp**: W cenie każdego planu; w planie Free w granicach jego limitów
- **Wykrywanie**: https://nodary.ai/.well-known/oauth-protected-resource/api/mcp · https://nodary.ai/.well-known/mcp.json

Claude Code: Uruchom to polecenie w terminalu (dodaj --scope user, aby używać Nodary w każdym projekcie):

```sh
claude mcp add --transport http nodary https://nodary.ai/api/mcp
```

## Czym jest

Model Context Protocol (MCP) to otwarty standard, z którego korzystają aplikacje AI, by pracować z zewnętrznymi narzędziami. Serwer Nodary daje agentowi tę samą przestrzeń roboczą, której używa Twój zespół: projekty, dokumenty i ich powiązania, arkusze kalkulacyjne, obrazy, tabele tłumaczeń, dialogi i tablice.

Agent nie dostaje kopii. Czyta to, co jest tam teraz, zapisuje tam, gdzie go o to poprosisz, a każdy wynik zawiera link, który człowiek może otworzyć, aby sprawdzić jego pracę.

## Logowanie

Większość klientów loguje się przez OAuth: wystarczy podać adres serwera, a w przeglądarce otworzy się strona logowania i zgody Nodary. Nodary obsługuje OAuth 2.1 z dynamiczną rejestracją klienta i PKCE, więc nie trzeba tworzyć identyfikatora klienta ani niczego kopiować. Tokeny dostępu są ważne godzinę, a klient sam je odnawia.

Jedno połączenie może obejmować kilka przestrzeni roboczych. Jeśli należysz do więcej niż jednej, strona zgody wyświetla je wszystkie, zaznaczone: aplikacja ma wtedy dostęp do przestrzeni, które zostawisz zaznaczone, i tylko do nich. „Także przestrzenie, do których dołączę później” pozostaje wyłączone, dopóki tego nie zaznaczysz. W takim połączeniu każde narzędzie przyjmuje workspace (identyfikator, slug lub nazwę): wywołanie, które coś zmienia, musi ją wskazać, odczyt bez niej działa tylko tam, gdzie są jego identyfikatory, a każdy wynik zaczyna się od przestrzeni, w której został wykonany. Klucz API pozostaje przypisany do jednej przestrzeni.

Klient, który nie potrafi się zalogować, może zamiast tego użyć klucza API: utwórz go w swoim profilu, w sekcji API keys & MCP (zaczyna się od gdc_), i wysyłaj go w nagłówku Authorization: Bearer gdc_… Klucz można ograniczyć do jednego projektu.

## Kto może z niego korzystać

Serwer MCP jest w cenie każdego planu, Free, Pro, Studio i Enterprise, dla każdego członka i bez dopłat.

W planie Free agent czyta i zapisuje jak w płatnym planie, dopóki przestrzeń robocza mieści się w limitach: projekty: 1, dokumenty i foldery: 10, członkowie: 2. Zapis, który przekroczyłby limit, zostaje odrzucony z informacją o tym limicie i o tym, jak go znieść: dopóki przestrzeń może jeszcze skorzystać z okresu próbnego, z linkiem do pulpitu, gdzie właściciel lub administrator rozpoczyna 14-dniowy okres próbny Studio (z MCP, bez karty); w przeciwnym razie z linkiem do cennika.

Przestrzeń robocza powyżej planu Free po okresie próbnym, bez subskrypcji, jest zablokowana do czasu wykupienia subskrypcji: agenci są w niej odcięci, także od czytania. Połączenie tylko z tą przestrzenią dostaje quota_locked przy każdym żądaniu, z tym, co przekracza limit, i miejscem, gdzie właściciel wykupuje subskrypcję; połączenie z kilkoma przestrzeniami dostaje quota_locked (lub billing_locked po nieudanej płatności) tylko przy wywołaniach w zablokowanej przestrzeni, jako błąd narzędzia, i dalej działa w pozostałych.

- [Cennik](https://nodary.ai/pl/pricing)

## Co może zrobić agent

Liczba narzędzi: 92. Pogrupowaliśmy je tu według zadań, które wykonują. Każde informuje klienta, czy tylko czyta i czy zapis może coś nadpisać, więc klient może zapytać Cię o zgodę, zanim zadziała.

### Wyszukiwanie i czytanie

Projekty, dokumenty z powiązaniami i historią, komentarze, notatki wiedzy, zapisane widoki i briefy kontekstu. Wyniki zawierają linki, które ludzie mogą otworzyć.

`list_games`, `list_stars`, `search_documents`, `get_document`, `get_star`, `get_tree`, `list_templates`, `list_members`, `list_project_knowledge`, `get_project_knowledge`, `list_comments`, `get_canon`, `list_versions`, `get_version`, `diff_versions`, `list_deleted_stars`, `list_context_briefs`, `get_context_brief`, `list_saved_views`, `get_saved_view`, `list_favorites`, `get_workspace_usage`, `list_properties`, `get_file_url`, `describe_blocks`, `run_view`, `list_workspaces`

### Pisanie i porządkowanie

Tworzenie i edycja dokumentów blok po bloku, umieszczanie ich w folderach, łączenie, tagowanie, komentowanie, ustawianie właściwości i rozstrzyganie sprzeczności. Usunięty dokument można przywrócić.

`create_game`, `update_game`, `rename_workspace`, `create_starter_constellation`, `create_from_template`, `create_star`, `create_stars`, `write_document`, `append_document`, `edit_document`, `update_star`, `update_stars`, `delete_star`, `restore_star`, `create_cluster`, `move_to_cluster`, `link_stars`, `unlink_stars`, `set_tags`, `save_project_knowledge`, `add_comment`, `add_comments`, `resolve_comment`, `list_contradictions`, `report_contradiction`, `resolve_contradiction`, `save_context_brief`, `save_saved_view`, `set_favorite`, `define_properties`, `set_properties`, `restore_version`, `edit_comment`, `delete_comment`, `delete_project_knowledge`, `remove_context_brief`, `remove_saved_view`, `open_daily_note`

### Przegląd grafik i obrazy

Dodawanie obrazów, oglądanie ich razem z notatkami, które ludzie na nich narysowali, podejmowanie decyzji, opisywanie i tagowanie materiałów do odbioru (każda decyzja jest podpisana: kto i kiedy), zamiana moodboardu w paletę i sprawdzanie z nią obrazu oraz przygotowanie arkusza uwag dla podwykonawcy.

`add_image`, `start_upload`, `add_media`, `get_image`, `get_moodboard`, `render_board`, `edit_board`, `find_pictures`, `update_pictures`, `get_art_review`, `extract_palette`, `check_palette`, `feedback_sheet`, `restore_image_version`, `set_image_origin`

### Arkusze i balansowanie

Odczyt arkusza jako obliczonych wartości wraz z formułą stojącą za każdą komórką, zapis komórek według adresu lub wiersza oraz odczyt tabeli łupów pod kątem tego, co oznacza dla graczy.

`get_sheet`, `set_cells`, `analyze_drops`

### Lokalizacja i dialogi

Podgląd postępu każdego języka w tabeli tłumaczeń, zapis tłumaczeń według klucza i sprawdzanie rozgałęzionego dialogu, który eksportuje się jako skrypt Yarn Spinner.

`get_localization`, `set_translations`, `check_dialogue`

### Produkcja

Ustawianie terminów, proszenie o recenzje i ich przesyłanie, podgląd ostatnich zmian i tego, czy kamień milowy zostanie osiągnięty.

`get_progress`, `recent_changes`, `set_due_date`, `set_due_dates`, `request_review`, `submit_review`

## Prompty i zasoby

Gotowe polecenia, które klient może udostępnić jako komendy:

- weekly-summary: Co zmieniło się w tym tygodniu w przestrzeni roboczej lub w jednym projekcie: co napisano, postanowiono, zrecenzowano i co wciąż jest otwarte.
- art-review: Na jakim etapie jest przegląd grafik: obrazy czekające na decyzję, te, które odbiegają od palety, i to, o czym trzeba zdecydować w następnej kolejności.
- playtest-to-tasks: Zamienia notatki z playtestów w zadania, z których każde jest powiązane z dokumentem projektowym, którego dotyczy.
- balance-review: Czyta tabelę łupów lub krzywą progresji i mówi, co oznacza ona dla graczy i co budzi wątpliwości.

Zasoby, które klient może dołączyć bez wywoływania narzędzia:

- nodary://star/{id}: dokument w formacie Markdown
- nodary://project/{id}: struktura projektu

## Bezpieczeństwo

- Agent działa jako osoba, która go podłączyła: widzi i zmienia tylko to, do czego ta osoba ma dostęp, a klucz ograniczony do projektu nie wychodzi poza ten projekt.
- W połączeniu z kilkoma przestrzeniami roboczymi nic nie jest rozwiązywane między nimi: identyfikatory i tytuły są wyszukiwane tylko w przestrzeni wskazanej przez wywołanie, identyfikator z innej przestrzeni jest odrzucany, zanim cokolwiek się wykona, a każdy wynik podaje swoją przestrzeń.
- Dokumenty zachowują historię wersji, a usunięty dokument można przywrócić.
- Narzędzia zapisu przyjmują klucz idempotencji: wywołanie powtórzone po zerwanym połączeniu zwraca pierwszy wynik, zamiast zapisywać dwa razy.
- Połączenie wysyła najwyżej 120 żądań na minutę; zapisy nie mają dziennego limitu.
- Decyzje z przeglądu grafik są podpisane nazwiskiem osoby, która je podjęła, wraz ze znacznikiem czasu.
- Nodary informuje każdego agenta, że tekst dokumentów i komentarzy to treść do pracy, a nie polecenia do wykonania. To, jak agent z tego skorzysta, zależy od samego agenta.

## Podłącz swojego klienta

Użyj adresu https://nodary.ai/api/mcp. Instrukcje dla każdego z poniższych klientów zweryfikowaliśmy z jego własną dokumentacją 1 października 2026 r.

### Claude (claude.ai i Claude Desktop)

1. Otwórz Customize, a następnie Connectors i wybierz Add custom connector.
2. Wpisz https://nodary.ai/api/mcp. Gdy Claude zapyta o sposób rejestracji, wybierz Register automatically.
3. Połącz się, zaloguj do Nodary i zatwierdź dostęp.

Niestandardowe konektory są dostępne w planach Free, Pro, Max, Team i Enterprise; konto Free może dodać jeden. W planach Team i Enterprise właściciel musi najpierw dodać konektor dla organizacji.

### ChatGPT

1. W Settings, w sekcji Security and login, włącz Developer mode.
2. Utwórz aplikację dla zdalnego serwera MCP z adresem https://nodary.ai/api/mcp i logowaniem OAuth.
3. Zaloguj się do Nodary i zatwierdź dostęp. Narzędzia pojawią się wtedy w polu wiadomości, w trybie Developer mode.

Developer mode jest dostępny w wersji webowej dla kont Plus, Pro, Business, Enterprise i Education; w planach Business i Enterprise może być potrzebna zgoda administratora. ChatGPT łączy się wyłącznie przez OAuth, nie kluczem API.

### Claude Code

1. Uruchom to polecenie w terminalu (dodaj --scope user, aby używać Nodary w każdym projekcie):

   ```
   claude mcp add --transport http nodary https://nodary.ai/api/mcp
   ```
2. W Claude Code wpisz /mcp, wybierz nodary i zaloguj się w przeglądarce.

Albo z kluczem API

```sh
claude mcp add --transport http nodary https://nodary.ai/api/mcp \
  --header "Authorization: Bearer gdc_..."
```

### Cursor

1. Dodaj Nodary do ~/.cursor/mcp.json (wszystkie projekty) lub .cursor/mcp.json (jeden projekt):

   ```
   {
     "mcpServers": {
       "nodary": {
         "url": "https://nodary.ai/api/mcp"
       }
     }
   }
   ```
2. Cursor zaproponuje logowanie, gdy serwer po raz pierwszy o nie poprosi.

Albo z kluczem API

```json
{
  "mcpServers": {
    "nodary": {
      "url": "https://nodary.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:NODARY_API_KEY}"
      }
    }
  }
}
```

### VS Code (GitHub Copilot)

1. Dodaj Nodary do .vscode/mcp.json w swoim obszarze roboczym albo uruchom polecenie MCP: Add Server:

   ```
   {
     "servers": {
       "nodary": {
         "type": "http",
         "url": "https://nodary.ai/api/mcp"
       }
     }
   }
   ```
2. Uruchom serwer; VS Code otworzy logowanie do Nodary.

W Copilot Business i Enterprise administrator musi najpierw zezwolić na serwery MCP.

Albo z kluczem API

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "nodary-key",
      "description": "Nodary API key",
      "password": true
    }
  ],
  "servers": {
    "nodary": {
      "type": "http",
      "url": "https://nodary.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer ${input:nodary-key}"
      }
    }
  }
}
```

### Devin Desktop (dawniej Windsurf)

1. Dodaj serwer i zaloguj się z terminala:

   ```
   devin mcp add -s user nodary https://nodary.ai/api/mcp
   devin mcp login nodary
   ```
2. Albo dodaj go do ~/.config/devin/mcp_config.json (w systemie Windows: %APPDATA%\devin\mcp_config.json):

   ```
   {
     "mcpServers": {
       "nodary": {
         "url": "https://nodary.ai/api/mcp",
         "transport": "http"
       }
     }
   }
   ```

## Jeśli coś nie działa

- Jeśli pierwsze żądanie dostaje odpowiedź 401 z adresem resource_metadata, to normalne: ten adres wskazuje klientowi, gdzie się zalogować.
- Żądanie odrzucone z quota_locked oznacza, że przestrzeń robocza po okresie próbnym przekracza plan Free i jest zablokowana do czasu wykupienia subskrypcji: gdy tylko właściciel ją wykupi, agent znów działa. W połączeniu z kilkoma przestrzeniami odrzucane są tylko wywołania w tej przestrzeni.
- Wywołanie odrzucone z workspace_required (lub workspace_not_found) wymienia przestrzenie, do których połączenie ma dostęp: przekaż jedną z nich jako workspace. Aby sięgnąć do przestrzeni spoza listy, połącz aplikację ponownie i zaznacz ją.
- Jeśli klient nie może dokończyć logowania, podłącz go za pomocą klucza API.

https://nodary.ai/pl/docs/mcp
