Vruum

ai.vruumPublished by vruum.aiOfficial publisherv0.15.1Updated Nov 7, 2026

Vruum AI revenue platform — outbound, deals, pipeline & CRM automation over one MCP.

Overview

AI-generated overview

Official MCP access to Vruum, an AI revenue platform, letting an assistant research prospects, run outreach, manage deals and read revenue data.

What you can do
  • Get daily briefings, next actions and at-risk pipeline reviews
  • Search, research prospects, import prospects and find warm introduction paths
  • Read and manage people, accounts, network identity and knowledge base
  • Inspect objectives, review and manage outreach messages, engagements and content
  • Read and manage deals, revenue records and performance metrics
  • Manage settings, workspaces, history imports and chat with the Vruum assistant
When to use it
Useful for sales and go-to-market teams that already run Vruum and want an assistant to draft outreach, triage replies, track objectives and deals, and surface pipeline risk from inside their MCP client.
Requirements
Node 20+ for the local stdio bridge, or a remote connection to the hosted endpoint with OAuth 2.1. A Vruum account and a personal access token (vk_live_...) supplied via VRUUM_MCP_TOKEN or the Authorization header, or credentials from a prior Vruum CLI login. Network access to the Vruum API.
Before you install
Tools can send outreach, publish content and spend provider credits or LinkedIn budget; some writes buy provider work or have external effects. The bridge falls back to ambient credentials in the Vruum config directory, so running it while logged in acts on your real account and write tools really write. Failed calls are never retried automatically because a retry could double-send. The token is sent as a Bearer header to the Vruum API.

Installation

In SourceWeft

  1. Open Vruum in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ai.vruum%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "vruum": {
      "type": "http",
      "url": "https://api.vruum.ai/mcp"
    }
  }
}

README

Vruum MCP (@vruum/mcp)

[npm] [license] [registry]

Official MCP access to Vruum, the AI revenue platform. Give your agent the whole revenue motion — research prospects, build pipeline, run email and LinkedIn outreach, triage replies, manage deals through close, and read Stripe-backed revenue truth — through 35 compound tools rather than a sprawl of endpoints. Outreach runs inside objectives: a goal, the people it targets, and the policy for reaching them.

This package is a stdio bridge: it serves the tool surface locally (no credentials needed to introspect) and proxies execution to https://api.vruum.ai/mcp under your token. Every call is authorized server-side — the bridge grants no authority your Vruum account doesn't already have.

[!TIP] Using a client that supports remote MCP? Connect directly instead. Claude Code, Claude Desktop, Cursor, Codex and friends should point straight at https://api.vruum.ai/mcp (OAuth 2.1). Fewer moving parts and no token in an env var. This bridge exists for stdio-only clients and for credential-free tool introspection. See vruum.ai/docs/mcp.

Quickstart

You need Node 20+ and a Vruum account. Create a personal access token in the web app under Settings → API tokens (vk_live_…).

Claude Desktop / Claude Code — claude_desktop_config.json or .mcp.json
json
{  "mcpServers": {    "vruum": {      "command": "npx",      "args": ["-y", "@vruum/mcp"],      "env": { "VRUUM_MCP_TOKEN": "vk_live_…" }    }  }}
Cursor — ~/.cursor/mcp.json
json
{  "mcpServers": {    "vruum": {      "command": "npx",      "args": ["-y", "@vruum/mcp"],      "env": { "VRUUM_MCP_TOKEN": "vk_live_…" }    }  }}
Codex CLI — ~/.codex/config.toml
toml
[mcp_servers.vruum]command = "npx"args = ["-y", "@vruum/mcp"]env = { VRUUM_MCP_TOKEN = "vk_live_…" }
Already use the Vruum CLI? — no token needed here
sh
npx @vruum/cli login --token vk_live_…

The CLI needs Node 22+. Credentials land in ~/.vruum/credentials and the bridge picks them up automatically — omit the env block entirely.

Verify it works without configuring anything:

sh
npx -y @modelcontextprotocol/inspector --cli npx -y @vruum/mcp --method tools/list

Reliability diagnostics

The bridge records content-free operational metadata: generated attempt IDs, the declared client family (Claude/Codex/ChatGPT/unknown), known tool name, start/outcome, timestamp and duration. It never records tool arguments, results, credentials, raw error text or conversations. The private outbox is under ~/.vruum/mcp-diagnostics/ (or VRUUM_CONFIG_DIR), separated by endpoint.

Records survive bridge restarts and upload to that same endpoint's authenticated /diagnostics route after connectivity returns. Only a durable acknowledgement removes them. A restored connection drains the backlog in bounded batches. Transient failures retry once per minute while the bridge is alive; authentication or unsupported-endpoint responses wait for subsequent activity/startup. Uploads never follow redirects or transmit credentials over non-local HTTP. The queue retains at most 500 records per endpoint and reports overflow; disk failures print a coverage warning on stderr. Stdout remains MCP JSON-RPC.

Missing-token, connection, protocol, cancellation, invalid-cursor and call failures are observable when the bridge runs. An offline machine cannot deliver reports until it reconnects, and an old installed package has none of these diagnostics. A bridge success means it received the remote result, not that the host used it correctly. Business calls are never automatically replayed after an ambiguous failure. Server and bridge evidence correlate by attempt ID.

What you can ask for

Once connected, these are ordinary requests to your agent:

You sayWhat happens
"What should I work on today?"get_daily_briefing — pending approvals, new replies, stalled deals, warm paths, one recommended next action
"Review my outreach drafts"get_outreach_review → you approve, edit, or reject each one
"Research Acme Corp and tell me if they fit"research — website, funding, careers signals, ICP match with reasoning
"Find a warm intro to this person"find_warm_path — separates verified paths from unverified connector candidates
"Which objectives are actually working?"get_objective_outcomes — contacted, replied, and meetings booked, compared across objectives
"What's at risk in my pipeline?"inspect_pipeline — the 5 most at-risk deals, risk-first
"Draft a LinkedIn post about X"manage_content — your agent writes it, you approve, Vruum schedules and publishes

Your harness authors outreach copy, replies, LinkedIn posts, and comments through their review surfaces. It can also chat with Vruum through manage_assistant (start_conversation, append_message): the same chat as the app's floating panel, which reads your records and applies reversible record changes with Undo. The chat does not draft or send messages.

Tool surface

35 compound tools. Read operations inspect saved data; write operations mutate it. Some writes buy provider work or produce external effects. Each tool describes its own authorization and retry contract.

AreaTools
Daily operatingget_daily_briefing · get_next_actions · inspect_pipeline
Search & researchsearch · fetch · research · research_lookup · import_prospects · find_warm_path
Peopleget_person_360 · manage_person
Relationship identityget_network_identity_review · manage_network_identity_resolution
Objectives & outreachinspect_objective · get_outreach_review · manage_messages · manage_outreach · manage_relationship_action
Engagement & contentget_engagement_review · manage_engagements · get_content_review · manage_content
Performanceget_objective_outcomes · get_performance_metrics
Dealsget_deal_360 · manage_deal
Revenueget_revenue · manage_revenue
Accounts & knowledgemanage_account · manage_kb
Imports & assistantmanage_history_import · manage_assistant
Workspaces, config & skillsget_operator_companies · manage_settings · skill

manage_outreach also creates, configures, launches, and pauses objectives; inspect_objective reads an objective's setup, audience, forecast, and sourcing plan. No tool mixes reads with writes: research_lookup holds the external lookups (work email, LinkedIn profile, company website, careers page, LinkedIn people search), which can spend provider credits or LinkedIn budget. get_operator_companies lists the workspaces your login can act in; it is not limited to Vruum staff.

Full schemas, descriptions and MCP safety annotations live in tools.json — generated from the live server definition, never hand-edited.

The current package also carries the retained-email decision instructions in manage_messages. A saved email uses its displayed Action version, proposal revision, and fingerprint. Approval is not a delivery receipt; changed content requires new work.

Chat with Vruum through manage_assistant. start_conversation takes payload={request_id, message, context?} and waits up to 50 seconds for the answer; append_message takes id=<chat UUID> and the same payload. The result names the chat, the turn's state, the question, the answer, changes (each record change the chat applied, with its Undo state) and cards. A turn still running after 50 seconds returns running; read the chat later with inspect_assistant action=read id=<chat UUID>. Actions Undo cannot reverse, and actions that reach a customer or spend, come back as a card with the exact call, and the turn returns awaiting_approval. manage_assistant action=decide_card id=<item UUID> payload={decision: approved|declined} decides one, only with the user's own answer: approved runs that exact call once under your credentials, declined never runs it; it waits up to 50 seconds for the turn. manage_assistant action=undo id=<item UUID> runs a change's exact inverse and is refused when the record was edited since; action=rate id=<message UUID> rates an answer. Keep the same request_id on a retry after an uncertain response: the server runs each request once.

Configuration

Env varMeaningDefault
VRUUM_MCP_TOKENVruum personal access tokenfalls back to VRUUM_TOKEN, then ~/.vruum/credentials
VRUUM_MCP_URLHosted MCP endpointhttps://api.vruum.ai/mcp
VRUUM_MCP_TIMEOUT_MSPer-call timeout — research and imports run long300000
VRUUM_CONFIG_DIRCredentials directory~/.vruum

How it works

your agent  ──stdio/JSON-RPC──▶  @vruum/mcp                                     │                    tools/list ──────┤  served locally from tools.json                                     │  (no network, no credentials)                                     │                    tools/call ──────┴──HTTPS+Bearer──▶  api.vruum.ai/mcp                                                          (authorized server-side)

Listings are a static snapshot bundled at release. That's what makes credential-free introspection possible, and it means a newly added tool won't appear until the next release — calls still execute correctly, since they proxy through. In the monorepo, a snapshot test fails any change that lets tools.json drift from the server definition, so a release never ships a stale listing.

Safety and credentials

  • Server-side authorization. The bridge adds no permissions. Your token is exactly your Vruum account, and role/tenant checks happen on the server.
  • No automatic retries. A failed tools/call is never replayed. Many of these tools send outreach or spend money, and an ambiguous failure may mean the server already executed — a silent retry could double-send. The connection is discarded, the error says so, and your agent decides whether re-running is safe.
  • Your token never leaves your machine except as a Bearer header to api.vruum.ai.

[!WARNING] The bridge picks up ambient credentials. With no VRUUM_MCP_TOKEN set it falls back to ~/.vruum/credentials. If you are logged in with the Vruum CLI, then running this server — via the MCP Inspector, a client, or a script — executes against your real account and real data. Write tools will really write.

To poke at it with no credentials, pass an explicit env that reaches the process:

sh
env -i PATH="$PATH" HOME=/tmp/empty node dist/index.js

Note that MCP clients following the SDK default only forward an allowlist (HOME, PATH, SHELL, TERM, USER, LOGNAME) to spawned servers — so setting VRUUM_CONFIG_DIR in your shell may be stripped before it reaches the bridge, while HOME survives and the credentials file is found anyway. Set credentials in the client's own env block instead.

Development

This repo is a build artifact of the Vruum monorepo, resynced automatically on release. tools.json is generated from the server definition, and a snapshot test in the monorepo fails when the two differ. Between releases, the hosted server can be ahead of this snapshot.

src/index.ts   the bridge — token resolution, static listings, proxied callstools.json     generated tool surface (do not edit by hand)test/          black-box tests: spawn the built binary, speak raw JSON-RPC
sh
npm installnpm test        # builds, then runs the black-box suitenpm run typecheck

Tests drive the built binary over stdin/stdout and assert at the wire level rather than through an SDK client — an SDK-mediated test hides protocol mistakes, since it will happily hand back a result object whether the server returned result or error. They cover the initialize handshake (including negotiation down to older clients on earlier spec revisions), credential-free listing, protocol-vs-execution error semantics, cursor rejection, capability declaration, and stdout hygiene.

Issues and PRs are welcome here. Maintainers apply accepted changes upstream in the monorepo and they flow back on the next sync — so a merged fix here may appear as part of a sync commit rather than your original one. Changes to tools.json must come from the generator, not by hand.

Links

Vruum · MCP docs · Getting started · CLI reference

Registry entry ai.vruum/mcp · Claude & Codex plugin vruum-gtm/skills

License

MIT

Source: README.md at commit d550802

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

9
  1. v0.15.1LatestNov 7, 2026
  2. v0.14.0Oct 9, 2026
  3. v0.12.3Oct 8, 2026
  4. v0.11.0Oct 6, 2026
  5. v0.9.0Oct 5, 2026
  6. v0.7.1Oct 5, 2026
  7. v0.7.0Oct 3, 2026
  8. v0.6.0Sep 23, 2026
  9. v0.4.0Sep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts