- 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
31 lines
No EOL
1.3 KiB
Markdown
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 |