Сторонние MCP-серверы

Введение в Model Context Protocol (MCP)

James Chapman

AI Curriculum Manager, DataCamp

Зачем использовать сторонние MCP-серверы?

 

  • Скорость: доступ к файловой системе и базам данных без написания сервера

mcp-archive.png

Введение в Model Context Protocol (MCP)

Зачем использовать сторонние MCP-серверы?

 

  • Скорость: доступ к файловой системе и базам данных без написания сервера
  • Поддержка сторонними разработчиками: вы сосредоточены на клиенте и приложении
  • Интеграция: клиентский код можно использовать повторно для разных MCP-серверов

snowflake-mcp.png

1 https://www.snowflake.com/en/developers/guides/getting-started-with-snowflake-mcp-server/
Введение в Model Context Protocol (MCP)

Что учесть перед использованием стороннего сервера

 

  • Доверие: сервер выполняет код и может обращаться к внешним API → проверяйте источники
  • Безопасность: требует тщательного управления приватными данными и учётными данными
  • Область воздействия: больше инструментов — больше возможностей у LLM; учитывайте, что предоставляет каждый сервер

considerations.png

Введение в Model Context Protocol (MCP)

Open Library MCP

open-library.png

 

  • mcp-open-library: MCP-сервер для API Open Library
  • Инструменты: get_book_by_title, get_authors_by_name, get_book_cover, get_book_by_id, ...
  • API-ключ не требуется
1 https://github.com/8enSmith/mcp-open-library
Введение в Model Context Protocol (MCP)

Подключение к 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
Введение в Model Context Protocol (MCP)

Работа с 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)
Введение в 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, ... }, ...
Введение в Model Context Protocol (MCP)

Давайте попрактикуемся!

Введение в Model Context Protocol (MCP)

Preparing Video For Download...