Merge pull request #286 from modelcontextprotocol/ochafik/readme-mcp-config

docs: add MCP client configuration to READMEs
This commit is contained in:
Anton Pidkuiko 2026-01-20 11:11:51 +00:00 • committed by GitHub
commit f6ee5d5bdc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 686 additions and 27 deletions

226
README.md
View file

@ -79,7 +79,231 @@ Or edit your `package.json` manually:
The [`examples/`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples) directory contains additional demo apps showcasing real-world use cases. The [`examples/`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples) directory contains additional demo apps showcasing real-world use cases.
To run all examples: <details>
<summary>MCP client configuration for all examples</summary>
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"basic-react": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-react",
"--stdio"
]
},
"basic-vanillajs": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-vanillajs",
"--stdio"
]
},
"basic-vue": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-vue",
"--stdio"
]
},
"basic-svelte": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-svelte",
"--stdio"
]
},
"basic-preact": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-preact",
"--stdio"
]
},
"basic-solid": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-solid",
"--stdio"
]
},
"budget-allocator": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-budget-allocator",
"--stdio"
]
},
"cohort-heatmap": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-cohort-heatmap",
"--stdio"
]
},
"customer-segmentation": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-customer-segmentation",
"--stdio"
]
},
"map": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-map",
"--stdio"
]
},
"pdf": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-pdf",
"--stdio"
]
},
"scenario-modeler": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-scenario-modeler",
"--stdio"
]
},
"shadertoy": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-shadertoy",
"--stdio"
]
},
"sheet-music": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-sheet-music",
"--stdio"
]
},
"system-monitor": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-system-monitor",
"--stdio"
]
},
"threejs": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-threejs",
"--stdio"
]
},
"transcript": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-transcript",
"--stdio"
]
},
"video-resource": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-video-resource",
"--stdio"
]
},
"wiki-explorer": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-wiki-explorer",
"--stdio"
]
},
"qr": {
"command": "uv",
"args": [
"run",
"/path/to/ext-apps/examples/qr-server/server.py",
"--stdio"
]
},
"say": {
"command": "uv",
"args": [
"run",
"--default-index",
"https://pypi.org/simple",
"https://raw.githubusercontent.com/modelcontextprotocol/ext-apps/refs/heads/main/examples/say-server/server.py",
"--stdio"
]
}
}
}
```
> **Note:** The `qr` server requires cloning the repository first. See [qr-server README](examples/qr-server) for details.
</details>
To run all examples locally in dev mode:
```bash ```bash
npm install npm install

View file

@ -5,6 +5,27 @@ An MCP App example with a Preact UI.
> [!TIP] > [!TIP]
> Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)! > Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)!
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"basic-preact": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-preact",
"--stdio"
]
}
}
}
```
## Overview ## Overview
- Tool registration with a linked UI resource - Tool registration with a linked UI resource

View file

@ -7,6 +7,27 @@ An MCP App example with a React UI.
> [!TIP] > [!TIP]
> Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)! > Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)!
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"basic-react": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-react",
"--stdio"
]
}
}
}
```
## Overview ## Overview
- Tool registration with a linked UI resource - Tool registration with a linked UI resource

View file

@ -5,6 +5,27 @@ An MCP App example with a Solid UI.
> [!TIP] > [!TIP]
> Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)! > Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)!
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"basic-solid": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-solid",
"--stdio"
]
}
}
}
```
## Overview ## Overview
- Tool registration with a linked UI resource - Tool registration with a linked UI resource

View file

@ -5,6 +5,27 @@ An MCP App example with a Svelte 5 UI using runes for reactivity.
> [!TIP] > [!TIP]
> Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)! > Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)!
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"basic-svelte": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-svelte",
"--stdio"
]
}
}
}
```
## Overview ## Overview
- Tool registration with a linked UI resource - Tool registration with a linked UI resource

View file

@ -5,6 +5,27 @@ An MCP App example with a vanilla JavaScript UI (no framework).
> [!TIP] > [!TIP]
> Looking for a React-based example? See [`basic-server-react`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-react)! > Looking for a React-based example? See [`basic-server-react`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-react)!
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"basic-vanillajs": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-vanillajs",
"--stdio"
]
}
}
}
```
## Overview ## Overview
- Tool registration with a linked UI resource - Tool registration with a linked UI resource

View file

@ -5,6 +5,27 @@ An MCP App example with a Vue 3 UI using the Composition API.
> [!TIP] > [!TIP]
> Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)! > Looking for a vanilla JavaScript example? See [`basic-server-vanillajs`](https://github.com/modelcontextprotocol/ext-apps/tree/main/examples/basic-server-vanillajs)!
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"basic-vue": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-basic-vue",
"--stdio"
]
}
}
}
```
## Overview ## Overview
- Tool registration with a linked UI resource - Tool registration with a linked UI resource

View file

@ -10,6 +10,27 @@ An interactive budget allocation tool demonstrating real-time data visualization
</tr> </tr>
</table> </table>
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"budget-allocator": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-budget-allocator",
"--stdio"
]
}
}
}
```
## Features ## Features
- **Interactive Sliders**: Adjust budget allocation across 5 categories (Marketing, Engineering, Operations, Sales, R&D) - **Interactive Sliders**: Adjust budget allocation across 5 categories (Marketing, Engineering, Operations, Sales, R&D)

View file

@ -10,6 +10,27 @@ A demo MCP App that displays cohort retention data as an interactive heatmap, sh
</tr> </tr>
</table> </table>
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"cohort-heatmap": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-cohort-heatmap",
"--stdio"
]
}
}
}
```
## Features ## Features
- **Cohort Retention Heatmap**: Color-coded grid showing retention percentages across cohorts and time periods - **Cohort Retention Heatmap**: Color-coded grid showing retention percentages across cohorts and time periods

View file

@ -10,6 +10,27 @@ A demo MCP App that displays customer data as an interactive scatter/bubble char
</tr> </tr>
</table> </table>
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"customer-segmentation": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-customer-segmentation",
"--stdio"
]
}
}
}
```
## Features ## Features
- **Interactive Scatter Plot**: Bubble chart visualization using Chart.js with configurable X/Y axes - **Interactive Scatter Plot**: Bubble chart visualization using Chart.js with configurable X/Y axes

View file

@ -4,6 +4,27 @@
Interactive 3D globe viewer using CesiumJS with OpenStreetMap tiles. Demonstrates geocoding integration and full MCP App capabilities. Interactive 3D globe viewer using CesiumJS with OpenStreetMap tiles. Demonstrates geocoding integration and full MCP App capabilities.
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"map": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-map",
"--stdio"
]
}
}
}
```
## Features ## Features
- **3D Globe Rendering**: Interactive CesiumJS globe with rotation, zoom, and 3D perspective - **3D Globe Rendering**: Interactive CesiumJS globe with rotation, zoom, and 3D perspective

View file

@ -4,6 +4,27 @@
A simple interactive PDF viewer that uses [PDF.js](https://mozilla.github.io/pdf.js/). Launch it w/ a few PDF files and/or URLs as CLI args (+ support loading any additional pdf from arxiv.org). A simple interactive PDF viewer that uses [PDF.js](https://mozilla.github.io/pdf.js/). Launch it w/ a few PDF files and/or URLs as CLI args (+ support loading any additional pdf from arxiv.org).
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"pdf": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-pdf",
"--stdio"
]
}
}
}
```
## What This Example Demonstrates ## What This Example Demonstrates
### 1. Chunked Data Through Size-Limited Tool Calls ### 1. Chunked Data Through Size-Limited Tool Calls

View file

@ -4,12 +4,37 @@ A minimal Python MCP server that generates customizable QR codes with an interac
![Screenshot](https://modelcontextprotocol.github.io/ext-apps/screenshots/qr-server/screenshot.png) ![Screenshot](https://modelcontextprotocol.github.io/ext-apps/screenshots/qr-server/screenshot.png)
## MCP Client Configuration
First, clone the repository:
```bash
git clone https://github.com/modelcontextprotocol/ext-apps.git
```
Then add to your MCP client configuration (stdio transport), replacing the path with your clone location:
```json
{
"mcpServers": {
"qr": {
"command": "uv",
"args": [
"run",
"/path/to/ext-apps/examples/qr-server/server.py",
"--stdio"
]
}
}
}
```
## Features ## Features
- Generate QR codes from any text or URL - Generate QR codes from any text or URL
- Customizable colors, size, and error correction - Customizable colors, size, and error correction
- Interactive widget that displays in MCP-UI enabled clients - Interactive widget that displays in MCP-UI enabled clients
- Supports both HTTP (for web clients) and stdio (for Claude Desktop) - Supports both HTTP (for web clients) and stdio (for MCP clients)
## Prerequisites ## Prerequisites
@ -41,24 +66,13 @@ Connect from basic-host:
SERVERS='["http://localhost:3108/mcp"]' bun serve.ts SERVERS='["http://localhost:3108/mcp"]' bun serve.ts
``` ```
### Stdio Mode (for Claude Desktop) ### Stdio Mode (for MCP clients)
```bash ```bash
uv run server.py --stdio uv run server.py --stdio
``` ```
Add to Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`): See [MCP Client Configuration](#mcp-client-configuration) above for how to add this server to your MCP client.
```json
{
"mcpServers": {
"qr": {
"command": "uv",
"args": ["run", "/path/to/qr-server/server.py", "--stdio"]
}
}
}
```
### Docker (accessing host server from container) ### Docker (accessing host server from container)

View file

@ -2,6 +2,29 @@
A real-time text-to-speech MCP App with karaoke-style text highlighting, powered by [Kyutai's Pocket TTS](https://github.com/kyutai-labs/pocket-tts). A real-time text-to-speech MCP App with karaoke-style text highlighting, powered by [Kyutai's Pocket TTS](https://github.com/kyutai-labs/pocket-tts).
![Screenshot](screenshot.png)
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"say": {
"command": "uv",
"args": [
"run",
"--default-index",
"https://pypi.org/simple",
"https://raw.githubusercontent.com/modelcontextprotocol/ext-apps/refs/heads/main/examples/say-server/server.py",
"--stdio"
]
}
}
}
```
## MCP App Features Demonstrated ## MCP App Features Demonstrated
This example showcases several MCP App capabilities: This example showcases several MCP App capabilities:
@ -26,35 +49,31 @@ This example showcases several MCP App capabilities:
## Prerequisites ## Prerequisites
- [uv](https://docs.astral.sh/uv/getting-started/installation/) - fast Python package manager - [uv](https://docs.astral.sh/uv/) - fast Python package manager
- A CUDA GPU (recommended) or CPU with sufficient RAM (~2GB for model)
## Quick Start ## Quick Start
The server is a single self-contained Python file that can be run directly with `uv`: The server is a single self-contained Python file that can be run directly from GitHub:
```bash ```bash
# Run directly (uv auto-installs dependencies) # Run directly from GitHub (uv auto-installs dependencies)
uv run examples/say-server/server.py uv run https://raw.githubusercontent.com/modelcontextprotocol/ext-apps/main/examples/say-server/server.py
``` ```
The server will be available at `http://localhost:3109/mcp`. The server will be available at `http://localhost:3109/mcp`.
## Running with Docker ## Running with Docker
Run directly from GitHub using the official `uv` Docker image. Mount your HuggingFace cache to avoid re-downloading the model: Run directly from GitHub using the official `uv` Docker image:
```bash ```bash
docker run --rm -it \ docker run --rm -it \
-p 3109:3109 \ -p 3109:3109 \
-v ~/.cache/huggingface:/root/.cache/huggingface \ -v ~/.cache/huggingface-docker-say-server:/root/.cache/huggingface \
-e HF_HOME=/root/.cache/huggingface \
ghcr.io/astral-sh/uv:debian \ ghcr.io/astral-sh/uv:debian \
uv run https://raw.githubusercontent.com/modelcontextprotocol/ext-apps/main/examples/say-server/server.py uv run https://raw.githubusercontent.com/modelcontextprotocol/ext-apps/main/examples/say-server/server.py
``` ```
For GPU support, add `--gpus all` (requires [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html)).
## Usage ## Usage
### With Claude Desktop ### With Claude Desktop
@ -66,8 +85,11 @@ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_
"mcpServers": { "mcpServers": {
"say": { "say": {
"command": "uv", "command": "uv",
"args": ["run", "server.py", "--stdio"], "args": [
"cwd": "/path/to/examples/say-server" "run",
"https://raw.githubusercontent.com/modelcontextprotocol/ext-apps/main/examples/say-server/server.py",
"--stdio"
]
} }
} }
} }

View file

@ -10,6 +10,27 @@ A React-based demo MCP App that lets users adjust SaaS business parameters and s
</tr> </tr>
</table> </table>
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"scenario-modeler": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-scenario-modeler",
"--stdio"
]
}
}
}
```
## Features ## Features
- **Interactive Parameters**: 5 sliders for Starting MRR, Growth Rate, Churn Rate, Gross Margin, and Fixed Costs - **Interactive Parameters**: 5 sliders for Starting MRR, Growth Rate, Churn Rate, Gross Margin, and Fixed Costs

View file

@ -10,6 +10,27 @@ A demo MCP App that renders [ShaderToy](https://www.shadertoy.com/)-compatible G
</tr> </tr>
</table> </table>
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"shadertoy": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-shadertoy",
"--stdio"
]
}
}
}
```
## Features ## Features
- **Real-time Rendering**: Renders GLSL shaders using WebGL 2.0 - **Real-time Rendering**: Renders GLSL shaders using WebGL 2.0

View file

@ -9,6 +9,27 @@ A demo MCP App that renders [ABC notation](https://en.wikipedia.org/wiki/ABC_not
</tr> </tr>
</table> </table>
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"sheet-music": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-sheet-music",
"--stdio"
]
}
}
}
```
## Features ## Features
- **Audio Playback**: Built-in audio player with play/pause and loop controls - **Audio Playback**: Built-in audio player with play/pause and loop controls

View file

@ -10,6 +10,27 @@ A demo MCP App that displays real-time OS metrics with a stacked area chart for
</tr> </tr>
</table> </table>
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"system-monitor": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-system-monitor",
"--stdio"
]
}
}
}
```
## Features ## Features
- **Per-Core CPU Monitoring**: Stacked area chart showing individual CPU core utilization over a 1-minute sliding window - **Per-Core CPU Monitoring**: Stacked area chart showing individual CPU core utilization over a 1-minute sliding window

View file

@ -4,6 +4,27 @@
Interactive 3D scene renderer using Three.js. Demonstrates streaming code preview and full MCP App integration. Interactive 3D scene renderer using Three.js. Demonstrates streaming code preview and full MCP App integration.
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"threejs": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-threejs",
"--stdio"
]
}
}
}
```
## Features ## Features
- **Interactive 3D Rendering**: Execute JavaScript code to create and animate Three.js scenes - **Interactive 3D Rendering**: Execute JavaScript code to create and animate Three.js scenes

View file

@ -4,6 +4,27 @@
An MCP App Server for live speech transcription using the Web Speech API. An MCP App Server for live speech transcription using the Web Speech API.
## MCP Client Configuration
Add to your MCP client configuration (stdio transport):
```json
{
"mcpServers": {
"transcript": {
"command": "npx",
"args": [
"-y",
"--silent",
"--registry=https://registry.npmjs.org/",
"@modelcontextprotocol/server-transcript",
"--stdio"
]
}
}
}
```
## Features ## Features
- **Live Transcription**: Real-time speech-to-text using browser's Web Speech API - **Live Transcription**: Real-time speech-to-text using browser's Web Speech API

Some files were not shown because too many files have changed in this diff Show more