Skip to main content
Glama
uvaresearch
by uvaresearch

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DEBUGNoWhen set (any value), emits verbose HTTP and session logs to stderr.
WRAPPER_PATYesPersonal access token, wrapper_<32 alnum>. Must come from env, not CLI flag.
WRAPPER_BASE_URLYesBrowser sign-in URL of your QMS Wrapper instance. HTTPS only; plain HTTP allowed only for loopback or *.local.
WRAPPER_CACHE_DIRNoScratch dir, created with mode 0700.~/.cache/wrapper-mcp
WRAPPER_UPLOAD_DIRNoAbsolute path. task.attach will only read files inside this directory. Default-deny when unset.
WRAPPER_UPLOAD_MAX_BYTESNoPer-file upload size cap.52428800 (50 MB)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "subscribe": false,
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription
qms-plateSummarize my open tasks grouped by priority.
qms-summaryRead a task plus attachments and produce a user-language summary.
qms-startFlip a task to in-progress in one atomic update.
qms-finishClose out a task with status=resolved + a one-paragraph comment in a single update.
qms-fileGather, preview, approve, hash, and create — the R9 flow for task.create.

Resources

Contextual data attached and managed by the client

NameDescription
lookups.statusesAll issue statuses (id, name, identifier, closed flag).
lookups.prioritiesAll issue priorities (id, name).
lookups.trackersAll trackers (bug, task, etc.) with id and identifier.
meIdentity of the PAT owner (id, email, username, name).

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/uvaresearch/qmswrapper-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server