mcpField
R
Riveter

Riveter

Remote
docs.riveterhq.comBrowser Automation0Updated today

About Riveter

Riveter MCP Server connects AI assistants to the Riveter API for enrichment, dataset building, web scraping, and monitoring. It generates tools from Riveter's OpenAPI spec, with hosted and local options that keep tool definitions aligned with the API.

Key features

  1. 01Run enrichment operations
  2. 02Build datasets
  3. 03Scrape webpages
  4. 04Manage monitors
  5. 05Generate tools from OpenAPI

Use cases

  1. 01Enrich records from an assistant
  2. 02Build a dataset through the API
  3. 03Scrape webpages for research
  4. 04Manage monitoring tasks

MCP support

Provides Riveter API tools over hosted Streamable HTTP or local stdio. The hosted server supports browser-based authentication or bearer keys; tool definitions are generated from the OpenAPI spec, which the hosted service refreshes every 10 minutes.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.riveterhq.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://mcp.riveterhq.com/mcpAuth required
Packages
npmriveter-mcp-server0.3.5

Tools

Details

From the project README

Riveter MCP Server

An MCP (Model Context Protocol) server that connects AI assistants like Claude and Cursor to the Riveter API. Run enrichments, build datasets, scrape webpages, manage monitors, and more — directly from your assistant.

Tools are generated dynamically from Riveter's OpenAPI spec, so they stay up to date automatically.

Two ways to connect:

  • Hosted — https://mcp.riveterhq.com/mcp. Nothing to install. Works from claude.ai, Claude Desktop, Cowork, Claude mobile, ChatGPT, Claude Code, and Cursor.
  • Local (npx) — this npm package, run on your machine over stdio. Use it when your client cannot reach remote servers.

Setup

1a. Hosted server (no API key needed up front)

Add https://mcp.riveterhq.com/mcp as a custom connector and click Connect. A browser window opens on Riveter: sign in and click Allow. Riveter creates an API key for that connection; it is listed in Settings → API keys, and revoking it disconnects the client.

Claude Code:

claude mcp add --transport http riveter https://mcp.riveterhq.com/mcp

Then run /mcp and choose Authenticate.

Cursor:

{
  "mcpServers": {
    "riveter": {
      "url": "https://mcp.riveterhq.com/mcp"
    }
  }
}

If the client cannot open a browser, pass a key as a header instead: Authorization: Bearer sk_riv_your_key_here (Claude Code --header "Authorization: Bearer sk_riv_...", Cursor "headers": { "Authorization": "Bearer sk_riv_..." }).

1b. Local server (npx)

Get a Riveter API key at app.riveterhq.com/settings/api.

Claude Desktop — open the config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the Riveter server:

{
  "mcpServers": {
    "riveter": {
      "command": "npx",
      "args": ["-y", "--prefer-online", "riveter-mcp-server@latest"],
      "env": {
        "RIVETER_API_KEY": "sk_riv_your_key_here"
      }
    }
  }
}

Cursor / Windsurf — add the same riveter entry to your MCP config (e.g. ~/.cursor/mcp.json).

Claude Code:

claude mcp add riveter --env RIVETER_API_KEY=sk_riv_your_key_here -- npx -y riveter-mcp-server

Codex:

codex mcp add riveter --env RIVETER_API_KEY=sk_riv_your_key_here -- npx -y riveter-mcp-server

Keeping the tools current: the local server loads the API definition once, when your client starts it, and keeps that process running. After Riveter ships an API change, restart your AI client (or the MCP server from its settings page) to load the new tools. --prefer-online riveter-mcp-server@latest makes the same restart also pick up new server versions. The hosted server needs no restart; it reloads the API definition every 10 minutes.

Environment variables

Local (stdio) server — dist/index.js:

VariableRequiredDefaultDescription
RIVETER_API_KEYYes—Your Riveter API key
RIVETER_API_BASE_URLNohttps://api.riveterhq.com/v1API base URL
RIVETER_OPENAPI_URLNohttps://docs.riveterhq.com/openapi.yamlOpenAPI spec URL. https://docs.riveterhq.com/openapi.legacy.yaml serves the legacy generation instead (verb endpoints, legacy enrichments, the retired list-build operations)

Hosted (Streamable HTTP) server — dist/http.js, deployed by Riveter:

VariableDefaultDescription
PORT8080Listen port
MCP_PUBLIC_URLhttps://mcp.riveterhq.com/mcpPublic URL, exactly as users enter it (RFC 9728 resource)
OAUTH_ISSUER_URLhttps://app.riveterhq.comAuthorization server advertised in the protected resource metadata
SPEC_REFRESH_INTERVAL_MS600000How often the spec is re-fetched; 0 disables
RIVETER_API_BASE_URL, RIVETER_OPENAPI_URLas above

The hosted server holds no API key. It forwards the caller's Authorization: Bearer ... header to the API on every call and answers 401 with a WWW-Authenticate challenge when the header is missing.

How it works

On startup, the server:

  1. Fetches the OpenAPI spec from docs.riveterhq.com/openapi.yaml
  2. Parses each endpoint into an MCP tool with typed parameters and annotations (readOnlyHint from GET, destructiveHint from DELETE or the spec's x-mcp-destructive, openWorldHint from the spec's x-mcp-open-world)
  3. Uses the spec's info.x-mcp-instructions as the short server-level instructions (the long API overview stays on the docs site); an operation's x-mcp-description replaces its description for the tool when set
  4. Adds one help tool whose topics (column config, formats, tools, run_when, examples, credits, limits, errors, ...) come from the spec's info.x-mcp-help — long guidance is loaded only when the assistant asks for it
  5. Serves the tools over stdio (local) or Streamable HTTP (hosted)

When the API docs are updated, the local server picks up the changes the next time your assistant launches, and the hosted server re-fetches the spec every 10 minutes — no rebuild or republish needed.

Development

Source: github.com/riveterhq/riveter-mcp. Issues welcome there.

npm install
npm test          # build + unit + stdio e2e + http e2e
npm run dev:http  # hosted server on :8080 (set MCP_PUBLIC_URL=http://localhost:8080/mcp)

This repository is a read-only mirror of the mcp-server/ directory of Riveter's private monorepo, where development happens. The spec-contract tests need the monorepo's openapi.yaml, so they skip here. Releases are described in PUBLISHING.md.

Support

Questions or issues? See the Riveter API docs or contact [email protected].

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.