Komunikacja Client - Server: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 26: | Linia 26: | ||
=== 2. Serwer: „No hej, oto co umiem” === | === 2. Serwer: „No hej, oto co umiem” === | ||
< | <pre> | ||
{ | { | ||
"jsonrpc": "2.0", | "jsonrpc": "2.0", | ||
Linia 51: | Linia 51: | ||
} | } | ||
} | } | ||
</ | </pre> | ||
'''Opis''': | '''Opis''': | ||
Linia 58: | Linia 58: | ||
=== 3. Klient: „Dobra, gotowy do pracy” === | === 3. Klient: „Dobra, gotowy do pracy” === | ||
< | <pre> | ||
{ | { | ||
"method": "notifications/initialized", | "method": "notifications/initialized", | ||
"jsonrpc": "2.0" | "jsonrpc": "2.0" | ||
} | } | ||
</ | </pre> | ||
'''Opis''': | '''Opis''': | ||
Linia 70: | Linia 70: | ||
=== 4. Klient: „Pokaż, co masz za narzędzia” === | === 4. Klient: „Pokaż, co masz za narzędzia” === | ||
< | <pre> | ||
{ | { | ||
"method": "tools/list", | "method": "tools/list", | ||
Linia 76: | Linia 76: | ||
"id": 1 | "id": 1 | ||
} | } | ||
</ | </pre> | ||
'''Opis''': | '''Opis''': | ||
Linia 83: | Linia 83: | ||
=== 5. Klient: „A jakie masz zasoby?” === | === 5. Klient: „A jakie masz zasoby?” === | ||
< | <pre> | ||
{ | { | ||
"method": "resources/list", | "method": "resources/list", | ||
Linia 89: | Linia 89: | ||
"id": 3 | "id": 3 | ||
} | } | ||
</ | </pre> | ||
'''Opis''': | '''Opis''': | ||
Linia 96: | Linia 96: | ||
=== 6. Klient: „A gotowe prompty też dajesz?” === | === 6. Klient: „A gotowe prompty też dajesz?” === | ||
< | <pre> | ||
{ | { | ||
"method": "prompts/list", | "method": "prompts/list", | ||
Linia 102: | Linia 102: | ||
"id": 2 | "id": 2 | ||
} | } | ||
</ | </pre> | ||
'''Opis''': | '''Opis''': | ||
Linia 109: | Linia 109: | ||
=== 7. Serwer: „Zasoby? Pusto.” === | === 7. Serwer: „Zasoby? Pusto.” === | ||
< | <pre> | ||
{ | { | ||
"jsonrpc": "2.0", | "jsonrpc": "2.0", | ||
Linia 117: | Linia 117: | ||
} | } | ||
} | } | ||
</ | </pre> | ||
'''Opis''': | '''Opis''': | ||
Linia 124: | Linia 124: | ||
=== 8. Serwer: „Mam tylko jedno narzędzie – zegarek” === | === 8. Serwer: „Mam tylko jedno narzędzie – zegarek” === | ||
< | <pre> | ||
{ | { | ||
"jsonrpc": "2.0", | "jsonrpc": "2.0", | ||
Linia 153: | Linia 153: | ||
} | } | ||
} | } | ||
</ | </pre> | ||
'''Opis''': | '''Opis''': | ||
Linia 160: | Linia 160: | ||
=== 9. Serwer: „Promptów też nie mam.” === | === 9. Serwer: „Promptów też nie mam.” === | ||
< | <pre> | ||
{ | { | ||
"jsonrpc": "2.0", | "jsonrpc": "2.0", | ||
Linia 168: | Linia 168: | ||
} | } | ||
} | } | ||
</ | </pre> | ||
'''Opis''': | '''Opis''': | ||
„Niestety, żadnych gotowych tekstów na dziś nie mam.” | „Niestety, żadnych gotowych tekstów na dziś nie mam.” |
Wersja z 11:14, 5 lip 2025
Przebieg rozmowy między klientem a serwerem MCP
1. Klient: „Hej, zaczynamy!”
{ "method": "initialize", "params": { "protocolVersion": "2025-06-18", "capabilities": { "roots": {} }, "clientInfo": { "name": "claude-code", "version": "1.0.38" } }, "jsonrpc": "2.0", "id": 0 }
Opis: Klient mówi: „Siema serwer, chcę pogadać w wersji 2025-06-18. Oto, co potrafię – dasz znać, co u Ciebie?”
2. Serwer: „No hej, oto co umiem”
{ "jsonrpc": "2.0", "id": 0, "result": { "protocolVersion": "2025-06-18", "capabilities": { "experimental": {}, "prompts": { "listChanged": false }, "resources": { "subscribe": false, "listChanged": false }, "tools": { "listChanged": false } }, "serverInfo": { "name": "simple-server", "version": "1.10.1" } } }
Opis: Serwer odpowiada: „Spoko, też działam na wersji 2025-06-18. Lista narzędzi, zasobów i promptów jest stała – nie będzie tu niespodzianek. No i nie obsługuję subskrypcji zmian w plikach.”
3. Klient: „Dobra, gotowy do pracy”
{ "method": "notifications/initialized", "jsonrpc": "2.0" }
Opis: Klient mówi: „Jestem gotów, lecimy z tematem.”
4. Klient: „Pokaż, co masz za narzędzia”
{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }
Opis: Klient zagląda do skrzynki z narzędziami: „Masz jakieś młotki albo inne zabawki?”
5. Klient: „A jakie masz zasoby?”
{ "method": "resources/list", "jsonrpc": "2.0", "id": 3 }
Opis: „Masz może jakieś pliki, URI, coś do pobrania?”
6. Klient: „A gotowe prompty też dajesz?”
{ "method": "prompts/list", "jsonrpc": "2.0", "id": 2 }
Opis: „Może masz gotowe teksty, które mógłbym wykorzystać?”
7. Serwer: „Zasoby? Pusto.”
{ "jsonrpc": "2.0", "id": 3, "result": { "resources": [] } }
Opis: „Sorry, nie mam żadnych zasobów na tę chwilę.”
8. Serwer: „Mam tylko jedno narzędzie – zegarek”
{ "jsonrpc": "2.0", "id": 1, "result": { "tools": [ { "name": "get_current_date", "description": "Get current date and time.", "inputSchema": { "properties": {}, "title": "get_current_dateArguments", "type": "object" }, "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": ["result"], "title": "get_current_dateOutput", "type": "object" } } ] } }
Opis: „Mam tylko jedno narzędzie: takie, które mówi, która jest godzina.”
9. Serwer: „Promptów też nie mam.”
{ "jsonrpc": "2.0", "id": 2, "result": { "prompts": [] } }
Opis: „Niestety, żadnych gotowych tekstów na dziś nie mam.”