Skip to main content

Heron Intelligence MCP

Connect Heron Intelligence — curated earnings call transcripts, management interviews, and a guided custom-research intake flow — directly to Claude or any Model Context Protocol-compatible AI client.

Highlights

  • Remote HTTPS transport — one URL, zero install for browser clients.
  • OAuth 2.1 — Dynamic Client Registration (RFC 7591) with PKCE S256.
  • Subsidiary & legacy-name resolution — search by ticker, name, or description; the server auto-maps spinoffs and rebrands to their current parent so coverage is never missed.
  • MCP tool annotations — read-only tools auto-approve in supporting clients; write tools always require explicit user confirmation.

Server

https://mcp.heron-intelligence.com/mcp

The repo ships a Claude Code Skill in skills/heron-intelligence/ that primes the model to use these tools automatically — without the user having to type "use Heron MCP to…". It also encodes formatting rules and the canonical provenance handling: Blue Heron (human-conducted), Heron AI (AI-conducted), and licensed third-party feeds such as Paragon — each named explicitly so the origin of every transcript stays visible to the user.

Install once per machine (org-wide):

cp -r skills/heron-intelligence ~/.claude/skills/

Restart Claude Code; verify with /list-skills. See skills/heron-intelligence/INSTALL.md for project-level install and team distribution.

Quickstart

  1. Open Claude.ai → Settings → Connectors.
  2. Click Add custom connector.
  3. Enter the server URL above.
  4. Click Authorize and sign in to Heron Intelligence.
  5. Approve the requested scopes (mcp:read, mcp:write).
  6. Start a new chat and ask Claude to use Heron Intelligence.

Claude Desktop

Add to ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "heron": {
      "command": "uvx",
      "args": ["--from", "HeronIntelligence-mcp", "heronintelligence-mcp"],
      "env": { "HERON_API_KEY": "hk-xxxx" }
    }
  }
}

Restart Claude Desktop.

Claude Code

claude mcp add heron \
  --command uvx \
  --args "--from HeronIntelligence-mcp heronintelligence-mcp" \
  -e HERON_API_KEY=hk-xxxx \
  -s user

Cursor / Windsurf

{
  "mcpServers": {
    "heron": {
      "command": "uvx",
      "args": ["--from", "HeronIntelligence-mcp", "heronintelligence-mcp"],
      "env": { "HERON_API_KEY": "hk-xxxx" }
    }
  }
}

Authentication

The remote MCP server uses OAuth 2.1 with PKCE (S256) and Dynamic Client Registration (RFC 7591). Connecting from Claude.ai:

  1. Claude registers itself silently as an OAuth client.
  2. You land on a Heron Intelligence consent page that names the application requesting access and asks for the Client ID and Client Secret issued to your seat. Get them from your account dashboard, or from your Heron administrator.
  3. After consent, Claude receives a short-lived access token plus a refresh token. The refresh token is single-use and rotates on every refresh.
  4. The server advertises the scopes mcp:read and mcp:write, and Claude requests both. Access to a given tool is decided by your own entitlements on the Heron Intelligence account behind the token.

For local stdio mode (Claude Desktop / Claude Code / Cursor / Windsurf), authenticate with a static API key via HERON_API_KEY. Request a key from your Heron Intelligence account dashboard.

Available tools

Read-only — research

Tool Purpose
whoami Returns the email of the user authenticated on the current MCP session.
search_company Resolves a ticker, name, or description to a Heron Intelligence company id; auto-resolves subsidiaries and legacy names. Accepts a list of queries too, routed to the same batch path as search_companies, so resolving many names never needs a loop.
search_companies Resolves MANY tickers/names/descriptions to company ids in one call; returns a deduped resolved_ids array. Preferred first step for watchlists, peer sets, or "compare X, Y, Z".
search_people Semantic search over interviewed people (executives, channel contacts, former employees). Scope to one company with company_id, or to specific sources with data_provider_names; each person carries their provider attribution.
get_company_overview Returns transcript counts, date coverage, and breakdown of available coverage for a company. Dates are reported twice: earliest_call_date/latest_call_date (when the calls took place) and earliest_post_date/latest_post_date (when the transcripts were posted). earliest_date/latest_date are kept as call-date aliases.
get_companies_overview Coverage overview for many company ids in one call — batch coverage audit across a watchlist/peer set. Each entry carries the same call-date and post-date pairs.
get_recent_transcripts Lists transcript metadata with pagination and filters (due-diligence type, sentiment, call quality, free text). Each item carries call_date and post_date. Sort by either one (sort_by, sort_order), or filter by exact ranges (call_date_from/call_date_to, post_date_from/post_date_to, YYYY-MM-DD, inclusive), which replace the quarters window and are never widened. See Call date vs post date. An empty page carries a coverage block: whether the window was widened for you, or that no coverage exists at all — with a next_step toward commissioned research when it does not.
list_data_providers Lists the exact data_provider_names values the transcript and people tools accept, with how each source is produced. No backend call, no quota — call it instead of guessing a source name.
get_transcript_content Returns transcript content, including its call_date and post_date, with optional payload selectors (summary_only, limit_qa, max_qa_answer_chars, qa_ids) to trim the response before the caller reads it.
get_project_status Returns the current step, completed fields, and last artifact for a research project.

Read-only — watchlists

Tool Purpose
list_watchlists Lists every watchlist the user can see (own, firm-level, shared).
get_watchlist Returns the companies in a watchlist, looked up by exact name (case-insensitive).

Read-only — alerts (saved monitoring rules)

Tool Purpose
list_alerts Lists every alert the user can see (own + firm-shared + team-shared) with visibility and is_owner flags.
get_recent_alerts Returns alert firings across all visible alerts in the last N days (default 7, max 90).
get_alert_history Returns the firing history of a single alert, most recent first.
list_analysis_categories Lists the catalog categories valid for type=analysis alerts.
list_report_templates Lists the report templates available to the user (user-own + system).

Write — custom research projects

Tool Purpose
start_research_project Creates a new research project record.
define_research_brief Step 1 — refines the Research Brief artifact one user turn at a time.
prepopulate_research_configuration Step 1 → Step 2 helper that pre-fills configuration fields from the brief.
configure_research_project Step 2 — fills the project's canonical configuration fields.
generate_research_questions Step 3 — generates and curates the project's topics and questions.
submit_research_project Step 4 — submits the project to a Heron Intelligence representative.

Write — watchlists

Tool Purpose
create_watchlist Creates a new watchlist, optionally pre-populated with tickers or company names.
rename_watchlist Renames an existing watchlist.
add_to_watchlist Adds companies (by ticker or name) to an existing watchlist.
remove_from_watchlist Removes companies from a watchlist.
delete_watchlist Permanently deletes a watchlist (requires confirm=true).

Write — alerts

Tool Purpose
create_alert Creates a new alert (notification / report / analysis) with cadence- or threshold-based triggering.
update_alert Partially updates an alert, including rename and scope replacement.
pause_alert Pauses an active alert (stops firing without losing config).
resume_alert Resumes a paused alert.
delete_alert Soft-deletes an alert (requires confirm=true).

The alert tools were called drops before the Portal renamed the module. Only the alert names are listed in tools/list; a call that still uses an old name (list_drops, create_drop, ...) is served by the alert tool and its response carries renamed_to with the name to use.

Access by plan

Heron Events Platinum firms (firm_type = he_premium) do not get the Research Projects or Evasion tools: they are left out of tools/list and a call by name returns {"error": "tool_not_in_plan", ...}. The caller's tier comes from the API's GET /api/v1/auth/caller; when it cannot be read, nothing is restricted.

Call date vs post date

Every transcript has two dates, and they can be months apart: due-diligence interviews are often posted well after the call.

Date Meaning Use it for
call_date When the call or interview took place. "Calls from Q3", "what management said in March". This is the default sort and the date the quarters window applies to.
post_date When the transcript was published on Heron Intelligence (the portal's Post Date). "What's new", "latest posted", "published since last week".

get_recent_transcripts options:

  • sort_by (call_date or post_date) and sort_order (desc or asc). When no range is given, the quarters window applies to the sort_by date. So sort_by="post_date", quarters=2 returns what was posted in the last six months, newest first.
  • Explicit ranges (YYYY-MM-DD, inclusive, either end optional). call_date_from/call_date_to and post_date_from/post_date_to replace the quarters window. Ranges on both dates combine with AND. An empty result is reported as such (coverage.date_range_applied: true) and the range is never widened.
  • applied_constraints echoes window_field, sort_by, sort_order and any ranges, so the answer can state which date it is describing.

sort_by and sort_order order the browsing path. A free-text query is ranked by relevance and ignores them.

Example prompts

"How much research coverage does Heron Intelligence have on Amazon?"

"Find Heron Intelligence's research coverage for Facebook and show me what's available under their current corporate entity."

"Show me only the management due diligence transcripts available for Amazon from the last two quarters."

"What Heron Intelligence transcripts on Netflix were posted in the last two months, newest first?"

"Set up a weekly digest of new Energy-sector transcripts that mention margin compression."

"What alerts do I have set up? Show me the ones that fired this week."

"Add MSFT and NVDA to my Tech watchlist, then create an analysis alert on that watchlist using the Executive Assessment category."

Documentation

Full documentation: https://docs.heron-intelligence.com/overview/mcp

Privacy Policy

https://www.heron-intelligence.com/privacy-policy

The policy covers what is collected, how it is used and stored, third-party sharing, retention, and who to contact. What this MCP server itself handles:

  • Identity. OAuth resolves the connecting user to their Heron Intelligence account; whoami returns that email. No other profile data is read.
  • Tool arguments and results. Queries are forwarded to Heron Intelligence's own first-party API and the response is returned to the client. Nothing is proxied to a third party.
  • Operational records. One structured access line per request (method, path, status, latency, request id, and the resolved account), with the credential redacted out of the path before the line is written. Each tool call also records a usage event to Heron Intelligence's own backend — tool name, the arguments it was called with, a short summary of the result, status and duration — used for quota enforcement and support.
  • Not collected. Conversation content, chat history, memory, or user files. The server reads only the arguments a tool is called with.

Support

License

Released under the Apache License 2.0 — see LICENSE. Use of the hosted Heron Intelligence service requires an active account.

Metadata

Release files for HeronIntelligence-mcp 1.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for HeronIntelligence-mcp 1.12.0
File Size Uploaded Provenance Actions
heronintelligence_mcp-1.12.0.tar.gz 200.6 kB Without provenance Details for heronintelligence_mcp-1.12.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for HeronIntelligence-mcp 1.12.0
File Interpreter ABI Platform Actions
heronintelligence_mcp-1.12.0-py3-none-any.whl Python 3 none any Details for heronintelligence_mcp-1.12.0-py3-none-any.whl

Total release size: 296.2 kB

Release files / heronintelligence_mcp-1.12.0.tar.gz

Download URL heronintelligence_mcp-1.12.0.tar.gz
Size 200.6 kB
Tags Source
SHA-256 checksum
How to use checksums
35c0c6ddb36b2a6396803a1b8bef0fe11e2f359b952523949f19ac2c481ff89f
BLAKE2b-256 checksum
How to use checksums
0aa45422db3936ef7c73656998c0206a39bd3db6878ab190bf73206d046574f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / heronintelligence_mcp-1.12.0-py3-none-any.whl

Download URL heronintelligence_mcp-1.12.0-py3-none-any.whl
Size 95.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81a34176ffc54dc166b49a7df605efadca1f2d5641c8dc63d68578737c5c1983
BLAKE2b-256 checksum
How to use checksums
deef612a187b2335710b62c77de265f29c97d38eba647e2705202886d43eee64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for HeronIntelligence-mcp 1.12.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.12.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page