kotlin-sdk/samples/notebooks/README.md
Pavel Gorgulov 0b39f57cff
docs: streamable server sample (#595)
- add a simple streamable http server example with auth
- update readme: replace quickstart example from sse server to
streamable server
- add readme files for samples, simple-streamable-server, notebooks

closes #170 

## How Has This Been Tested?
knit and inspector

## Breaking Changes
NaN

## Types of changes
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [x] Documentation update

## Checklist
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [x] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [x] I have added or updated documentation as needed
2026-03-10 12:45:21 +01:00

31 lines
No EOL
1.3 KiB
Markdown

# MCP Client Notebook
An interactive Kotlin notebook that demonstrates connecting to a remote MCP server and calling tools.
## Overview
This notebook walks through building an MCP client step by step: creating a Ktor HTTP client,
initializing an MCP `Client`, connecting via `StreamableHttpClientTransport`, and interacting with
the server (ping, list tools, call tools). It connects to the public
[Microsoft Learn MCP Server](https://learn.microsoft.com/api/mcp) as an example.
## Prerequisites
- [Kotlin Jupyter kernel](https://github.com/Kotlin/kotlin-jupyter) **or** IntelliJ IDEA with the
[Kotlin Notebook plugin](https://plugins.jetbrains.com/plugin/16340-kotlin-notebook)
- Internet access (the notebook connects to an external MCP server)
## How to Run
1. Open `McpClient.ipynb` in IntelliJ IDEA (with Kotlin Notebook plugin) or in Jupyter with the
Kotlin kernel installed.
2. Run cells sequentially from top to bottom.
## What It Demonstrates
- Adding MCP SDK dependencies in a notebook environment
- Creating a Ktor `HttpClient` with SSE and logging plugins
- Creating an MCP `Client` and connecting via `StreamableHttpClientTransport`
- Sending a `ping` request
- Listing available tools from the remote server
- Calling a tool (`microsoft_docs_search`) and displaying results