io.github.CloudCorpRecords/casebrief

Official registry Other

Support-ticket reasoning: structured case briefs and L2 escalation-readiness scores from text.

What can you do with io.github.CloudCorpRecords/casebrief?

  • generate_case_brief — a structured brief from a ticket
  • check_escalation_readiness — whether the ticket is

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @reneturcios/casebrief
Claude Code
claude mcp add casebrief -- npx -y @reneturcios/casebrief@0.1.0 mcp
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "casebrief": {
            "command": "npx",
            "args": [
                "-y",
                "@reneturcios/casebrief@0.1.0",
                "mcp"
            ]
        }
    }
}
OCI package ghcr.io/cloudcorprecords/casebrief:0.1.0
Claude Code
claude mcp add casebrief -- docker run -i --rm ghcr.io/cloudcorprecords/casebrief:0.1.0 mcp
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "casebrief": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/cloudcorprecords/casebrief:0.1.0",
                "mcp"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. casebrief
  2. Configuration
  3. Tools
  4. CLI
  5. MCP server
  6. Docker
  7. Development
  8. License

casebrief

Turn a long, messy support ticket thread into something a human can act on. casebrief is a small client for the CaseMargin ticket-reasoning service: hand it the raw text of a ticket and it hands back either a structured brief of the case — what the problem is, what has already been tried and what happened, and the context that matters — or a readiness score that says whether the ticket is complete enough to escalate to L2, and what is still missing if it is not.

Only the ticket text you pass in ever leaves the machine. Responses come back exactly as the service returned them: nothing is trimmed, renamed or summarised on the way through.

Configuration

Two environment variables control the client:

  • CASEMARGIN_API_KEY (optional) — when set, it is sent on every request as Authorization: Bearer <key>. Leaving it unset is not an error: brief generation then runs on the anonymous per-IP tier and the escalation check is free.
  • CASEMARGIN_API_URL (optional) — API base URL. Defaults to https://casemargin.com/api (a reconstruction; see "Endpoint provenance" below).

One safety rule governs the key: if the base URL is a non-https origin other than loopback (localhost, 127.0.0.1, ::1) while a key is configured, every tool refuses with refusing to send CASEMARGIN_API_KEY over a non-https origin and no request is made, so the key is never sent in cleartext. An http loopback base — a local development server, say — is allowed. In this rebuild the check runs per call rather than at startup, so the server itself still starts; that is a deliberate, labelled deviation from the original.

Tools

  • generate_case_brief — a structured brief from a ticket thread: quick_scan (an assessment, the next step and a status), full_brief (the current problem, the actions taken with their outcomes, and key context) and metadata (input length, brief length and the compression ratio). ticket_content must be a string of 10 to 50,000 characters.
  • check_escalation_readiness — whether the ticket is ready for L2: an overall_score from 0 to 100, a readiness verdict, five scored dimensions (problem clarity, troubleshooting evidence, business impact, next action and billing defensibility, each with a score and a note), the questions L2 is likely to ask (predicted_l2_questions) and what the ticket still lacks (missing_items). ticket_content must be a string of 10 to 20,000 characters.

Length validation happens before any request and fails with ticket_content must be a string of 10 to 50000 characters or ticket_content must be a string of 10 to 20000 characters, depending on the tool. An upstream non-2xx reply fails with casemargin error: HTTP <status> and an unreachable API with casemargin unreachable.

Endpoint provenance

The README for the original service pins the environment variable names, the header-based key, the length bounds and the refusal rule above, but it does not pin the default base URL or the two request paths. Those three pieces are reconstructions, labelled as such:

  • Default base https://casemargin.com/api — reconstruction.
  • POST <base>/case-brief with JSON body {"ticket_content": "..."} — reconstruction (used by generate_case_brief).
  • POST <base>/escalation-readiness with the same body shape — reconstruction (used by check_escalation_readiness).

CLI

Each tool is a subcommand taking one JSON argument string:

npx @reneturcios/casebrief generate_case_brief '{"ticket_content":"Customer reports the export fails since Tuesday..."}'
npx @reneturcios/casebrief check_escalation_readiness '{"ticket_content":"Customer reports the export fails since Tuesday..."}'
npx @reneturcios/casebrief --version

Output is the tool's result text (the upstream JSON on success). Exit codes: 0 on success, 1 on a runtime error (including a validation, refusal or upstream failure), 2 on a usage error.

MCP server

npx -y @reneturcios/casebrief mcp

MCP client config (the key is optional; provide it through the client's environment when you have one):

{
  "mcpServers": {
    "casebrief": {
      "command": "npx",
      "args": ["-y", "@reneturcios/casebrief", "mcp"],
      "env": {
        "CASEMARGIN_API_KEY": "<your key>"
      }
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/casebrief
docker run --rm ghcr.io/cloudcorprecords/casebrief generate_case_brief '{"ticket_content":"Customer reports the export fails since Tuesday..."}'

Development

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev     # run the CLI from source

License

MIT — Copyright (c) 2026 Rene Turcios

Frequently asked questions

What is io.github.CloudCorpRecords/casebrief?

Support-ticket reasoning: structured case briefs and L2 escalation-readiness scores from text.

How do I install io.github.CloudCorpRecords/casebrief?

It runs on your machine. In Claude Code: claude mcp add casebrief -- npx -y @reneturcios/casebrief@0.1.0 mcp. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.CloudCorpRecords/casebrief need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.CloudCorpRecords/casebrief open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.CloudCorpRecords/casebrief?

It is published by CloudCorpRecords. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.