wrapper-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEBUG | No | When set (any value), emits verbose HTTP and session logs to stderr. | |
| WRAPPER_PAT | Yes | Personal access token, wrapper_<32 alnum>. Must come from env, not CLI flag. | |
| WRAPPER_BASE_URL | Yes | Browser sign-in URL of your QMS Wrapper instance. HTTPS only; plain HTTP allowed only for loopback or *.local. | |
| WRAPPER_CACHE_DIR | No | Scratch dir, created with mode 0700. | ~/.cache/wrapper-mcp |
| WRAPPER_UPLOAD_DIR | No | Absolute path. task.attach will only read files inside this directory. Default-deny when unset. | |
| WRAPPER_UPLOAD_MAX_BYTES | No | Per-file upload size cap. | 52428800 (50 MB) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| task.listA | List tasks assigned to me, newest first. Read-only. |
| task.getA | Full task detail incl. journal, attachments, sub-issues, relations. |
| task.updateA | Apply ONE batched change to a task — all non-null fields go in a single journal entry. Use for: starting (status=inprogress), finishing (status=resolved + comment), fixing wrong title/priority alongside other work. Do NOT call twice in a row for the same task. |
| task.createA | Create a new bug or task via the unified create-with-submission flow. REQUIRES a previewed-and-approved payload — call this only after the /qms-file prompt has gathered fields, rendered a preview, and the user has explicitly approved. previewedHash is the SHA-256 of the canonical preview JSON; the client refuses mismatches. |
| task.assignA | Transfer assignment to another user. Typically IRREVERSIBLE — once transferred the previous assignee may lose access. Never call without explicit user instruction. userExplicitlyRequested MUST be true. |
| task.relateA | Link this task to another (relates / blocks / duplicates / etc). Prefer this over creating a duplicate when an existing task already covers the same issue (R8). |
| task.tagC | Merge a set of claude-* tags into the task. Idempotent. |
| task.attachA | Upload one or more files to a task in a single multipart request (one journal entry). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| qms-plate | Summarize my open tasks grouped by priority. |
| qms-summary | Read a task plus attachments and produce a user-language summary. |
| qms-start | Flip a task to in-progress in one atomic update. |
| qms-finish | Close out a task with status=resolved + a one-paragraph comment in a single update. |
| qms-file | Gather, preview, approve, hash, and create — the R9 flow for task.create. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| lookups.statuses | All issue statuses (id, name, identifier, closed flag). |
| lookups.priorities | All issue priorities (id, name). |
| lookups.trackers | All trackers (bug, task, etc.) with id and identifier. |
| me | Identity of the PAT owner (id, email, username, name). |
TDQS
Scored across 8 tools
Each tool targets a distinct action (assign, attach, create, get, list, relate, tag, update) on tasks. There is no overlap; every verb clearly defines a different operation, making it easy for an agent to select the correct tool.
All tools follow a perfect 'task.verb' pattern using lowercase and dot separation. This consistency makes the tool surface predictable and easy to navigate.
With 8 tools, the set is well-scoped for a task management system. Each tool covers a necessary operation without redundancy or bloat.
The tools provide comprehensive coverage for task lifecycle: create, read (get/list), update, plus assignment, tagging, relating, and attachments. The only potential gap is an explicit delete, but the update tool can handle status changes and soft deletion if needed. Overall, it feels complete for the domain.