Labsco
MCP SERVER

Vent

by bnomei

Gives an agent somewhere to put a complaint: one tool that files actionable feedback to a local JSONL log or a webhook, so repeated friction gets recorded instead of buried in a transcript.

Notifications & Alerting to Humans
Summary
Feedback that survives the session.

An agent that hits the same paper cut ten times normally leaves ten sentences in ten transcripts nobody reads. This turns each of those into a line in a JSONL file or a message in the channel where you would have wanted it. Note that the event id is a trace id, not a deduplication key — nothing stops an agent venting the same issue twice.

What it is

A small Rust STDIO server. When an agent hits blocked work, a repeated failure, a missing capability or a confusing workflow, it sends a short message to a channel; the server routes that channel to its configured sinks. The crate is `vent-mcp` and the binary it installs is named `vent`.

What you get
  • `vent` — send one piece of feedback to the default channel or a named one; the reply is an acknowledgement with an event id
  • `list_channels` — list the configured channels and their descriptions
  • A tool surface that shrinks itself: with only the default channel configured, `list_channels` is hidden and `vent` accepts nothing but a message
  • Sinks per channel — a local JSONL file, a webhook, or both at once
  • Built-in webhook payload shapes for Slack, Discord, Microsoft Teams, Google Chat, Webex, Mattermost, IFTTT, Zapier, Make, n8n, Pipedream and Workato, plus a raw mode
  • The same binary works from a shell, so you can file a vent by hand
Requirements

Rust 1.88 or newer and Cargo for `cargo install vent-mcp`, or a prebuilt archive from the releases page. Any MCP client that runs a local STDIO server — `claude mcp add --transport stdio vent -- vent`. A default config is written to `~/.config/vent-mcp/config.toml` on first run with one channel and one JSONL sink; webhook sinks read their auth headers from environment variables you export before the client starts. MIT licensed.

Setup effort

One command — cargo install vent-mcp