Install
$ agentstack add mcp-kiruna-labs-userdispatch-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
UserDispatch
Add a feedback widget to any web app in one command. Your AI coding agent triages feedback, drafts PRs, and responds to users — via MCP.
Quick start
npx userdispatch init
One command does everything:
- Installs a feedback widget in your app (auto-detects framework)
- Creates your org & app on userdispatch.com
- Configures your AI coding agent with the MCP server
- Sends a test submission to verify the full loop
Requires Node.js 18+. Full CLI reference: userdispatch.com/docs/cli
How it works
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐ ┌──────────────┐
│ 1. User │────▶│ 2. Agent reads │────▶│ 3. Agent drafts │────▶│ 4. Weekly │
│ submits │ │ via MCP │ │ PRs, replies, │ │ digest │
│ feedback │ │ │ │ triage │ │ summary │
└─────────────┘ └──────────────────┘ └─────────────────┘ └──────────────┘
- User submits feedback — the widget captures feedback, bug reports, or questions with browser metadata and file attachments
- Agent reads via MCP — your coding agent pulls new submissions using the
list_submissionsandget_submissiontools - Agent proposes — triages issues, updates statuses, sends replies via email, and opens PRs informed by feedback patterns
- Weekly digest — the
weekly-digestprompt generates a 7-day summary of submissions, trends, and actions taken
Framework support
The CLI auto-detects your framework and injects the widget into the right file.
| Framework | Auto-detect | Widget injection | |-----------|:-----------:|------------------| | Next.js (App Router) | Yes | ` in app/layout.tsx | | Next.js (Pages Router) | Yes | in pages/_document.tsx | | Vite | Yes | in index.html | | Create React App | Yes | in public/index.html | | Nuxt | Yes | Manual (nuxt.config.ts shown) | | SvelteKit | Yes | in src/app.html | | Astro | Yes | Manual (instructions shown) | | Static HTML | Yes | in index.html` |
Override with --framework . Full guide: userdispatch.com/docs/widget
MCP server
UserDispatch hosts the MCP server at https://userdispatch.com/api/mcp. The CLI configures this automatically — or add it manually:
// .mcp.json (Claude Code, Cursor)
{
"mcpServers": {
"userdispatch": {
"url": "https://userdispatch.com/api/mcp",
"headers": {
"Authorization": "Bearer ${USERDISPATCH_TOKEN}"
}
}
}
}
Agent compatibility
| Agent | Config file | Auto-configured | |-------|-------------|:---------------:| | Claude Code | .mcp.json | Yes | | Cursor | .cursor/mcp.json | Yes | | Windsurf | ~/.codeium/windsurf/mcp_config.json | Yes | | VS Code Copilot | .vscode/mcp.json | Yes | | Codex | .codex/config.toml | Yes | | Claude Desktop | claude_desktop_config.json | Yes |
Tools (17)
| Tool | Description | |------|-------------| | list_submissions | List submissions with filters (app, type, status, date, search) | | get_submission | Get full submission details with attachments and replies | | update_submission | Update submission status | | reply_to_submission | Send a reply via email or dashboard | | delete_submission | Permanently delete a submission | | list_apps | List all registered apps | | create_app | Create a new app | | update_app | Update app settings | | delete_app | Delete an app and all its submissions | | rotate_app_key | Rotate an app's API key | | get_stats | Get submission statistics | | get_org | Get organization details | | update_org | Update organization settings | | list_members | List all organization members | | invite_member | Invite a new member | | update_member | Update member settings or role | | remove_member | Remove a member |
Plus 5 resources and 2 prompts (triage-submissions, weekly-digest). Full MCP reference: userdispatch.com/docs/mcp
Widget customization
| Attribute | Required | Default | Description | |-----------|:--------:|---------|-------------| | data-api-key | Yes | — | Your app's API key (starts with pk_) | | data-position | No | "br" | Trigger button position: "br", "bl", "tr", "tl" | | data-trigger-label | No | "Feedback" | Text on the trigger button | | data-collect-email | No | "true" | Show email field. Set to "false" to hide. | | data-collect-name | No | "false" | Show name field. Set to "true" to enable. | | data-enable-logs | No | "false" | Enable console log collector. Requires app-level setting. | | data-api-url | No | Auto-detected | Override the API base URL. |
The widget renders in a Shadow DOM for full style isolation. Under 30KB gzipped. Full reference: userdispatch.com/docs/widget
CLI reference
npx userdispatch init [flags]
| Flag | Description | |------|-------------| | --token | Skip browser auth and use this ud_ token directly. Auto-promotes to CI mode in non-TTY environments. | | --org | Organization name (skips prompt). | | --app | App name (skips prompt). Slug is auto-generated. | | --framework | Override framework detection. Values: next-app, next-pages, vite, cra, nuxt, sveltekit, astro, static. | | --agent | Override agent detection. Values: claude-code, cursor, windsurf, claude-desktop, vscode. | | --ci | Non-interactive mode. Skips all prompts, uses defaults or flag values. |
Full CLI docs: userdispatch.com/docs/cli
Security
UserDispatch is built with security at every layer — nonce-based CSP, SHA-256 hashed API tokens, PostgreSQL-backed rate limiting, Zod input validation, parameterized SQL, and constant-time token comparison. File uploads are validated by MIME type and magic bytes.
Full security architecture: userdispatch.com/docs/security
To report a vulnerability, email [security@kiruna.ai](mailto:security@kiruna.ai). Please do not open public issues for security reports.
Pricing
Every tier includes the full MCP server, all 17 tools, and the feedback widget.
| | Free | Pro | Team | Enterprise | |---|:---:|:---:|:---:|:---:| | Price | $0 forever | $9/mo | $49/mo | Custom | | Submissions/mo | 100 | 250 | 2,500 | Unlimited | | Users | 1 | 1 | 5 | Unlimited | | Apps | 2 | 10 | Unlimited | Unlimited | | Data retention | 3 months | Unlimited | Unlimited | Unlimited | | MCP server & 17 tools | Yes | Yes | Yes | Yes | | Widget | Yes | Yes | Yes | Yes | | Agent-sent emails | Yes | Yes | Yes | Yes | | Log capture | Yes | Yes | Yes | Yes | | Custom branding | — | Yes | Yes | Yes | | Team roles | — | — | Yes | Yes | | SSO | — | — | — | Yes |
Links
License
[MIT](./LICENSE) — Kiruna Labs
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: kiruna-labs
- Source: kiruna-labs/userdispatch-mcp
- License: MIT
- Homepage: https://userdispatch.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.