Zewnętrzne serwery MCP

Wprowadzenie do Model Context Protocol (MCP)

James Chapman

AI Curriculum Manager, DataCamp

Dlaczego warto używać zewnętrznych serwerów MCP?

 

  • Szybkość: dostęp do systemu plików i baz danych bez pisania serwera

mcp-archive.png

Wprowadzenie do Model Context Protocol (MCP)

Dlaczego warto używać zewnętrznych serwerów MCP?

 

  • Szybkość: dostęp do systemu plików i baz danych bez pisania serwera
  • Utrzymywane przez innych: można skupić się na kliencie i aplikacji
  • Integracja: kod klienta można udostępniać i ponownie używać z różnymi serwerami MCP

snowflake-mcp.png

1 https://www.snowflake.com/en/developers/guides/getting-started-with-snowflake-mcp-server/
Wprowadzenie do Model Context Protocol (MCP)

Kwestie do rozważenia przed użyciem zewnętrznego serwera

 

  • Zaufanie: serwer uruchamia kod i może wywoływać zewnętrzne API → należy weryfikować źródła
  • Bezpieczeństwo: wymaga starannego zarządzania danymi prywatnymi i poświadczeniami
  • Zakres działania: więcej narzędzi oznacza więcej możliwości dla LLM; warto wiedzieć, co każdy serwer udostępnia

considerations.png

Wprowadzenie do Model Context Protocol (MCP)

Open Library MCP

open-library.png

 

  • mcp-open-library: serwer MCP dla API Open Library Internet Archive
  • Narzędzia: get_book_by_title, get_authors_by_name, get_book_cover, get_book_by_id, ...
  • Bez klucza API
1 https://github.com/8enSmith/mcp-open-library
Wprowadzenie do Model Context Protocol (MCP)

Dostęp do Open Library MCP

from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

params = StdioServerParameters(
    command="open-library-server",
    args=[]
)
1 https://github.com/8enSmith/mcp-open-library?tab=readme-ov-file#installation
Wprowadzenie do Model Context Protocol (MCP)

Korzystanie z Open Library MCP

params = StdioServerParameters(command="open-library-server", args=[])


async with stdio_client(params) as (reader, writer): async with ClientSession(reader, writer) as session: await session.initialize()
response = await session.list_tools() print("Tools:", [t.name for t in response.tools]) result = await session.call_tool("get_book_by_title", {"title": "Dune"}) text = result.content[0].text print("Tool Call Result:", text)
Wprowadzenie do Model Context Protocol (MCP)
Tools: ['get_book_by_title', 'get_authors_by_name', 'get_author_info',
'get_author_photo', 'get_book_cover', 'get_book_by_id']

Tool Call Result: [ { "title": "Dune", "authors": [ "Frank Herbert" ], "first_publish_year": 1965, ... }, ...
Wprowadzenie do Model Context Protocol (MCP)

Czas na ćwiczenia!

Wprowadzenie do Model Context Protocol (MCP)

Preparing Video For Download...