npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@mindstone/mcp-server-outreach

v0.2.1

Published

Outreach sales engagement MCP server — prospects, sequences, accounts, tasks, and mailings via Outreach API

Readme

@mindstone/mcp-server-outreach

Outreach sales engagement MCP server — prospects, sequences, accounts, tasks, and mailings via Outreach API.

One-click install

Add to Cursor Add to VS Code Add to VS Code Insiders

After clicking the button, your host will prompt you to fill: OUTREACH_CLIENT_ID, OUTREACH_CLIENT_SECRET, OUTREACH_ACCESS_TOKEN, OUTREACH_CONFIG_DIR, OUTREACH_OAUTH_PORT.

{
  "mcpServers": {
    "Outreach": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-outreach"
      ],
      "env": {
        "OUTREACH_CLIENT_ID": "",
        "OUTREACH_CLIENT_SECRET": "",
        "OUTREACH_ACCESS_TOKEN": "",
        "OUTREACH_CONFIG_DIR": "~/.mcp/outreach",
        "OUTREACH_OAUTH_PORT": "0"
      }
    }
  }
}

Status

Installation

npx -y @mindstone/mcp-server-outreach

Configuration

OAuth Mode (Recommended)

Set these environment variables to use standalone OAuth authentication:

OUTREACH_CLIENT_ID=your_client_id
OUTREACH_CLIENT_SECRET=your_client_secret

Then call the outreach_connect_account tool to initiate the OAuth flow.

Manual Token Mode

If you have a static access token:

OUTREACH_ACCESS_TOKEN=your_access_token

Optional Settings

OUTREACH_CONFIG_DIR=~/.mcp/outreach    # Custom config directory (default: ~/.mcp/outreach)
OUTREACH_OAUTH_PORT=0                   # OAuth callback port (default: OS-assigned)
OUTREACH_OAUTH_SCOPES="prospects.all sequences.all sequenceStates.all sequenceSteps.read sequenceTemplates.read templates.read accounts.all users.read tasks.all mailings.read calls.read mailboxes.read"

The OUTREACH_OAUTH_SCOPES value above is the built-in default, which covers every tool the connector ships. If you connected an account before these scopes were added (or you override the variable), re-run outreach_connect_account so the new token picks them up.

Available Tools (22)

Account Management

  • outreach_connect_account — Connect an Outreach account via OAuth
  • outreach_list_connected_accounts — List connected accounts and auth status
  • outreach_disconnect_account — Disconnect an account and remove credentials

Prospects

  • outreach_search_prospects — Search prospects by name, email, company, tags
  • outreach_get_prospect — Get full prospect details by ID
  • outreach_create_prospect — Create a new prospect (supports custom_fields mapped to custom1..custom35)
  • outreach_update_prospect — Update an existing prospect (supports custom_fields)

Sequences

  • outreach_list_sequences — List sequences with filters
  • outreach_get_sequence — Get sequence details by ID
  • outreach_list_sequence_steps — List a sequence's steps (type, interval, order, template links)
  • outreach_get_sequence_template — Read a sequence template's email subject and body
  • outreach_add_prospect_to_sequence — Enroll a prospect in a sequence
  • outreach_remove_prospect_from_sequence — Pause or finish a prospect's enrollment

Accounts (Companies)

  • outreach_list_accounts — List company accounts
  • outreach_get_account — Get company account details by ID

Tasks

  • outreach_list_tasks — List tasks with status and prospect filters
  • outreach_create_task — Create a task (note, due date, prospect, owner)
  • outreach_complete_task — Mark a task as completed

Mailings

  • outreach_list_mailings — List sent emails with delivery status

Calls

  • outreach_list_calls — List calls with outcome, notes, and disposition link

Mailboxes

  • outreach_list_mailboxes — List connected sender mailboxes (feeds mailbox_id on enrollment)

Users

  • outreach_list_users — List Outreach team members

Auth Modes

The connector supports four authentication modes, detected once at startup:

| Mode | Detection | Description | |------|-----------|-------------| | bridge | MCP_HOST_BRIDGE_STATE set | Host app manages OAuth | | standalone_oauth | OUTREACH_CLIENT_ID + OUTREACH_CLIENT_SECRET set | Local OAuth with browser redirect | | manual_token | OUTREACH_ACCESS_TOKEN set | Static access token | | unconfigured | No auth env vars | Tools return setup guidance |

Precedence: bridge > standalone_oauth > manual_token > unconfigured

Input & State Semantics

  • Resource IDs must be numeric. Every tool parameter that takes an Outreach resource ID (id, prospect_id, sequence_id, account_id, mailbox_id, user_id, owner_id) accepts digits only (/^\d+$/). Non-numeric values are rejected with VALIDATION_ERROR before any API request is made — Outreach IDs are always numeric, so anything else indicates a bad value rather than a real lookup.
  • outreach_remove_prospect_from_sequence acts on the live enrollment. A prospect that was enrolled, finished, and re-enrolled has several sequence-state records; the tool filters to the non-finished ("live") one instead of acting on the first record returned. If more than one live state exists for the prospect+sequence pair the tool fails closed with AMBIGUOUS_STATE (no record is modified); if every state is finished it returns NOT_FOUND.

Untrusted Content Handling

All user-authored text returned by the Outreach API (names, emails, mailing subjects, template bodies, task notes, tags, custom fields) is wrapped in <untrusted-content source="..."> envelopes so MCP hosts and models treat third-party CRM content as data, not instructions. Vendor-generated structure (IDs, timestamps, lifecycle states) is returned raw. Vendor error text (API error details, non-JSON error bodies, and OAuth token-exchange failures) is truncated to 500 characters and enveloped the same way (source="outreach:api-error") before it appears in error messages.

License

FSL-1.1-MIT