vpp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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":
|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
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.
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.
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.
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.