Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.markusvankempen/mcp-ticket-demo

NPM · MCP-TICKET-DEMO

MCP server demo — tickets, schema discovery, auth, and PII gating. stdio + HTTP.

Available components

0 this week 81 Trust /100

Last scanned (4 hours ago)

Scores higher than 69% of npm servers

Category CRM and Sales

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security81
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 30 of 93 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability88
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 1468 tokens (~86/item across 17 items; 10 tools + 7 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 0
    • Security disclosure: unverified → fail ▼ functional
  • 3 Nov 26 0
    • Security disclosure: fail → unverified ▼ functional
  • 31 Oct 26 0
    • Stability: 0.97 → pass security
  • 30 Oct 26 0
    • Stability: pass → 0.97 functional
  • 24 Oct 26 −5
    • CVE-2023-54404 affects this package: high ▼ security
    • Known CVEs: pass → fail ▼ security
  • 18 Oct 26 0
    • Stability: 0.97 → pass security
  • 17 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/mcp-ticket-demo@1.9.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-mrhx-c7xc-m3w5 CVE-2023-54404 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 93 packages
Packages resolved 93
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 10 exposed · ~1,314 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_comment ~158

Add a comment to an existing ticket. You need a real ticket_id from search_tickets or get_ticket — do not invent TCK- ids. Pass author as the human speaking; omitting it attributes the comment to the service account. This is a write tool and may require a credential. To resolve the ticket after commenting, call close_ticket.

NameTypeReqDescription
authorstring–Email of the person speaking, e.g. ada@example.com. Omit only if you intend to comment as the service account.
bodystringyesThe comment text the human wants on the ticket.
ticket_idstringyesExisting ticket id from search_tickets or get_ticket. Format: TCK-1001. Do not invent an id.

No output schema declared.

No examples provided.

close_ticket ~183

Resolve and close a support ticket (destructive, idempotent). Sets status to solved and records resolved_at. Optionally appends resolution as the final comment. If the ticket is already solved this is a no-op and returns alreadyClosed=true — do not retry. Use a real ticket_id from search_tickets or get_ticket. Use add_comment first if you want a longer explanation before closing. This is a write tool and may require a credential.

NameTypeReqDescription
closed_bystring–Who is closing, e.g. support@example.com. Defaults to the service account.
resolutionstring–Optional note appended as the final comment, e.g. Fixed by using an absolute cwd in mcp.json.
ticket_idstringyesExisting ticket id from search_tickets or get_ticket. Format: TCK-1001. Do not invent an id.

No output schema declared.

No examples provided.

create_ticket ~166

Open a support ticket on behalf of a customer. ALWAYS pass requester_email as the real customer email. If you omit it the call still succeeds (201) but the service account owns the ticket and every reply is mailed to the bot, not the customer — that is the attribution scar. A tool is not done when the API call succeeds; it is done when the next thing that happens is right. This is a write tool and may require a credential.

NameTypeReqDescription
bodystringyesRequired. What happened, in the customer's words.
requester_emailstring–The real customer's email, e.g. ada@example.com. Omit ONLY to reproduce the attribution scar.
subjectstringyesRequired. Short customer-facing subject, e.g. Cannot find the deployed MCP URL.

No output schema declared.

No examples provided.

describe_server ~86

Call this first, and again after any denial or empty tool list: server identity, auth mode, who the server thinks you are, the scopes you hold, your rate-limit budget, and every tool with the scope it needs and whether it is currently available. Discovery stays open in every auth mode. When a call was denied, this tells you which credential is missing — do not guess.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_schema ~66

Return fields and filterable keys for one schema. Call after list_schemas and before run_query so you know which filter keys are valid. name must be tickets, customers, or assets.

NameTypeReqDescription
namestringyesSchema name from list_schemas: tickets, customers, or assets.

No output schema declared.

No examples provided.

get_ticket ~106

Fetch one ticket by id, including comments and attribution (customer vs service_account). Use when you already have a ticket_id like TCK-1001. If you do not have an id, call search_tickets first — a missing id is not a reason to invent one. Same data is also at ticket://TCK-1001.

NameTypeReqDescription
ticket_idstringyesExisting ticket id from search_tickets. Format: TCK-1001. Do not invent an id.

No output schema declared.

No examples provided.

list_schemas ~73

List the queryable schemas on this server (tickets, customers, assets). Call this BEFORE run_query. There is no query_tickets, query_assets, or query_with_filter tool — discover the shape here, then get_schema, then run_query. Same list is also at schema://{name} after resources/list.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

lookup_customer ~97

Look up one customer by email (plan, region, contact). Use this for customer records, not tickets — tickets use search_tickets. Phone is PII: it stays REDACTED unless the caller presents a credential with the pii scope. Known demo emails: ada@example.com, sam@example.com. Do not invent other addresses and retry.

NameTypeReqDescription
emailstringyesCustomer email. Demo records: ada@example.com, sam@example.com.

No output schema declared.

No examples provided.

run_query ~173

Run one exact-match query against a schema from list_schemas. Pass schema plus optional filter (keys from get_schema.filterable) and fields. This is the only query tool — do not invent query_tickets, query_assets, or query_with_filter. Empty rows mean no match; loosen the filter, do not retry the identical query.

NameTypeReqDescription
fieldsarray–Optional field projection. Example: ["id","subject"]. Omit to return all fields.
filterobject–Optional exact-match map. Keys must be listed in get_schema.filterable. Example: {"status":"open"}.
limitinteger–Max rows to return. Default 10, max 50.
schemastringyesOne of tickets, customers, assets — from list_schemas. Do not invent a name.

No output schema declared.

No examples provided.

search_tickets ~206

Find support tickets by status, requester email, or a keyword in subject/body. Use this when someone asks to list, find, or search tickets. Default status is open — an empty list means no match for those filters, not that the server is empty; broaden to status=all or drop requester_email. Do not retry the same filters. To fetch one known id use get_ticket or read ticket://TCK-1001. Do not invent query_tickets or a generic HTTP request tool.

NameTypeReqDescription
limitinteger–Max rows to return. Default 10, max 25.
querystring–Optional keyword matched against subject and body, e.g. hostname or mcp.json.
requester_emailstring–Optional exact customer email, e.g. ada@example.com. Combine with status=all if you are unsure the ticket is still open.
statusstring–Lifecycle filter. Default open. Use all if a search comes back empty.

No output schema declared.

No examples provided.

Install

How do I install the io.github.markusvankempen/mcp-ticket-demo server?

io.github.markusvankempen/mcp-ticket-demo runs locally as an npm package, launched with npx -y mcp-ticket-demo. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · mcp-ticket-demo

# add to Claude Code
claude mcp add markusvankempen-mcp-ticket-demo -- npx -y mcp-ticket-demo
Common questions

What is the io.github.markusvankempen/mcp-ticket-demo server?

io.github.markusvankempen/mcp-ticket-demo is listed in the public MCP registry as io.github.markusvankempen/mcp-ticket-demo. MCP server demo, tickets, schema discovery, auth, and PII gating. stdio + HTTP. This page covers its npm package (mcp-ticket-demo).

Is the io.github.markusvankempen/mcp-ticket-demo server safe to use?

io.github.markusvankempen/mcp-ticket-demo scores 81 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.markusvankempen/mcp-ticket-demo server expose?

io.github.markusvankempen/mcp-ticket-demo exposes 10 tools: search_tickets, create_ticket, add_comment, close_ticket, get_ticket, and 5 more. Their descriptions and schemas cost roughly 1,314 tokens of context every time the server is loaded.

Is the io.github.markusvankempen/mcp-ticket-demo server still maintained?

io.github.markusvankempen/mcp-ticket-demo is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.markusvankempen/mcp-ticket-demo server under?

io.github.markusvankempen/mcp-ticket-demo declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.