mcp: enforce operation security levels

This commit is contained in:
a.tolmachev
2026-05-03 19:26:38 +00:00
parent 076cead491
commit 34d345158f
3 changed files with 205 additions and 52 deletions
+3 -47
View File
@@ -2,55 +2,9 @@
## Current
### `feat/private-token-service-seam`
Status: in_progress
Goal:
- подготовить public codebase к private реализации короткоживущих и одноразовых токенов.
Main code areas:
- `crates/crank-core/src/auth.rs`
- `crates/crank-core/src/agent.rs`
- `apps/admin-api/src/app.rs`
- `apps/admin-api/src/service.rs`
- `apps/mcp-server/src/app.rs`
- `docs/agent-auth-model.md`
- `docs/admin-api.md`
- `docs/mcp-interface.md`
Implementation slices:
1. Определить stable contracts для:
- `POST /mcp-auth/v1/token`
- `POST /mcp-auth/v1/token/one-time`
2. Ввести abstraction для token verification в `mcp-server`.
3. Подготовить capability-gated UI/API surface без private implementation в Community.
4. Отделить Community `standard` flow от commercial `elevated/strict`.
DoD:
- public contracts зафиксированы и тестируемы;
- Community продолжает работать без private token service;
- premium auth paths не размазываются по Community logic.
Verification:
- contract tests for auth payload shapes;
- unit tests for credential-kind enforcement;
- docs sync check.
Progress:
- done:
- stable DTO и Community stub endpoints для `POST /mcp-auth/v1/token` и `POST /mcp-auth/v1/token/one-time`
- structured `403 forbidden` contract с `edition`, `machine_access_mode` и `upgrade_required`
- verification seam в `mcp-server` для bearer-token credentials без private Community implementation
- capability-gated `API Keys` surface показывает Community static-key flow и честно помечает commercial token modes как edition-locked
- pending:
- final separation of Community `standard` flow from commercial `elevated/strict`
## Planned
### `feat/frontend-commercial-polish`
Status: ready
Status: in_progress
Goal:
- закрыть оставшиеся UI/UX дефекты, мешающие коммерческой демонстрации и продажной версии продукта.
@@ -92,6 +46,8 @@ Verification:
- manual mobile checks at 375px width;
- EN/RU copy audit.
## Planned
### `feat/open-core-repo-boundary`
Status: ready