
Mcp Ticket Demo
io.github.markusvankempenPublished by GitHub account markusvankempenv1.9.0Updated Oct 27, 2026
MCP server demo — tickets, schema discovery, auth, and PII gating. stdio + HTTP.
The publisher's own server: demo.st
Overview
A reference MCP ticket-desk server for learning and demoing MCP, with 19 tools, resources, prompts, auth modes, PII gating and rate limiting.
- What you can do
- Discover the server and its query schemas, then run one generic query tool over tickets, customers, assets, timers, settings and events
- Open, comment on and close support tickets, with PII fields redacted unless the caller holds a pii scope
- Read addressable resources for single tickets, the open ticket list and schema shapes, and use five user-facing prompts for guided walkthroughs
- Operate the server itself: change settings, manage users and API keys, import settings, start and stop timers, push log lines and publish system info
- Run as a local stdio process or as an HTTP service with health, test, admin, log and tool-inventory pages
- When to use it
- Useful when you want to learn how MCP servers work, test an IDE or agent integration against a realistic server, run a live demo, or use it as a reference implementation while building your own server. It is a demo, not a production ticket system.
- Requirements
- Node.js, run via npx or a clone; stdio by default, or HTTP mode with a port and host. Optional settings include AUTH_MODE, MCP_API_KEY for stdio credentials, MCP_USERS for extra logins, RATE_LIMIT, and ADMIN_USER/ADMIN_PASSWORD for the admin page. No account or external service is needed.
Installation
In SourceWeft
- Open Mcp Ticket Demo in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[MCP as a Platform — MCP Dev Summit Toronto 2026]
MCP Ticket Demo — A Full-Stack MCP Reference Server
[npm] [npm downloads] [VS Code] [Open VSX] [License] [Node.js] [MCP] [IBM Cloud] [Linux Foundation]
A production-shaped MCP server you can run in under five minutes. Ships with 19 tools, 3 resources, 5 prompts, three auth modes, API key management, per-tool gates, rate limiting, a live observability dashboard, and a VS Code / Bob / Cursor / Windsurf control-plane extension.
Use it to learn MCP, test IDE integrations, run live demos, or as a reference implementation when building your own server.
Companion to MCP as a Platform: What I Learned Building a Portfolio of MCP Servers · MCP Dev Summit Toronto · 5 October 2026 · Talk slides →
Personal open-source project.
What makes this useful beyond a hello-world
Most MCP examples stop at "here is a tool that returns a string." This one goes further:
Quickstart — five minutes
Then open in a browser:
From a terminal
The same mcp-ticket-demo command is also a client for a running server, local or deployed. With no arguments it is still the MCP server, so the IDE configs below keep working.
--json prints one document for scripts, and exit codes are 0 done · 1 refused · 2 usage · 3 unreachable. Commands that delete or reconfigure ask first. Every command, option and example is in server/README.md, and a copy-paste page is at /clients/cli.html on a running desk. demo apply changes real settings, so use it on a server you own.
[/health — liveness check with version, tool count, and cwd]
[/test — read-only smoke test: seed tickets, schemas, and run_query]
Laptop login: demo / demo. On a public bind (HOST=0.0.0.0, container, Code Engine) set ADMIN_PASSWORD — the default is disabled. Write smoke is /test?write=1 after admin sign-in.
Add to your IDE (one line)
VS Code / GitHub Copilot — .vscode/mcp.json:
Bob / Cursor / Windsurf — .bob/mcp.json / .cursor/mcp.json / .windsurf/mcp.json:
Or install the extension and click Register server with all IDEs — it writes all four configs at once: VS Code Marketplace · Open VSX
[Extension diagnostics panel — all steps passing, server confirmed healthy]
Tools
The server has 19 tools. Six are the ticket desk, below. Eight operate the server itself: update_settings (every setting is one patch: auth mode, rate limit, call trace, desk sign-in, transports, events, gates, locks and scopes), set_mqtt, users, API keys, import_settings and sample traffic. Most of those need the admin scope even while auth is off; server/README.md lists the scope of each. Three are timers, start_timer, stop_timer and push_timer, with no get_timer (push_timer also streams the timer as events; see Events): you read a timer through the schema, run_query with schema=timers (server/README.md). push_log sends a log line as an event, and watch_system publishes the machine as system.info, including a container's cgroup limit. Plain lists are not tools of their own: run_query reads settings (the saved settings, importable as they are), system (the machine), events (the events already sent), and, with an admin credential, users, api_keys, trace, errors and counters. The page at /clients/dashboard.html draws them. Each of these tools is declared once and everything else is generated from that definition.
The ticket desk (6)
[Chat tab — AI calls MCP tools to create and query tickets live]
3 Resources
Resources are addressable and pinnable — clients can subscribe and refresh. Tools are for agent loops.
Call resources/list to browse — you do not need to know a URI ahead of time. A denied read is a JSON-RPC error (not a fake ticket document you can pin).
5 Prompts
User-facing prompts — the user picks these, the model executes them.
Auth model
Credentials: Authorization: Bearer <api key> over HTTP · MCP_API_KEY env var over stdio.
Issue keys, set modes, toggle per-tool gates, and lock individual tools on /admin.
A change broadcasts notifications/tools/list_changed to connected SSE and Streamable HTTP sessions (Cursor/Bob after initialize). One-shot POST /mcp (curl) has no session — it sees the new list on the next call.
Repo layout
Docs
Environment variables
Honest limits
- Tickets live in memory — a new container starts from seed data.
- Admin auth is a session cookie, not SSO. Cookie is
HttpOnly(+Secureon HTTPS). /healthbeing green does not mean the ticket went to the right person.- Public
/testdoes not create or close tickets. Use/test?write=1after admin sign-in. - Remote config, the extension's Remote config tab and the command line change real settings (auth mode, users, keys, rate limit) on whatever server you point them at. Demo setup is for a server you own.
Author: Markus van Kempen · [email protected] · markusvankempen.github.io · MCP Dev Summit Toronto talk · Talk slides · npm · VS Code Marketplace · Open VSX
Source: README.md at commit 80edabd
Tools
0Version history
2- v1.9.0LatestSep 24, 2026
- v1.0.4Sep 18, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.
Other Demo integrations

demo.st
st.demoOfficial publisher
A remote MCP server for demo.st that lets an assistant reserve a subdomain, publish a zipped static site, and manage a small document store for it.

Proofmark Demo Server
Published by GitHub account SamuelDharshi
A small local filesystem MCP server, distributed as an npm package, used to demonstrate Proofmark attestation.

PlanPro demo (unofficial, AetherStack)
Published by GitHub account piksliviksi
Unofficial demo MCP endpoint exposing PlanPro-style work plans, KPIs and risks over synthetic data, with OAuth sign-in.

WebMCP Demo Store
Published by GitHub account kamatanuj
A demo online store exposed as MCP tools, letting an assistant search a product catalog, manage a cart and place orders without scraping HTML.

Everyday Software Voice Demo
Published by GitHub account PpiNeaPpLe
A remote MCP server that builds a prefilled link for trying a browser-based AI receptionist demo from a public business website.