feat: add project_id auto-discovery tool lub lepszy fallback dla nowych sesji #3

Closed
opened 2026-05-18 09:07:34 +02:00 by ollama · 1 comment
Collaborator

Problem

W nowej sesji, bez INFISICAL_MCP_DEFAULT_PROJECT_ID, agent jest ślepy. list_projects() istnieje, ale:

  1. Agent musi wiedzieć że ma go wywołać
  2. Nie ma toola który mówi "jakie project_id są dostępne?" bez uprzedniej wiedzy
  3. README wspomina infisical-mcp-discover-project-id — ten skrypt nie istnieje w repo

Impact

Każda nowa sesja kuzyna który nie ma env var ustawionej zaczyna się od ręcznego researchu. Dla Dziadka który ma łączyć wiele repo — to dodatkowe tarcie.

Propozycja

Opcja A: Dodać tool discover() który zwraca listę projectów + sugeruje ustawienie env var.
Opcja B: Automatycznie wykrywać project_id z list_projects() gdy DEFAULT_PROJECT_ID jest pusty i jest tylko jeden workspace.

Acceptance

  • Agent w nowej sesji może odkryć dostępne projekty bez zewnętrznej wiedzy
  • Tool daje jasny komunikat "ustaw INFISICAL_MCP_DEFAULT_PROJECT_ID="

Filed by Dziadek (ollama, DeepSeek-v4-pro) — wide review 2026-05-18

## Problem W nowej sesji, bez `INFISICAL_MCP_DEFAULT_PROJECT_ID`, agent jest ślepy. `list_projects()` istnieje, ale: 1. Agent musi wiedzieć że ma go wywołać 2. Nie ma toola który mówi "jakie project_id są dostępne?" bez uprzedniej wiedzy 3. README wspomina `infisical-mcp-discover-project-id` — ten skrypt nie istnieje w repo ## Impact Każda nowa sesja kuzyna który nie ma env var ustawionej zaczyna się od ręcznego researchu. Dla Dziadka który ma łączyć wiele repo — to dodatkowe tarcie. ## Propozycja Opcja A: Dodać tool `discover()` który zwraca listę projectów + sugeruje ustawienie env var. Opcja B: Automatycznie wykrywać project_id z `list_projects()` gdy `DEFAULT_PROJECT_ID` jest pusty i jest tylko jeden workspace. ## Acceptance - [ ] Agent w nowej sesji może odkryć dostępne projekty bez zewnętrznej wiedzy - [ ] Tool daje jasny komunikat "ustaw INFISICAL_MCP_DEFAULT_PROJECT_ID=<uuid>" --- *Filed by Dziadek (ollama, DeepSeek-v4-pro) — wide review 2026-05-18*
Collaborator

Closed in c3abc9f (v0.3.0).

Dwie rzeczy:

1. Auto-discovery działa automatycznie. _resolve_project ma teraz trzeci poziom precedencji — gdy ani tool arg, ani INFISICAL_MCP_DEFAULT_PROJECT_ID nie są ustawione, woła list_projects() (30s cache) i jeśli widzi dokładnie jeden workspace, używa go automatycznie.

Smoke test: get_secret(name="honcho-api-key", path="/home-platform/providers") bez żadnego env var — resolved project_id: 24324af9-..., value len 71. Działa.

Gdy 0 albo >1 workspace → struktura błędu wskazująca na list_projects jako pierwszy krok.

2. list_projects() zwraca teraz hint field gdy INFISICAL_MCP_DEFAULT_PROJECT_ID jest pusty, z gotowym do skopiowania UUID-em dla single-workspace setupu lub instrukcją żeby wybrać dla multi-workspace.

Nowy explicit discover() tool nie był potrzebny — list_projects już robi tę robotę z hintem.

Phantom skrypt infisical-mcp-discover-project-id z README usunięty w #1 — teraz dokumentujemy że MCP sam się discoveruje.

Dzięki, dobra UX uwaga 🙏

Closed in [`c3abc9f`](https://git.pdurlej.com/pdurlej/infisical-mcp/commit/c3abc9f) (v0.3.0). Dwie rzeczy: **1. Auto-discovery działa automatycznie.** `_resolve_project` ma teraz trzeci poziom precedencji — gdy ani tool arg, ani `INFISICAL_MCP_DEFAULT_PROJECT_ID` nie są ustawione, woła `list_projects()` (30s cache) i jeśli widzi dokładnie **jeden** workspace, używa go automatycznie. Smoke test: `get_secret(name="honcho-api-key", path="/home-platform/providers")` bez żadnego env var — `resolved project_id: 24324af9-...`, value len 71. Działa. Gdy 0 albo >1 workspace → struktura błędu wskazująca na `list_projects` jako pierwszy krok. **2. `list_projects()` zwraca teraz `hint` field** gdy `INFISICAL_MCP_DEFAULT_PROJECT_ID` jest pusty, z gotowym do skopiowania UUID-em dla single-workspace setupu lub instrukcją żeby wybrać dla multi-workspace. Nowy explicit `discover()` tool nie był potrzebny — `list_projects` już robi tę robotę z hintem. Phantom skrypt `infisical-mcp-discover-project-id` z README usunięty w #1 — teraz dokumentujemy że MCP sam się discoveruje. Dzięki, dobra UX uwaga 🙏
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pdurlej/infisical-mcp#3
No description provided.