mcp-ticket-demo

MCPCommunity
v1.0.4io.github.markusvankempenUnknownAktualisiert vor 2 TnpmGitHub

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

Läuft in
ClaudeCursorCopilotGemini

Abgeleitet aus den Transporten, die dieser Eintrag deklariert (stdio). Ein Client, der hier nicht steht, ist damit nicht ausgeschlossen — Forge kann ihn nur nicht bestätigen.

Automatisch aus öffentlichen Quellen indexiert. Vom Entwickler auf Forge noch nicht verifiziert.Diesen Eintrag beanspruchen →
1GitHub-Sterne
vor 2 TLetzte Aktualisierung
Liest diese Zugangsdaten
  • MCP_API_KEYAPI-Schlüsseloptional

    API key for authenticated tool calls. Issue one on /admin → API Keys. Required when AUTH_MODE=write or AUTH_MODE=all.

Vom Autor in der offiziellen MCP-Registry angegeben. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Paket
Autorio.github.markusvankempen
LizenzUnknown
Version1.0.4
Quellenpm+mcp-registry
Trust-Status
B
60/100Gut
Im Forge-Index gelistet+10/10
Publisher-Identität verifiziert+0/20
Publisher: führe `forge publish` im Repo des Pakets aus, um die Inhaberschaft zu beanspruchen
Ed25519-Publish-Signatur+0/5
Wird automatisch ergänzt, wenn der Publisher `forge publish` ausführt
Domain-Verifizierung+0/5
Publisher: hinterlege /.well-known/forge.json auf der Paket-Homepage mit { "publisher": "<github-login>" }
npm Trusted Publishing (Sigstore)+0/5
Veröffentliche aus GitHub Actions mit --provenance, damit die Attestation dieses Paket an dieses Repo bindet
npm-Maintainer-Übereinstimmung+0/5
Wird erreicht, sobald deine Identität oben verifiziert ist und dieser Login npm-Maintainer dieses Pakets ist
CVE-Scan · sauber+30/30
Statische Analyse · sauber+20/20
Füge das in Claude Code, Cursor oder einen beliebigen KI-Assistenten ein, um alle Lücken zu schließen
StatusVon der Community indexiert
PublisherNicht verifiziert
SignaturNicht signiert
Domain
Herkunft
Abhängigkeiten✓ 60 aufgelöst+ · keine verwundbar
Tool-Oberfläche13 Tools · keines privilegiert
Sicherheits-Scan✓ Sauberv1.7.0 · vor 1 TWie gut funktioniert dieser Scan?
EvaluierungenKeine
Indexiert19. Sept. 2026

Die Verifizierung bestätigt die Identität des Publishers (die Inhaberschaft am Repo), nicht die Sicherheit des Codes. Der Sicherheits-Scan deckt bekannte CVEs und verdächtige Installationsskripte ab.

Tools

13 Tools · keines privilegiert
Statisch aus dem veröffentlichten Paket extrahiertv1.7.0 · 1d ago

Aus dem Quellcode gelesen, den npm tatsächlich ausliefert, zum Zeitpunkt des Scans. Das Paket wurde nie ausgeführt. Tools, die zur Laufzeit dynamisch registriert werden oder in gebündeltem beziehungsweise minifiziertem Code stecken, können übersehen werden — das hier ist also eine Untergrenze der Tool-Oberfläche, keine vollständige Erhebung.

search_ticketsFind 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 re…

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 re…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

create_ticketOpen 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…

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…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

add_commentAdd 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 com…

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 com…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

close_ticketResolve 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…

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…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_ticketFetch 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.

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.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

list_schemasList 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.

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.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

get_schemaReturn 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.

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.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

run_queryRun 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 i…

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 i…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

lookup_customerLook 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 addres…

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 addres…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

describe_serverCall 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…

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…

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

ticketsSupport tickets. Use run_query with schema=tickets — do not invent query_tickets / query_with_filter tools.

Support tickets. Use run_query with schema=tickets — do not invent query_tickets / query_with_filter tools.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

customersCustomer directory. Email is the join key to tickets.requester_email.

Customer directory. Email is the join key to tickets.requester_email.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

assetsDemo assets. Same query tool as tickets — this is the 'one query tool plus schema discovery' lesson.

Demo assets. Same query tool as tickets — this is the 'one query tool plus schema discovery' lesson.

Für dieses Tool wurde kein Eingabeschema veröffentlicht.

13 von 13 Tools haben eine Beschreibung veröffentlicht.

Tool-Namen und -Beschreibungen stammen vom Publisher und werden wortgetreu als inerter Text angezeigt. Es sind die Zeichenketten, die ein MCP-Client an ein Modell übergibt, deshalb prüft Forge sie auf Prompt-Injection-Muster — jeder Befund erscheint oben beim Sicherheits-Scan. „Privilegiert“ ist ein Schlagwort-Treffer im Tool-Namen, keine Prüfung dessen, was das Tool tut: ein harmlos klingender Name kann trotzdem alles tun.

Über

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

Schlagwörter
mcp
Alternativen
Tool-Oberflächen werden verglichen…

Abhängigkeitsbaum

Was ein Forge-Scan am 2026-09-19 aus den npm-Metadaten aufgelöst hat — beobachtete Auflösung, keine Angabe des Herausgebers.

60 Pakete aufgelöst · 3 direkt · keines mit Sicherheitshinweisen Die Auflösung endet bei Tiefe 4 und 60 Paketen.

Der Durchlauf endete an der Grenze von 60 Paketen. Der Rest des Baums wurde nie aufgelöst.

36 weitere aufgelöste Pakete werden hier nicht gezeichnet (Anzeigegrenze: 24). Jede Abhängigkeit mit einem Sicherheitshinweis wird unabhängig von der Grenze gezeichnet. Vollständiges Inventar (CycloneDX-SBOM)

Deklariert, aber nicht aufgelöst

39 deklarierte Abhängigkeiten sind nie im Baum gelandet. Sie fehlen in Forges Auflösung, nicht im Paket.

+27 weitere nicht aufgeführt. Die Zählungen nach Grund oben erfassen sie alle.

Nicht verfolgt: peerDependencies. Dieser Baum erfasst nur Laufzeitabhängigkeiten; was jene mitbringen, wurde nie aufgelöst.