Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
vpp_project_infoB

Podsumowanie projektu .vpp: diagramy (nazwa, typ), liczba klas/interfejsów/enumeracji, aktorzy, przypadki użycia, liczba relacji, czy plik jest otwarty w VP.

vpp_list_classesB

Lista klas, klas abstrakcyjnych, interfejsów i enumeracji. with_members=true dodaje atrybuty, metody i wartości enumeracji w notacji UML (np. '-email : String', '+zaloguj(email : String, haslo : String) : boolean').

vpp_get_classB

Szczegóły jednej klasy: rodzaj, składowe, wszystkie relacje, w których uczestniczy, i położenie na diagramach klas.

vpp_list_relationshipsB

Relacje w notacji PlantUML-podobnej: generalizacje (--|>), realizacje (..|>), zależności (..> «stereotyp»), asocjacje z licznościami i rolami (--, -->, o--, *--). Każda ma id (potrzebne do usuwania). class_name zawęża do relacji danej klasy.

vpp_get_sequence_diagramC

Opis diagramu sekwencji: uczestnicy od lewej, komunikaty z numerami VP (1, 1.1, ...), rodzaj, nadawca, odbiorca, operacja; fragmenty (loop/alt/opt) z warunkami.

vpp_export_plantumlB

Eksport (fragmentu) diagramu klas do PlantUML, np. do studium wzorca: fragment 'przed' i 'po' zmianie. classes = lista nazw klas (domyślnie wszystkie); relacje tylko między wybranymi klasami.

vpp_verifyB

Strukturalna kontrola pliku .vpp (odwołania, ID, powiązania model–widok, listy). Pliki zapisane przez VP przechodzą ją zawsze.

vpp_edit_class_modelA

Zmiany w modelu klas i na diagramie klas; wynik do NOWEGO pliku (oryginał bez zmian). Lista zmian wykonywanych po kolei, wszystkie albo żadna. Każda zmiana to obiekt z polem "op":

  • {"op":"add_class","name":"FabrykaZamowien","kind":"class|abstract class|interface|enumeration", "attributes":["-licznik : int"], "operations":["+utworz(klient : Klient) : Zamowienie"], "literals":["A","B"], "static_members":["licznik"], "abstract_operations":["utworz"], "x":100, "y":200, "diagram":""}

  • {"op":"add_attribute","class":"Klient","text":"-email : String [0..1]","static":false}

  • {"op":"add_operation","class":"Klient","text":"+zaloguj(email : String, haslo : String) : boolean","static":false,"abstract":false}

  • {"op":"change_operation","class":"Menu","name":"dodajDanie","text":"+dodajDanie(nazwa : String, cena : double) : Danie"} (zachowuje ID metody, więc komunikaty w diagramach sekwencji dalej na nią wskazują)

  • {"op":"change_attribute","class":"Danie","name":"cena","text":"-cena : double"}

  • {"op":"remove_member","class":"Klient","name":"dodajAdres"} (odmówi, jeśli metodę wywołuje komunikat)

  • {"op":"add_literal","class":"StatusZamowienia","literal":"REKLAMOWANE"}

  • {"op":"add_relationship","kind":"generalization|realization|dependency|association|directed|aggregation|composition", "source":"Klient","target":"Użytkownik", "source_multiplicity":"1","source_role":"klient", "target_multiplicity":"0..*","target_role":"zamowienia","stereotype":"use"} generalization: source=podklasa, target=nadklasa; realization: source=klasa, target=interfejs; dependency: source używa target (opcjonalny stereotype np. use/create); aggregation/composition: source=całość (romb przy source); directed: strzałka przy target.

  • {"op":"remove_relationship","id":""}

  • {"op":"move_class","class":"Koszyk","x":400,"y":120} (przelicza linie relacji tej klasy)

  • {"op":"fit_class","class":"Koszyk"} (dopasowuje rozmiar pudełka do treści) Typy: int, double, boolean, void, char, long, float, byte, short, nazwy klas z projektu, dowolny tekst (String, LocalDateTime), generyki np. List. Widoczność: + publiczna, - prywatna.

vpp_add_sequence_diagramsB

Dodaje diagramy sekwencji do kopii projektu. Dodaje całe diagramy sekwencji (każdy jako osobny diagram). Każdy diagram: {"name":"SD13 Reklamacja", "participants":[{"actor":"Klient"}, {"name":"klient","class":"Klient"}, {"name":"zamowienie","class":"Zamowienie"}, {"name":"","class":"Klient"} /* ':Klient' = wywołanie statyczne /, {"name":"platnosc","class":"Platnosc","created":true} / tworzony w trakcie /], "items":[ {"type":"call","from":"Klient","to":"klient","operation":"anulujZamowienie(zamowienie)"}, {"type":"self","on":"zamowienie","operation":"czyMoznaAnulowac()"}, {"type":"create","from":"zamowienie","to":"platnosc","constructor":"Platnosc(...)" / opcjonalnie /}, {"type":"return","from":"zamowienie","to":"klient","label":"true"}, {"type":"found","to":"dyspozytor","operation":"przydzielKuriera(dostawa)"}, {"type":"signal","from":"bramka","to":"System płatności","label":"żądanie autoryzacji"}, {"type":"loop","guard":"dla każdej pozycji","items":[...]}, {"type":"opt","guard":"status == W_DOSTAWIE","items":[...]}, {"type":"alt","operands":[{"guard":"można anulować","items":[...]},{"guard":"else","items":[...]}]}, {"type":"ref","diagram":"SD04 Opłać zamówienie","covers":["Klient","zamowienie"]} / tylko wewnątrz loop/opt/alt */ ]} Uczestników wskazuje się nazwą aktora albo nazwą obiektu (':Klasa' gdy name puste). Operacja: nazwa(arg1, arg2) — argumenty to tylko etykiety, liczy się nazwa i liczba argumentów; metoda musi istnieć w klasie odbiorcy lub jej nadklasie/interfejsie. Zwroty (return) muszą wracać do obiektu, który jest aktywny (wywołał). replace_existing=true najpierw usuwa diagramy o tych nazwach.

vpp_delete_sequence_diagramB

Usuwa diagram sekwencji (diagram, jego ramkę, uczestników, komunikaty, fragmenty) w kopii projektu. Odmówi, jeśli inny diagram odwołuje się do niego przez ref.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 10 tools

Disambiguation4/5

Each tool has a fairly distinct purpose: read (list_classes, get_class, list_relationships, get_sequence_diagram, project_info), mutate (edit_class_model, add/delete_sequence_diagrams), verify, and export. The main overlap is that get_class and list_relationships both surface relationship data, and project_info partially overlaps with the list tools, but descriptions make the boundaries workable.

Naming Consistency4/5

All tools share a vpp_ prefix and use a clear verb_noun convention (list_classes, get_class, add_sequence_diagrams, delete_sequence_diagram, export_plantuml). Minor deviations like vpp_verify (verb only) and vpp_project_info (noun only) are still readable and unambiguous.

Tool Count5/5

Ten tools is a well-scoped set for a .vpp diagram editor, and the heavy lifting is consolidated into vpp_edit_class_model rather than exploded into many single-op tools. Every tool has a clear role in the read/edit/verify/export workflow.

Completeness3/5

The surface covers read, create, update, delete-member, relationship management, and sequence diagram add/delete, but has notable gaps: no operation to delete a class or enumeration literal, and no in-place sequence diagram editing (must delete-and-re-add). These gaps force workarounds for common lifecycle tasks.

Maintenance

ActivityMaintained
ResponsivenessNo issues