MCP Ticket Server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
MCP Ticket Server
An MCP (Model Context Protocol) server that exposes ticket classification as a tool any MCP-compatible client can use — verified working with Claude Desktop. Packaged as a Desktop Extension (.mcpb) for one-click installation, with the Anthropic API key collected securely through Claude Desktop's own settings UI rather than stored in any file.
Built as a Phase 3 project in a self-directed learning path on AI-assisted software development, following Phase 1 (a full-stack ticket triager) and Phase 2 (a codebase Q&A agent). This project's focus: understanding MCP as a standard protocol, distinct from the Anthropic API tool-use pattern the underlying tool actually uses.
What it does
Exposes one MCP tool, classify_ticket, which takes raw support ticket text and returns a structured classification (severity, category, sentiment, summary) — the same classification logic first built in the Phase 1 project, now reachable from any MCP client, not just a custom-built backend.
Related MCP server: claude-mcp-jira
Why this project matters conceptually
Phase 1 and 2 both used the Anthropic API's tool-use feature directly, inside code written specifically for those projects. This project is about a different, higher-level problem: making a tool usable by any AI application, not just one you wrote yourself.
Without MCP, connecting N tools to M different AI applications requires custom integration work for every tool-app pair. MCP standardizes the interface, so a tool built once as an MCP server can be used by any MCP client — Claude Desktop, Claude Code, or a custom-built client — without bespoke integration code per pairing.
Important distinction worth being explicit about: this project genuinely has two separate "tool" concepts stacked on top of each other:
The MCP tool (
classify_ticket) — what Claude Desktop sees and calls, defined viaserver.registerTool(...)and the MCP SDKInside that tool's implementation, a separate, ordinary Anthropic API call using API-level tool use (
tool_choiceforcing a specific tool) — the exact same pattern from Phase 1 — to actually perform the classification
These are two different systems that happen to share vocabulary. The MCP tool is about how an application discovers and invokes a capability. The API tool-use call inside it is about how a single model response gets structured, reliable output. Confusing the two was the single most disorienting part of this phase early on.
Tech stack
MCP SDK:
@modelcontextprotocol/sdk, usingMcpServerandStdioServerTransportSchema validation:
zod(the MCP SDK's convention for describing tool input, distinct from the raw JSON Schema objects used for Anthropic API tool-use)LLM: Claude, via the Anthropic TypeScript SDK, called from inside the MCP tool's implementation
Packaging:
@anthropic-ai/mcpb, Anthropic's CLI for building.mcpbDesktop Extension bundles
Architecture
Claude Desktop (MCP client)
│ launches as subprocess, communicates over stdio
▼
server.js (MCP server)
│ registers "classify_ticket" as an MCP tool
│ on invocation, calls:
▼
Anthropic API (tool-use, tool_choice forced)
│ returns structured { severity, category, sentiment, summary }
▼
Result returned back through MCP to Claude Desktop, shown to the userNo HTTP port, no app.listen() — MCP servers running locally communicate over stdio, with the client (Claude Desktop) responsible for launching the server process and piping messages to it.
Packaging as a Desktop Extension
Rather than manually editing claude_desktop_config.json (the older, lower-level way to register a local MCP server), this project is packaged as an .mcpb bundle — Anthropic's current recommended distribution format for local MCP servers in Claude Desktop. The manifest (manifest.json) declares:
The server entry point and launch command
A
user_configfield for the Anthropic API key, markedsensitive: true, so Claude Desktop collects it through its own UI and stores it in the OS credential vault — the key is never written into any file in this repo or the packaged bundle
Running it locally
Prerequisites: Node.js, an Anthropic API key, Claude Desktop installed
npm install
npm install -g @anthropic-ai/mcpb
mcpb packThis produces a .mcpb file. In Claude Desktop: Settings → Extensions → Advanced settings → Install Extension…, select the generated file, and enter your API key when prompted.
What I'd build next
Expose the Phase 2 codebase Q&A agent's tools (
list_files,read_file,search_code) as additional MCP tools on this same server, so Claude Desktop could explore a real codebase directlyAdd a second, write-capable tool (mirroring Phase 2's
propose_edit), and confirm Claude Desktop's own consent-prompt mechanism handles the human-in-the-loop approval, rather than building that logic manually againInvestigate remote (non-stdio) MCP transports, for a server that isn't tied to a single local machine
What I learned building this
The core lesson of this phase was almost entirely about a moving target: the documented way to add a custom local MCP server to Claude Desktop changed between when I started looking into it and when I finished — from a manually-edited JSON config file toward a packaged .mcpb extension format with its own CLI tooling. Working through that shift firsthand was a good, realistic preview of what building on fast-evolving developer tooling actually feels like: verifying current documentation rather than trusting an older guide, and treating a UI element (like a missing "Developer" tab) as a signal to check for a changed process, not a sign of doing something wrong.
This server cannot be deployed
Maintenance
Related MCP Connectors
Build and manage AI-native customer support agents from Claude or any MCP client.
Customer support for MCP servers: work your tickets from Claude or any MCP client. Service key auth.
AI Visibility and Content Intelligence tools for Claude and MCP-compatible agents.
ClearFeed turns customer conversations in Slack, Microsoft Teams and email into trackable support requests. The ClearFeed MCP server lets AI assistants work with that data directly, so support, success and ops teams can get answers and take action without switching tabs. What you can do - Find and summarize requests: "Summarize the open requests assigned to me" - Update requests: change status, priority and assignee - Reply to customers: post a message on any request - Look up customers: request history and account details - Link tickets: connect Jira and other tickets to a request - Pull support metrics: response times, SLA performance and team workload - Manage collections: list collections, add channels or clone a setup Getting started 1. Add https://mcp.clearfeed.app/mcp as a custom connector in Claude, Cursor or Codex. 2. Sign in with your ClearFeed account. No API keys needed. 3. Start asking. The assistant can only see and do what your ClearFeed role allows. Requirements: a ClearFeed account. To self-host instead, run npx -y @clearfeed-ai/mcp with a ClearFeed API token.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that exposes Intercom tools to Claude Desktop and sends a daily support report via email.-
- FlicenseNot gradedqualityBmaintenanceIntegrates Claude with Jira for corporate environments using an internal MCP server with SSE, supporting ticket creation, update, summarization, and listing via natural language commands.-
- FlicenseNot gradedqualityDmaintenanceConnects Claude Desktop directly to a ServiceNow instance for incident management, service catalog, workflow tools, and AI-powered smart incidents and KB generation using Gemini.-
- FlicenseNot gradedqualityDmaintenanceEnables conversational triage of ServiceNow incidents via Claude Desktop, automatically classifying and routing them based on company knowledge.-