MCP App Store
by KeenEthics

Overview

Turn an investment strategy into market maps, target lists, and live signals using Raylu's company data, built for private markets. Describe a thesis in plain English and get back a scored market map of the companies that fit. Look up a company, search by firmographics, review its team, and prep for a meeting. Analyze a market map, add AI enrichment columns, or build a scored M&A map around an acquisition target. Set up a sourcing routine that finds new companies on a schedule. Build and launch outreach in your firm's voice, personalized to the company, the thesis, and any relationship you already have. Reach founders before the market moves, without leaving the chat.

Tools

add_companies_to_list_or_map

ChatGPT
Add companies to a list or market map, up to 50 per call. Each company is matched by name, domain, or Raylu company ID, and saved to the project first if needed. A list gets the companies right away. A market map adds them in a background run that fills in its columns, and returns a run ID. A company already on the list or map is not added twice. A list bills each company it adds; a market map bills each company sent, including ones already on it. Each user can call this tool 5 times every minute.

add_companies_to_watchlist

ChatGPT
Add saved companies to the user's own signal watchlist so Raylu starts collecting signals for them. Companies already on the list stay as they are. A company Raylu knows but the project has not saved is reported, not added. Each user can call this tool 20 times every minute.

add_company_notes

ChatGPT
Add a note to companies in a list or market map, one note per company. Notes belong to the company, so they show on every list and map that company is in. Every company must already be in the list or map; if any cannot be matched, nothing is written. Up to 50 companies per call. Each user can call this tool 20 times every minute.

add_company_tags

ChatGPT
Add tags to companies in a list or market map. A tag belongs to the company, so it shows on every list and map that company is in. If the workspace syncs to a CRM, the company's tags sync there too. Creates any tag that does not exist yet. Every company must already be in the list or map; if any cannot be matched, nothing is written. Up to 50 companies per call. Each user can call this tool 20 times every minute.

cancel_campaign

ChatGPT
Cancel a campaign permanently. Pending emails stop and are never sent. This cannot be undone. Canceling also updates the campaign status in the connected CRM, when there is one. Each user can call this tool 30 times every minute.

company_conferences

ChatGPT
Get a company's cached conference attendance history. Reads only what has already been fetched — it never triggers a provider fetch. The company must already be saved in the project; this tool never saves a company as a side effect. Each user can call this tool 30 times every minute.

company_team_breakdown

ChatGPT
Get a company's team breakdown by department and location. Provide a company name or domain to see headcount distribution across departments and geographies. Each user can call this tool 30 times every minute.

complete_campaign_step

ChatGPT
Complete the next step in a campaign. Without confirm, returns the next step for review and changes nothing. With confirm: true, an email step is scheduled to send exactly as drafted about three minutes later, subject to send-time checks; the result reports its scheduled time, not delivery. A phone, LinkedIn, or task step is marked done immediately and the campaign advances to the next step. Each user can call this tool 10 times every 5 minutes.

conference_attendees

ChatGPT
Get the resolved attendee/exhibitor companies for a conference edition. Pass lookup_id to read an existing lookup (never starts a crawl). Pass edition_id AND event_id (both from conference search results) to start a NEW lookup: this starts a provider crawl, and every resolved attendee is added to the project as a company. Always pass event_id alongside edition_id — provider IDs can collide across namespaces, and edition_id alone may crawl the wrong event. Attendee resolution runs asynchronously; if it does not finish within about a minute, this returns the lookup_id to check back with. Each user can call this tool 5 times every 5 minutes.

conference_lookups_list

ChatGPT
List the saved conference attendee lookups in this project. Shows whether an attendee roster has already been pulled for a conference, with the lookup_id that reads it without starting a new crawl. Each user can call this tool 30 times every minute.

copy_cadence

ChatGPT
Copy a shared template or another cadence to this user's own cadences (the platform's "Copy to My Cadences"). The copy belongs to this user and can be used to generate campaigns — required before using a template, which can never be generated from directly. Accepts a cadence/template name or ID. Each user can call this tool 10 times every 5 minutes.

create_ai_enrich_column

ChatGPT
Create an AI enrichment column on a list or market map. If you already have an AI column with the same name, its prompt and type are replaced, and every list or map that uses that column runs the new prompt on its next enrichment. The prompt defines what the AI determines about each company. Creating the column does not run enrichment. Each user can call this tool 10 times every 5 minutes.

create_cadence

ChatGPT
Create a new outreach strategy (cadence). Define email steps and action steps (phone, linkedin, task) with scheduling config. Each user can call this tool 10 times every 5 minutes.

create_list

ChatGPT
Create a new company list. Returns the list ID and name.

create_ma_map

ChatGPT
Create an M&A market map with automatic AI enrichment. Creates the map, populates companies, scores them, creates AI enrichment columns, and runs enrichment — all in one operation. An enrichColumns name that matches one of your existing AI columns replaces that column's prompt. Use after collecting M&A criteria from the user. Each user can call this tool 10 times every 5 minutes.

delete_company_notes

ChatGPT
Delete notes, by note ID. Only the author of a note can delete it. If a note ID appears twice, nothing is deleted. Up to 50 notes per call. Each user can call this tool 20 times every minute.

delete_field

ChatGPT
Delete a custom field (a column the team added) from a list or market map, with every value in it. This cannot be undone. Built-in and AI columns cannot be deleted here. Each user can call this tool 10 times every 5 minutes.

edit_cadence

ChatGPT
Edit an existing outreach strategy (name, steps, scheduling config). Accepts a cadence name or ID. Edits merge into the existing cadence — fields you omit are preserved, including attachments, personalization, and other step settings. Steps are numbered in cadence order, starting at 1. Adding, removing, or reordering steps is done in the Outreach Builder UI. Changes apply to new campaigns using this strategy. Can also apply changes to existing draft campaigns (applyToDrafts); a content change applied to drafts rewrites their emails and replaces manual edits. Send-window, weekday, and holiday settings also apply to running campaigns on this cadence when they send. CC and BCC changes are always copied into existing draft campaigns.

edit_company_notes

ChatGPT
Replace the text of notes, by note ID. Only the author of a note can edit it. If a note ID appears twice, nothing is written. Up to 50 notes per call. Each user can call this tool 20 times every minute.

enrich_list_or_map

ChatGPT
Run AI enrichment for one column on a list or market map, in a background run. Enrichment overwrites existing values in the enriched cells, can search the web, and sends the results to the connected CRM, when there is one. A column ID is the key of an AI column in the column definitions, or the Column ID returned when the column was created. Each run is limited in cells (companies × columns). Each user can call this tool 10 times every 5 minutes.

find_company_contact

ChatGPT
Get contact info (email, phone) for a person at a company. Search by name or role (e.g. "CFO"). Runs in the background; results appear in the company's details. A company found only in Raylu's database is saved to your companies first. The lookup uses third-party contact data providers, creates or updates the contact's email, phone, and title, and adds the contact to the connected CRM when the project syncs contacts there. Each user can call this tool 100 times every 5 minutes.

generate_campaign

ChatGPT
Generate a new outreach campaign for a company. Accepts company name, domain, or ID. A company found only in Raylu's database is saved to your companies first, which can start a background enrichment. Generation runs in the background and typically takes 1-3 minutes. If no cadence (strategy) is provided, returns available cadences to choose from. If autoStartCampaign is true, the campaign is also started and emails are scheduled. With autoStartCampaign, each user can start at most 10 campaigns every 5 minutes. Each user can call this tool 100 times every 5 minutes.

get_cadence

ChatGPT
Get the full content of an outreach strategy (cadence): every step's subject, body, delay, and mode. Accepts a cadence name or ID.

get_campaign

ChatGPT
Get detailed campaign info including all email/action steps with their content, status, and engagement metrics. Each user can call this tool 30 times every minute.

get_companies

ChatGPT
Get full profiles for multiple companies at once, including coverage status. Pending coverage means sparse fields are unknown, not confirmed zero or none. Accepts an array of company names, domains, or IDs. Each user can call this tool 10 times every minute.

get_company

ChatGPT
Get full details for a company in your companies or in Raylu's company database, including coverage status. When coverage is pending, missing firmographics, funding, or contacts are unknown, not zero or none. Looks up one company per call. Each user can call this tool 100 times every minute.

get_company_notes

ChatGPT
Read the notes on companies in a list or market map, newest first, with each note's ID and date. Notes belong to the company, so they are the same on every list and map it is in. Edits and deletes take these note IDs. Up to 50 companies per call. Each user can call this tool 10 times every minute.

get_daily_send_count

ChatGPT
Check how many emails have been sent today vs the daily limit. Each user can call this tool 30 times every minute.

get_list_or_map

ChatGPT
Get a list's or market map's details and column definitions, including AI enrichment column keys. While a background task is still running on it, its columns may be incomplete. Each user can call this tool 30 times every minute.

get_list_or_map_rows

ChatGPT
Get rows from a list or market map for the columns named, including AI enrichment values, up to 500 rows per page. The first line gives the total and the page count. A CRM list returns its current CRM members. While a background task is still running on it, its rows may be incomplete. Each user can call this tool 15 times every minute.

get_outreach_schedule

ChatGPT
View scheduled emails and actions grouped by date, plus emails already sent since the start date. Shows which companies get contacted when. Each user can call this tool 30 times every minute.

get_run_status

ChatGPT
Check whether a background task is still running or finished for a company or market map. Each user can call this tool 30 times every minute.

get_score_breakdown

ChatGPT
Read existing generated score values and the full per-node score DAG breakdown for companies under a scoring definition. Accepts definition_id or definition_name. This returns generatedValues, nodeResults, DAG metadata, active override context, and latest auto score context. This does not start scoring; a pending company has no score until scoring runs. Each user can call this tool 20 times every minute.

get_signal_settings

ChatGPT
Show the user's own signal watchlist (the companies Raylu collects signals for on their behalf, with the count and the maximum) and the personal signal preferences that apply to all watched companies. Reports existing scoped or project rules that need consolidation before settings can be edited. Each user can call this tool 30 times every minute.

list_campaigns

ChatGPT
List outreach campaigns with optional filters. Returns campaign summaries with status, company, next action, step counts, and aggregate stats. Use get_campaign for full campaign and email details. Each user can call this tool 30 times every minute.

list_companies

ChatGPT
List companies you are tracking, with key firmographic data. Returns a markdown table. Each user can call this tool 30 times every minute.

list_scoring_definitions

ChatGPT
List available scoring definitions (deal scores) for the current project, with each definition's name and ID. Each user can call this tool 30 times every minute.

list_signals

ChatGPT
Read recent signal events (funding rounds, executive hires and departures, headcount changes, web traffic changes, partnerships, negative press and more) for one watched company, or for every company on the user's own signal watchlist. Signals exist only for companies the user watches and only for the types the user's preference rules turn on. Rows about a competitor of a watched company are marked "(competitor)". Newest first. Each user can call this tool 30 times every minute.

list_strategies

ChatGPT
List outreach strategies (cadences) this user can generate campaigns with: their own and project-level ones. Use a strategy ID when generating campaigns or creating new ones. Set includeTemplates to also see the workspace's shared templates — templates are copy-only: campaigns are generated from a copy, not from the template. Each user can call this tool 30 times every minute.

lookup_company

ChatGPT
Add a company to your companies in Raylu by name or domain, and return its profile. A company already there is returned without being added again. Unknown companies have three honest data states: checking means background website classification is still running; pending means the website is verified but full coverage is still being gathered; unverified means the website could not be verified. Missing firmographics, funding, or contacts in any of these states are never confirmed zero or none. Covered companies kick off enrichment when needed. Each user can call this tool 50 times every minute.

lookup_firmographic_values

ChatGPT
Look up the real stored values for a categorical firmographic column before filtering on it, so filters use values that actually exist (e.g. "US" not "United States"). Returns matching values ranked by how many companies have each. Search with a SHORT STEM, not a full formatted guess — e.g. "series" not "Series A", "united" not "United States". Matching is case-insensitive substring. Each user can call this tool 30 times every minute.

meeting_prep_brief

ChatGPT
Build a meeting brief for a company: company overview, team profiles, funding history, recent signals, news, and headcount trends. The brief holds the source data only: it has no product summary, market context, competitive landscape, or suggested meeting questions. A company found only in Raylu's database is saved to your companies first, which can start a background enrichment. Each user can call this tool 20 times every minute.

pause_campaign

ChatGPT
Pause an active campaign. Stops future emails from being sent. Can be resumed later from the Raylu UI. Pausing also updates the campaign status in the connected CRM, when there is one. Each user can call this tool 10 times every 5 minutes.

remove_companies_from_watchlist

ChatGPT
Remove companies from the user's own signal watchlist. Companies not on the list are reported and nothing else changes. A company a teammate watches is not on this user's list and is left alone. Each user can call this tool 20 times every minute.

remove_company_tags

ChatGPT
Remove tags from companies in a list or market map. A tag belongs to the company, so this takes it off every list and map that company is in. If the workspace syncs to a CRM, the company's tags sync there too. The tags stay in the workspace. Every company must already be in the list or map and every tag must exist; otherwise nothing is written. Up to 50 companies per call. Each user can call this tool 20 times every minute.

rewrite_email

ChatGPT
Rewrite a campaign email using AI based on feedback. Starts a rewrite run in Raylu and returns the revised text for review. The email itself is not changed or sent. Each user can call this tool 10 times every 5 minutes.

score_companies

ChatGPT
Score a list of companies using a scoring definition. Returns existing scores ranked by score, and kicks off scoring for companies that have not been scored yet. Companies that need scoring are processed in the background and do not return a run. New scores are ready after a minute or two; running this again returns finished scores and queues only companies not yet scored. Requires a definition_id. The scoring definition is the user's choice. Each user can call this tool 10 times every 5 minutes.

search_companies

ChatGPT
Search for companies by name, domain, or keyword. Returns matching companies with basic info. Each user can call this tool 100 times every minute.

search_lists_and_maps

ChatGPT
Search the project's lists and market maps by name. Each match shows its kind (List, CRM list, or Market map), name, company count where known, and ID. Each user can call this tool 30 times every minute.

set_field_values

ChatGPT
Write a custom field (a column the team added) for companies in a list or market map, one value per company. Creates the field if the list or map has none with that name. A value overwrites what is there, and an empty value clears it. Every company must already be in the list or map; if any cannot be matched, nothing is written. Up to 50 companies per call. Each user can call this tool 20 times every minute.

set_signal_preferences

ChatGPT
Turn signal types on or off for all companies on the user's own watchlist. One personal preference set applies to every watched company, matching Signals settings in the app; company-specific and group preferences are not supported. Keeps other enabled types and their thresholds. Turning on headcount_change uses the app's defaults of 15% growth and 10% decline, and turning on web_traffic_change uses 20%. Turning every type off pauses the signal feed without removing watched companies. Existing scoped or project rules must be consolidated before editing. The funding_round and total_funding_change types always turn on and off together. Each user can call this tool 20 times every minute.

setup_ma_mapping

ChatGPT
Returns a step-by-step guide for building an M&A map anchored on a specific acquisition target: the target, the lens, the acquirability criteria, the build, and the results. The tool itself creates and changes nothing. Use when the user wants to find acquirable companies, build an acquisition landscape, or map bolt-on targets.

setup_sourcing_routine

ChatGPT
Returns a step-by-step guide for setting up a recurring sourcing routine: the thesis, lead sources, scoring filters, outreach strategy, and schedule. The tool itself creates, schedules, and changes nothing. Use when the user wants to put prospecting on autopilot, automate sourcing, or find companies regularly.

start_campaign

ChatGPT
Start (activate) a draft campaign. Without confirm, returns the drafted emails for review and starts nothing. With confirm: true, attempts activation and scheduling, subject to outreach checks, then reports the resulting campaign state. The campaign must be a draft, and its contact must have an email address; the review shows both. A campaign flagged Needs Attention must be reviewed in Raylu before it can start. Starting also records the campaign in the connected CRM, when there is one. Each user can call this tool 10 times every 5 minutes.

start_market_map

ChatGPT
Start a new market map creation session. Returns a session ID and the first question. Each following step of the session takes the session ID and the answer to the current question. Each user can call this tool 20 times every 5 minutes.

start_rerun_market_map

ChatGPT
Open a session to re-run an existing market map. Resolves the map and pre-fills the session with its current definition; nothing runs until the session is confirmed. The session can be confirmed as-is to re-run the map unchanged, or edited first. Accepts a map name or ID. Each user can call this tool 20 times every 5 minutes.

update_email

ChatGPT
Edit an email in a campaign that has not finished, including a running one. Can update the subject, body text, scheduled send time, or CC recipients. In a campaign whose emails share one thread, the subject cannot change after the first email has gone out, and a subject change is copied to every email step. A new send time applies only to an email that is already scheduled, and other emails may move later to stay within the daily send limit. Changing the text of an email its owner already approved sends it back to them for review. Each user can call this tool 100 times every minute.

update_market_map

ChatGPT
Advance a market map creation session. After providing a category, the system auto-generates subcategories, research, industry, description, inScope, and outOfScope. Select from the generated subcategories, choose regions, and confirm to create. Each user can call this tool 20 times every 5 minutes.

update_rerun_market_map

ChatGPT
Re-run a market map (from its rerun session), optionally changing its definition first. Pass only the fields you want to change; call repeatedly to apply edits incrementally. Set confirm=true to run — re-researches the market with the current criteria. By default it keeps all existing companies; with keepCompaniesMode="score" it keeps only companies at or above scoreThreshold. For a plain re-run with no changes, just call once with confirm=true and no edits. Each user can call this tool 20 times every 5 minutes.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps