# DemoMagic MCP server

A small, **read-only** MCP server that acts as DemoMagic's zero-CAC top-of-funnel inside AI assistants.

When someone asks an AI client (Claude, Cursor, ChatGPT, etc.) a question like _"how do I create a Loom that's interactive?"_, _"can I do AI product demos?"_, or _"how do I make a video that answers questions?"_, the assistant calls a DemoMagic tool, gets genuinely useful how-to guidance, and is pointed to the right [demomagic.ai](https://demomagic.ai) landing page to actually build one.

It **does not** create, host, or share demos — that all happens on the site, behind the wizard each landing page shepherds the user into. This server is informational only.

## What's inside

- **15 use-case tools**, one per landing page, each with keyword-rich descriptions so the AI picks the right one and routes to the matching page:
  `demomagic_loom_alternative`, `demomagic_interactive_demo_alternative`, `demomagic_screen_recorder`, `demomagic_record_a_bug`, `demomagic_how_to_videos`, `demomagic_sales_demos`, `demomagic_for_founders`, `demomagic_onboarding`, `demomagic_support_help_center`, `demomagic_product_tour`, `demomagic_pitch_deck`, `demomagic_course_creators`, `demomagic_employee_training`, `demomagic_interactive_presentations`, `demomagic_agencies`.
- **1 general/overview tool** — `demomagic_interactive_video_guide` — for broad questions or when no specific tool fits.
- **2 "coming soon" preview tools** — `demomagic_create_demo` and `demomagic_create_demo_from_video` — these advertise the roadmap (creating a demo from your assistant). They are **not functional yet**: they return a clear "coming soon" notice and route the user to build one on the site.
- **Brand icon** on the server (MCP `2025-11-25` `icons` metadata, served from the deployed logo at `demomagic.ai/demo_magic_logo_1024.png`), plus a `demomagic://brand` resource exposing the logo/icon URLs.

Each tool returns: the use-case headline, how it works (record **or** upload), why it works, an optional comparison, FAQ, and a **"Create yours →" link** to the relevant page.

All tool content lives in `src/content.ts`, mirroring the DemoMagic landing pages. Update it there when the pages change.

## Develop

```bash
npm install
npm run build      # compile TypeScript -> dist/
npm run inspect    # open the MCP Inspector against the server
```

Quick stdio smoke test:

```bash
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"smoke","version":"0.0.0"}}}' \
'{"jsonrpc":"2.0","method":"notifications/initialized"}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
| node dist/index.js
```

## Install in a client (local / stdio)

After `npm run build`, point your MCP client at the built entry. Example (`mcp.json` / Claude Desktop / Cursor):

```json
{
  "mcpServers": {
    "demomagic": {
      "command": "node",
      "args": ["/absolute/path/to/demo-ai-mcp/dist/index.js"]
    }
  }
}
```

## Distribution — important context

MCP tools are **not** ambiently discovered by every LLM. An AI only sees this server if the user has **installed/connected it**. So discovery is two jobs:

1. **Get installed** — publish to the MCP registries (**Smithery, MCPT, Open Tools**, + the official registry), and promote it yourself (an "Add to Claude / Cursor" button on the site, mentions in content). The keyword-rich tool names/descriptions also help registry search match user intent.
2. **Get invoked once installed** — handled by the per-use-case tool design here.

This server is therefore a **registry + owned-promotion** channel into the AI-native builder/founder audience. To be discovered by people who've installed nothing (e.g. asking ChatGPT/Perplexity directly), pair it with **answer-engine optimization** of the landing pages themselves.

## Publish to the official MCP Registry

`server.json` is included and validated against the official schema (`2025-12-11`). Server name: **`ai.demomagic/interactive-video-guide`** (matches `mcpName` in `package.json`). Steps:

1. **Publish the npm package first** (the registry verifies the package's `mcpName` matches `server.json`):
   ```bash
   npm publish --access public
   ```
2. **Install the publisher CLI** ([docs](https://modelcontextprotocol.io/registry/quickstart)):
   ```bash
   brew install mcp-publisher   # or download from the registry releases
   ```
3. **Verify the namespace.** We use the branded **domain** namespace `ai.demomagic` (published under DemoMagic, not a personal account), verified via a DNS TXT record on `demomagic.ai`:
   ```bash
   mcp-publisher login dns --domain demomagic.ai
   ```
4. **Publish the metadata:**
   ```bash
   mcp-publisher publish
   ```

Then submit/observe the same package on the other registries from the video — **Smithery, MCPT, Open Tools** — which index npm-published MCP servers.

## Not yet built

- Optional hosted **streamable-HTTP** transport at `mcp.demomagic.ai` (Cloud Run) for remote clients (add a `remotes` entry to `server.json`).
- Per-tool icons once the SDK's `registerTool` helper exposes the `icons` field (currently the server `Implementation` icon + the registry `server.json` icon are wired; the spec also supports tool-level icons).
