Skip to main content
Glama
mcpdemos

mcpdemos

by leestott

MCP Demos

8 runnable demos showcasing Model Context Protocol capabilities - from text-only tools to interactive MCP Apps with bidirectional communication.

Quick Start

node --version   # Requires Node 20+
npm install
npm run dev      # Start MCP server (stdio transport)

For production:

npm run build
npm start

Related MCP server: mcp-demo

VS Code Configuration

Add to .vscode/settings.json to auto-discover the server:

{
  "mcp": {
    "servers": {
      "mcpdemos": {
        "command": "node",
        "args": ["dist/index.js"],
        "cwd": "${workspaceFolder}"
      }
    }
  }
}

For development with tsx:

{
  "mcp": {
    "servers": {
      "mcpdemos": {
        "command": "npx",
        "args": ["tsx", "src/index.ts"],
        "cwd": "${workspaceFolder}"
      }
    }
  }
}

Demos

#

Demo

Category

Tools

Resources

1

Polite CLI vs Teammate

Hook

demo1_polite_cli

-

2

Elicitation Mid-Flow

Negotiation

demo2_scaffold_start, demo2_scaffold_confirm

-

3

Secure OAuth Handoff

Security

demo3_request_consent, demo3_approve_consent, demo3_protected_action

-

4

Async Progress

Coordination

demo4_start_pipeline, demo4_check_progress

-

5

Cancel / Retry / Resume

Coordination

demo5_cancel_task, demo5_retry_task, demo5_list_tasks

-

6

Colour Picker

Shared Artifacts

demo6_save_color, demo6_get_palette

ui://color-picker

7

Component Gallery

Shared Artifacts

demo7_gallery_state

ui://component-gallery

8

Export Artifacts

Platform

demo8_export_report, demo8_list_exports

-

Runbooks

Architecture

src/
  index.ts                     ← Server entry point (stdio transport)
  demos/
    demo1-polite-cli.ts        ← Tool: verbose CLI responses
    demo2-elicitation.ts       ← Tools: scaffold start + confirm
    demo3-oauth.ts             ← Tools: consent → approve → action
    demo4-async-progress.ts    ← Tools: pipeline + progress polling
    demo5-cancel-retry.ts      ← Tools: cancel, retry, list tasks
    demo6-color-picker.ts      ← Tool + Resource: colour picker UI
    demo7-component-gallery.ts ← Tool + Resource: gallery UI
    demo8-export-artifacts.ts  ← Tool: report generation
examples/
  demo{1-8}/README.md          ← Per-demo docs with stage scripts
docs/
  5-minute-runbook.md
  15-minute-runbook.md
outputs/                        ← Generated reports (Demo 8)

Graceful Degradation

If a host doesn't support MCP Apps (ui:// resources), all demos fall back to text-only tool interactions. The UI resources are optional enhancements.

Dependencies

  • @modelcontextprotocol/sdk - MCP server framework

  • zod - Schema validation

  • tsx (dev) - TypeScript execution

  • No external APIs, databases, or cloud services required

Licence

MIT

Available Tools

16 tools
demo1_polite_cliC

Verbose CLI-style helper – returns long text/JSON requiring multiple round-trips. Demonstrates the 'before' experience of chatting with a polite but wordy tool.

Inputs: command (required), verbose.

demo2_scaffold_confirmB

Complete project scaffolding after user has made their choices. Resumes the flow started by demo2_scaffold_start.

Inputs: projectName (required), template (required), includeDocker, includeCI, +1 more.

demo2_scaffold_startC

Begin project scaffolding – presents configuration choices via structured elicitation. Returns a structured prompt for the user to choose template, name, and options.

Inputs: projectName (required).

demo3_protected_actionA

Execute a protected action using the mock token from demo3_approve_consent. Validates the token is present, unexpired, and properly scoped.

Inputs: token (required), action (required).

demo4_check_progressA

Check progress of a running pipeline task. Returns current step, percentage, and log entries.

Inputs: taskId (required).

demo4_start_pipelineA

Start a long-running build pipeline with 12 steps. Returns progress updates as the task runs. Use demo4_check_progress to poll status.

Inputs: project, stepDelayMs, failAtStep.

demo5_cancel_taskB

Cancel a running pipeline task. The task will stop at its current step.

Inputs: taskId (required), reason.

demo5_list_tasksC

List all tasks (running, completed, failed, cancelled) for visibility.

Inputs: no named parameters.

demo5_retry_taskA

Retry a failed or cancelled task. Can resume from where it stopped or restart entirely with modified parameters.

Inputs: taskId (required), mode, fixFailingStep, stepDelayMs.

demo6_get_paletteA

Get all saved colors from the palette.

Inputs: no named parameters.

demo6_save_colorC

Save a color to the server palette. Can be called by the Color Picker UI or directly by an agent.

Inputs: color (required), name (required).

demo8_export_reportA

Generate a markdown report of all demos and write it to /outputs. Includes sharing guidance, VS Code config, and dev mode checklist.

Inputs: title, includeDevMode, format.

demo8_list_exportsA

List all exported reports in the /outputs directory.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 16 tools

    Disambiguation5/5

    Each tool targets a distinct demo scenario and action, with no overlapping purposes. The demoX prefix clearly groups related tools, and individual tool descriptions specify unique roles (e.g., start vs. confirm vs. check progress).

    Naming Consistency5/5

    All tools follow a consistent snake_case verb_noun pattern (e.g., demo1_polite_cli, demo2_scaffold_start, demo3_request_consent). The naming is uniform across all 16 tools with no deviations.

    Tool Count4/5

    With 16 tools, the count is slightly above the ideal 3-15 range, but given the multi-demo scope, it remains well-scoped. Each tool serves a distinct purpose, and none feel redundant.

    Completeness4/5

    The tool surface covers the core workflows for each demo scenario (e.g., scaffolding, consent flow, pipeline management, palette operations). Minor gaps exist (e.g., no tool to reset a demo), but overall it supports the intended demonstrations adequately.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      C
      maintenance
      Provides runnable samples demonstrating how MCP tools can return deterministic, interactive UIs using HTML, UI5 Web Components, UI Integration Cards, and host-orchestrated SAP transport data.
      10
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      A demo MCP server showcasing every MCP capability with fake logic, including tools, resources, prompts, progress, cancellation, elicitation, sampling, roots, and subscriptions, over Streamable HTTP, HTTP+SSE, and stdio transports.
      19 npm
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI clients to connect to example tools, resources, and prompts over MCP, demonstrating integration with IDEs, chatbots, and agent frameworks.
      -
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables developers to build, run locally with debugging, and deploy to the cloud custom remote MCP endpoints hosted on Azure Functions, with built-in Microsoft Entra authentication. Sample projects demonstrate snippet CRUD and QR code tools, resource templates, prompt workflows, and an interactive weather demo UI.
      -