You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Translate project to English + fix resource read handler
- All docstrings, comments, user-facing messages, prompts, error texts,
README, .env.example, Dockerfile and CI workflow are now English-only.
(Polish remains only in offline memory files outside the repo.)
- Fix: server resource handler compared the raw AnyUrl against a str,
always falling through to "Unknown resource URI". MCP SDK passes
pydantic AnyUrl objects; cast to str on entry.
- Add tests/test_resources_readable end-to-end probe so any future
read_resource regression is caught (not just list_resources).
Verified: 13 tests pass (1 skipped — user-management 501 on this tenant),
ruff clean, Snyk clean, full MCP memory-transport smoke green,
Docker image builds and answers the MCP initialize handshake.
├── modes.py # RO/RW gate (raises before any HTTP request)
73
+
├── errors.py # HTTP error → agent-friendly text
74
+
├── config.py # .env loading
75
+
└── openapi/ # 16 ESET Connect OpenAPI 3.0.1 specs
74
76
```
75
77
76
-
## Tryby RO / RW
78
+
## RO / RW modes
77
79
78
-
Tryb wybiera się przez `ESET_MODE` w `.env`. **Niezależnie** od uprawnień konta API:
80
+
The mode is chosen via `ESET_MODE` in `.env`. **Independent** of the API
81
+
account's permissions:
79
82
80
-
|`ESET_MODE`|Działanie|
83
+
|`ESET_MODE`|Behaviour|
81
84
|-------------|-----------|
82
-
|`RO`| RW tools są widoczne w katalogu (agent wie, że istnieją), ale`call_tool`na nich kończy się czytelnym komunikatem`Tool '...' wymaga trybu RW, a serwer MCP jest w trybie RO`. Żaden request HTTP nie wychodzi. |
83
-
|`RW`| RW tools działają. Każdy z nich w MCP annotations ma `destructiveHint: true`— MCP host (np. Claude) dostaje sygnał i może wymagać dodatkowego potwierdzenia. |
85
+
|`RO`| RW tools are visible in the catalog (the agent knows they exist), but`call_tool`on them returns a clear message`Tool '...' requires RW mode, but the MCP server is in RO mode`. No HTTP request goes out. |
86
+
|`RW`| RW tools run normally. Every one of them carries `destructiveHint: true`in MCP annotations — the MCP host (e.g. Claude) can use that signal to require extra confirmation. |
84
87
85
-
Dodatkowo agent dostaje czytelne komunikaty błędów dla wszystkich HTTP error codes
86
-
(401 / 403 / 429 / 5xx) — m.in. wskazówkę co sprawdzić w ESET PROTECT Hub przy 403.
88
+
The server additionally surfaces agent-friendly messages for every HTTP error
89
+
(401 / 403 / 429 / 5xx) — for instance, on 403 it suggests checking Permission
0 commit comments