MCP App Store
Productivity
Harmonic icon

Harmonic

by Harmonic AI, Inc

Overview

Search, enrich, and research startups and companies using Harmonic's proprietary data on millions of companies and the people behind them. Get detailed company profiles with funding, location, founders, and network connections. Use natural language to find companies matching specific criteria. Create and manage lists of companies and people. Access your team's network mapping and saved searches. Discover startups earlier, research them faster, and act with confidence—an AI-powered research agent built into your workflow.

Tools

add_companies_to_list

ChatGPT
Add companies to an existing company list. Supports company URNs, IDs, or canonical identifiers (website URL, LinkedIn, Crunchbase, Pitchbook, etc.).

add_people_to_list

ChatGPT
Add people to an existing people list. Supports person URNs or canonical identifiers (LinkedIn URL, email). At least one of linkedin_url or email must be provided when using canonical identifiers.

create_company_list

ChatGPT
Create a new company list. Can optionally include companies using URNs, IDs, or canonical identifiers (website URL, LinkedIn, Crunchbase, Pitchbook, etc.). If companies are provided, they will be added to the list after creation. Returns a response with 'urn' field (e.g., 'urn:harmonic:company_watchlist:0f818bcf-...'). IMPORTANT: Use the full 'urn' value (not the 'id') to construct console links: https://console.harmonic.ai/dashboard/watchlist/{urn}

create_company_list_custom_field

ChatGPT
Create a custom field (column) for a company list. Custom fields allow you to add additional data points to companies in your list. Returns the created custom field with its URN, which you'll need when setting values on list entries.

create_global_custom_field

ChatGPT
Create a new global custom field for companies or people. Unlike list custom fields (columns on a specific list), global fields are properties on the company/person record itself, visible across all lists.

create_people_list

ChatGPT
Create a new people list. Can optionally include people using URNs or canonical identifiers (LinkedIn URL, email). If people are provided, they will be added to the list after creation. At least one of linkedin_url or email must be provided when using canonical identifiers. Returns a response with 'urn' field (e.g., 'urn:harmonic:people_watchlist:0f818bcf-...'). IMPORTANT: Use the full 'urn' value (not the 'id') to construct console links: https://console.harmonic.ai/dashboard/people_watchlist/{urn}

create_people_list_custom_field

ChatGPT
Create a custom field (column) for a people list. Custom fields allow you to add additional data points to people in your list. Returns the created custom field with its URN, which you'll need when setting values on list entries.

enrich_companies

ChatGPT
Get detailed data for one or more companies by their identifiers (website URL, domain, LinkedIn, etc.). Accepts an array of company objects, each with at least one identifier. Use this for company lookups when you have specific identifiers. For company name searches, use typeahead_search with search_type=COMPANY first to get the URN. For multi-company searches with criteria, use search_companies_natural_language. REQUIRED: You must specify field_groups to control which fields are returned. Select only the smallest field group(s) needed for your question to avoid bloating the response and slowing down the request. Available field groups: 'name_id_description_headcount_website' (basic info), 'funding' (funding data), 'location' (location data), 'highlights' (company highlights), 'team_correspondence_and_connections' (team connections), 'notes_and_list_membership' (notes and lists), 'web_social_headcount_timeseries' (traction metrics), 'founders_and_execs' (founders and executives), 'founders_ceo' (founders and CEO only), 'synced_affinity_lists' (affinity lists), 'mergers_acquisitions_subsidiaries' (M&A data), 'competitor_research_fields' (competitor research), 'date_added_to_harmonic' (initialization date), 'contact' (contact info), 'all' (all fields - use sparingly).

enrich_people

ChatGPT
Enrich one or more people by their LinkedIn URLs. Accepts an array of LinkedIn profile URLs. REQUIRED: You must specify field_groups to control which fields are returned. Select only the smallest field group(s) needed for your question to avoid bloating the response and slowing down the request. Available field groups: 'basic' (id, name, profile picture, headline), 'experience' (work experience with company details), 'education' (education history), 'location' (location data), 'socials' (social media links), 'all' (all fields - use sparingly).

entity_lookup

ChatGPT
Look up a SINGLE company, person, or investor by a natural-language reference and return its canonical Harmonic record(s). Use for individual lookups: an exact name ('Anthropic', 'Max Ruderman'), a name plus descriptor ('John Smith at Stripe'), or a short description of one entity. Returns a best match plus a few alternatives when the reference is ambiguous, each with its Harmonic URN. DO NOT use for multi-entity criteria search (e.g. 'fintech companies in NY that raised Series B') — use a natural-language search tool for that. Resolves names, affiliations, descriptions, and typos.

get_companies

ChatGPT
Get detailed data for one or more companies. Accepts Harmonic company IDs, URNs, or external identifiers (website URL, domain, LinkedIn, etc.). PREFERRED: When you already have a Harmonic ID or URN from a previous response, always use 'ids' or 'urns' — this is faster and guarantees the exact company. Use 'identifiers' only when you need to look up a company by its website, LinkedIn, etc. For company name searches, use typeahead_search with search_type=COMPANY first to get the URN. For multi-company searches with criteria, use search_companies_natural_language. REQUIRED: You must specify field_groups to control which fields are returned. Select only the smallest field group(s) needed for your question to avoid bloating the response and slowing down the request. Available field groups: 'name_id_description_headcount_website' (basic info), 'funding' (funding data), 'location' (location data), 'highlights' (company highlights), 'team_correspondence_and_connections' (team connections), 'notes_and_list_membership' (notes and lists), 'web_social_headcount_timeseries' (traction metrics), 'founders_and_execs' (founders and executives), 'founders_ceo' (founders and CEO only), 'synced_affinity_lists' (affinity lists), 'mergers_acquisitions_subsidiaries' (M&A data), 'competitor_research_fields' (competitor research), 'date_added_to_harmonic' (initialization date), 'contact' (contact info), 'external_profiles' (LinkedIn, Twitter, Crunchbase, Pitchbook URLs), 'founder_submissions' (founder-submitted data including fundraising status, founder story narrative, and file attachments like pitch decks), 'custom_fields' (the company's global custom field values; requires custom-field permission), 'all' (all fields - use sparingly). Limit of 50 companies per request. Note: If a company ID is -1, that means we don't yet have a canonical company record. Company profiles can be viewed in Harmonic console at: https://console.harmonic.ai/dashboard/company/<id or urn>

get_companies_by_id

ChatGPT
Get companies by ID or URN using GraphQL. Pass in a list of company IDs or URNs. Use the 'fields' parameter to specify which fields to include for better performance. Limit of 50 companies per request. Note: If a company ID is -1, that means we don't yet have a canonical company record. The data in latest company snapshot might not match the current state for up to 14 days. Company profiles can be viewed in Harmonic console at: https://console.harmonic.ai/dashboard/company/<id or urn>

get_companies_user_connections

ChatGPT
Get team network connections to multiple companies. Returns usersInNetwork (team members connected to company) and detailed userConnections including: targetPerson (person at company with full profile, LinkedIn, current role), connectionSources, latestEmail (title, timestamp, sender/receiver emails), and latestCalendarEvent (name, time, participants).

get_company_connections

ChatGPT
Get network connections into one or more companies — the people your team knows at each company, and through whom. Pick a mode: • Whole team (default, no scoping param set): every team member's connections. E.g. 'who on the team knows someone at', 'team connections to'. • Just me (only_my_connections=true): only the caller's OWN connections, scoped server-side to the authenticated user — do not pass a URN. E.g. 'do I know anyone at', 'my connections to'. • A specific teammate (connected_to_user_urn=<their URN>): only that teammate's connections; resolve the name to a URN via get_team_members first. E.g. 'who does Tyler know at'. userConnections is grouped by connected person: one row per distinct target person (name, LinkedIn, current role) with a connectedVia list of the teammate(s) who know them and each one's connectionSources — enough to answer 'who do we know / who is connected'. Email-only connections to people not resolved in Harmonic are summarized as an unresolvedEmailConnections count per company. Use connection_fields to additively pull more ONLY when needed: 'contact' for the target person's emails (outreach), 'correspondence' for each teammate's latest email + calendar event (meeting prep, last touchpoint).

get_company_list_entries

ChatGPT
Get company list entries. Pass the ID or URN of the list to get entries. Supports cursor pagination.

get_company_lists

ChatGPT
Get all company lists that the requesting user has access to. Returns lists with 'entityUrn' (e.g., 'urn:harmonic:company_watchlist:0f818bcf-...'), name, and metadata. IMPORTANT: Use the full 'entityUrn' value (not 'id') to construct console links: https://console.harmonic.ai/dashboard/watchlist/{entityUrn}

get_investors

ChatGPT
Get detailed investor data for one or more investors by URN or website URL. Accepts an array of investor identifier objects. Use URN if available (e.g., from typeahead_search with search_type=INVESTOR), otherwise use the investor's website URL. REQUIRED: You must specify field_groups to control which fields are returned. Select only the smallest field group(s) needed to avoid slow responses. Investor profiles can be viewed in Harmonic console at: https://console.harmonic.ai/dashboard/investor/<urn>

get_people

ChatGPT
Get detailed data for one or more people. Accepts Harmonic person IDs, URNs, or LinkedIn profile URLs. PREFERRED: When you already have a Harmonic ID or URN from a previous response, always use 'ids' or 'urns' — this is faster and guarantees the exact person. Use 'linkedin_urls' only when you need to look up a person by their LinkedIn profile. REQUIRED: You must specify field_groups to control which fields are returned. Select only the smallest field group(s) needed for your question to avoid bloating the response and slowing down the request. Available field groups: 'basic' (id, name, profile picture, headline), 'experience' (work experience with company details), 'education' (education history), 'location' (location data), 'socials' (social media links), 'custom_fields' (the person's global custom field values; requires custom-field permission), 'all' (all fields - use sparingly). Limit of 50 people per request. Person profiles can be viewed in Harmonic console at: https://console.harmonic.ai/dashboard/person/<id or urn>

get_people_list_entries

ChatGPT
Get people list entries. Pass the ID or URN of the list to get entries. Supports cursor pagination.

get_people_lists

ChatGPT
Get all people lists that the requesting user has access to. Returns lists with 'entityUrn' (e.g., 'urn:harmonic:people_watchlist:0f818bcf-...'), name, and metadata. IMPORTANT: Use the full 'entityUrn' value (not 'id') to construct console links: https://console.harmonic.ai/dashboard/people_watchlist/{entityUrn}

get_people_user_connections

ChatGPT
Get team network connections to multiple people. Returns each person's profile (name, LinkedIn, current role) and detailed userConnections including: which team member has the connection, connectionSources, latestEmail (title, timestamp, sender/receiver emails), and latestCalendarEvent (name, time, participants).

get_person_connections

ChatGPT
Get network connections to one or more people by person ID. Returns all team members' connections by default. Pass a user URN in connected_to_user_urn to filter results to a single teammate's connections (either the caller themselves — e.g. 'my connections', 'do I know this person' — or a specific teammate, e.g. 'does Tyler know this person'). Leave connected_to_user_urn blank for general team-level queries (e.g. 'who on the team knows this person', 'team connections to'). Returns each person's profile (name, LinkedIn, current role) and userConnections. Each connection always includes the team member who has it and connectionSources — enough to answer 'do we know this person'. Add connection_fields=['correspondence'] to also include the latest email and calendar event, ONLY when the user needs correspondence/meeting context.

get_persons_by_id

ChatGPT
Get persons by ID or URN using GraphQL. Pass in a list of person IDs. Use the 'fields' parameter to specify which fields to include for better performance. Limit of 50 people per request. Note: Currently only supports IDs (not URNs) via GraphQL. Person profiles can be viewed in Harmonic console at: https://console.harmonic.ai/dashboard/person/<id or urn>

get_saved_search_companies_net_new

ChatGPT
Get net new company results for a subscribed saved search (cursor pagination). Requires the saved search to be subscribed in Harmonic console.

get_saved_search_companies_results

ChatGPT
Get company saved search results with metadata (cursor pagination). Team API key can access only team-public saved searches. The saved search can be viewed in Harmonic console at: https://console.harmonic.ai/dashboard/companies/<urn>

get_saved_search_investors_net_new

ChatGPT
Get net new investor results for a subscribed saved search (cursor pagination). Requires the saved search to be subscribed in Harmonic console.

get_saved_search_investors_results

ChatGPT
Get investor saved search results with metadata (cursor pagination).

get_saved_search_people_net_new

ChatGPT
Get net new people results for a subscribed saved search (cursor pagination). Requires the saved search to be subscribed in Harmonic console.

get_saved_search_people_results

ChatGPT
Get people saved search results with metadata (cursor pagination). Team API key can access only team-public saved searches. The saved search can be viewed in Harmonic console at: https://console.harmonic.ai/dashboard/people/<urn>

get_team_members

ChatGPT
Get all team members for the current customer account. Returns each team member's email, name, entityUrn, role (ADMIN, MEMBER), and status (ACTIVE, INVITED). Use this tool to find team member emails for PERSON-type custom fields on watchlists.

get_team_network_connection_count

ChatGPT
Get the total number of network connections in the account's Team network. This uses the deterministic TEAM_CONNECTIONS singleton watchlist and returns its total_count as network_connection_count.

list_global_custom_fields

ChatGPT
List all global custom fields for companies or people. Unlike list custom fields (columns on a specific list), global fields are properties on the company/person record itself, visible across all lists. Use this to discover available fields and their URNs before writing field values.

list_saved_searches

ChatGPT
List all saved searches the user has access to. Returns saved searches with their query, type, name, creator, privacy status, and entity URN.

search_companies_natural_language

ChatGPT
Search for multiple companies matching criteria using natural language and return enriched company data. Use for queries with filters/criteria like 'fintech companies in NY that raised Series B in the last 6 months' or 'AI startups with founders from OpenAI'. DO NOT use for individual company lookups - use typeahead_search with search_type=COMPANY for company name/domain search, or enrich_company for detailed company data by website/domain. This tool returns enriched company information directly, so you don't need to make a separate call to get company details. REQUIRED: You must specify field_groups to control which fields are returned. Select only the smallest field group(s) needed for your question to avoid bloating the response and slowing down the request.

set_company_global_custom_fields

ChatGPT
Set multiple global custom field values on a single company. Global fields are properties on the company record (not columns on a specific list). Use this when you need to update several fields at once on one company.

set_people_global_custom_fields

ChatGPT
Set multiple global custom field values on a single person. Global fields are properties on the person record (not columns on a specific list). Use this when you need to update several fields at once on one person.

submit_data_report

ChatGPT
Submit a data issue report to Harmonic for a company or person. Use this to report incorrect, outdated, or missing data.

update_company_list

ChatGPT
Update a company list's name or shared_with_team setting.

update_company_list_custom_field

ChatGPT
Update a custom field's name or metadata on a company list. You can update the field name or modify metadata like select options. For SINGLE_SELECT/MULTI_SELECT/STATUS fields: the options array in selectMetadata fully replaces the existing list. To rename, recolor, or reorder options without wiping data, first fetch the current field and pass each existing option's urn back unchanged in your payload; omit urn only for brand-new options. Any option whose urn is missing from the payload is deleted, which NULLs that option's value on every entry in the list.

update_company_list_entries

ChatGPT
Update custom field values on one or more companies in a company list. This tool uses an upsert operation - if the company exists in the list, its custom field values will be updated. If it doesn't exist, it will be added. Use this to set or update custom column values for companies already in a list. Field URNs (custom_field_urn) and option URNs (data.selectData.value, data.multiSelectData.value) must come from 'custom_field_definitions' returned by get_company_list_entries. Do not infer URNs from field names. Judge success by 'companies_found_count' (entries matched and written); 'total_companies_count' reflects only fully-enriched entries and LAGS the write, so a low value right after the upsert is expected.

update_global_custom_field

ChatGPT
Update a global custom field's name or metadata (e.g., select options, number format). The field type cannot be changed after creation. For SINGLE_SELECT/MULTI_SELECT/STATUS fields: the options array in selectMetadata fully replaces the existing list. To rename, recolor, or reorder options without wiping data, first fetch the current field and pass each existing option's urn back unchanged in your payload; omit urn only for brand-new options. Any option whose urn is missing from the payload is deleted, which NULLs that option's value on every entity the field is set on.

update_people_list

ChatGPT
Update a people list's name or shared_with_team setting.

update_people_list_custom_field

ChatGPT
Update a custom field's name or metadata on a people list. You can update the field name or modify metadata like select options. For SINGLE_SELECT/MULTI_SELECT/STATUS fields: the options array in selectMetadata fully replaces the existing list. To rename, recolor, or reorder options without wiping data, first fetch the current field and pass each existing option's urn back unchanged in your payload; omit urn only for brand-new options. Any option whose urn is missing from the payload is deleted, which NULLs that option's value on every entry in the list.

update_people_list_entries

ChatGPT
Update custom field values on one or more people in a people list. This tool uses an upsert operation - if the person exists in the list, their custom field values will be updated. If they don't exist, they will be added. Use this to set or update custom column values for people already in a list. Field URNs (custom_field_urn) and option URNs (data.selectData.value, data.multiSelectData.value) must come from 'custom_field_definitions' returned by get_people_list_entries. Do not infer URNs from field names. Judge success by 'people_found_count' (entries matched and written); 'total_people_count' reflects only fully-enriched entries and LAGS the write, so a low value right after the upsert is expected.

upsert_company_global_custom_field_values

ChatGPT
Set a global custom field value on one or more companies. Global fields are properties on the company record (not columns on a specific list). Sets the same field and value across all specified companies. To set different values per company, call this multiple times.

upsert_people_global_custom_field_values

ChatGPT
Set a global custom field value on one or more people. Global fields are properties on the person record (not columns on a specific list). Sets the same field and value across all specified people. To set different values per person, call this multiple times.

add_companies_to_list

Claude

add_people_to_list

Claude

create_company_list

Claude

create_people_list

Claude

enrich_company

Claude

enrich_person

Claude

get_companies_by_id

Claude

get_company_list_entries

Claude

get_company_user_connections

Claude

get_investor_by_canonical

Claude

get_people_list_entries

Claude

get_persons_by_id

Claude

get_saved_search_companies_net_new

Claude

get_saved_search_companies_results

Claude

get_saved_search_investors_net_new

Claude

get_saved_search_investors_results

Claude

get_saved_search_people_net_new

Claude

get_saved_search_people_results

Claude

list_companies_in_team_network

Claude

list_people_in_team_network

Claude

list_saved_searches

Claude

search_companies_natural_language

Claude

typeahead_company_name

Claude

App Stats

71

Tools

2

Prompts

Apr 23, 2026

First seen

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily