MisarReach MCP Server

io.github.Misar-AI由 GitHub 账号 Misar-AI 发布v5.2.1更新于 Oct 24, 2026

Find leads, enrich and score them, run multi-channel outreach, and manage the sales pipeline — from…

已验证Streamable HTTP可网页运行沟通与协作数据与分析商业与电商

概览

AI 生成的概览

MisarReach MCP 让助手查找、补全、验证并评分销售线索,执行多渠道触达并管理交易管道。

可以做什么
查找与筛选线索:启动 AI 线索搜索、轮询任务状态、列出已保存线索、发现公司、补全与评分线索,并搜索带联系方式的已验证线索。验证与研究联系方式:检查单个或批量邮箱可送达性、查询公司邮箱格式、读取公司公开的联系信息。管理线索列表:列出、创建并将托管线索列表同步为本地记录。起草与发送触达:预览个性化消息、批量将线索加入活动、启动或监控自主运行任务。管理交易与管道:列出、创建和更新交易,查看管道看板并在阶段间移动交易。配置投递渠道与 AI 销售代理:查看和开关 WhatsApp、短信、推送渠道,读取和修改销售代理设置,查看其当日动作并处理单个会话。
适用场景
适合让助手在销售流程中工作:构建和筛选潜在客户名单、发送前检查邮箱可送达性、起草或发起触达,或审查管道与自动化运行情况。
运行要求
需要 MisarReach 账户和 API 密钥,通过 MISARREACH_API_KEY 或 Authorization bearer 请求头提供。可作为远程 streamable HTTP 端点运行,或通过 npx(Node.js)在本地运行。仅自托管实例需要设置 MISARREACH_BASE_URL。部分工具会消耗额度。
安装前请注意
多个工具会作用于真实潜在客户:start_autopilot 未经批准即发送真实消息,send_to_campaign 可将线索加入正在运行的活动,process_sales_agent 可回复、创建交易或预约会议。update_channel 和 update_sales_agent_config 会改变实际投递与代理行为。搜索、补全和验证会消耗额度。API 密钥属于机密;浏览器登录会将其保存到本地配置文件。

安装

在 SourceWeft 中

  1. 打开 控制台中的 MisarReach MCP Server,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.Misar-AI%2Fmisarreach-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "misarreach": {
      "type": "http",
      "url": "https://api.misar.io/reach/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

MisarReach MCP Server

Find leads, enrich and score them, run multi-channel outreach, and manage the sales pipeline — from any AI assistant.

[npm] [smithery] [license]

31 tools · 5 prompts · 4 resources · 4 agent skills

Works with Claude (Desktop, Code, and web), Cursor, VS Code, Windsurf, Cline, Zed, Gemini CLI, ChatGPT, and any other MCP-compatible client — over stdio or Streamable HTTP.


Install

Smithery (recommended)

bash
npx -y @smithery/cli install misar/misarreach-mcp --client claude

Claude Code

bash
claude mcp add misarreach -- npx -y @misarreach/mcp@latest

Manual (any client)

json
{  "mcpServers": {    "misarreach": {      "command": "npx",      "args": ["-y", "@misarreach/mcp@latest"],      "env": { "MISARREACH_API_KEY": "mrk_your_key_here" }    }  }}

Ready-made configs for every client live in connectors/.

Remote (no install)

json
{  "mcpServers": {    "misarreach": {      "type": "streamable-http",      "url": "https://api.misar.io/reach/mcp",      "headers": { "Authorization": "Bearer mrk_your_key_here" }    }  }}

Authentication

Two options — no copy-paste needed for the first:

  1. Browser login. Start the server with no key and run the login tool. It opens the MisarReach consent screen, you review the requested permissions, and the key is delivered straight back and saved to ~/.misarreach/config.json.
  2. API key. Create one at https://reach.misar.io/settings/api-keys and set MISARREACH_API_KEY.

Self-hosted instances: set MISARREACH_BASE_URL.


Tools

ToolDescription
list_leadsList leads already saved to the account, newest first, with paging and search.
search_leadsStart an AI lead-search job and return its jobId immediately.
get_search_job_statusPoll one lead-search job for its progress and results.
submit_lead_feedbackRecord whether an AI-generated outreach message for a lead was good or bad, as training signal for future generations.
discover_companiesFind COMPANIES matching firmographic criteria, optionally pulling contact emails for each.
enrich_leadFill in a saved lead's missing person and company detail — seniority, department, LinkedIn, phone, company size, industry.
verify_emailsCheck whether email addresses are deliverable, one or up to 20 at a time.
score_leadsQueue AI qualification scoring for leads — either every unscored lead in a search job, or a specific set of ids.
list_lead_listsList the managed lead lists this account has created or synced.
create_lead_listCreate a new, empty managed lead list.
sync_lead_listImport a managed lead list into local lead records so the rest of these tools can work with it.
preview_messageDraft a sample AI-personalised outreach message for a named person, to show what the agent would say.
send_to_campaignAdd saved leads to a campaign's contact list in bulk, up to 500 at a time.
list_dealsList deals as a flat, paged array, optionally filtered by status, with revenue totals alongside.
create_dealOpen a new deal against a lead's email address.
update_dealChange a deal's status, value, or notes.
get_pipelineGet the sales pipeline as a board: deals grouped by stage, with revenue totals.
move_deal_stageMove one deal to a different pipeline stage — the equivalent of dragging its card on the board.
start_autopilotStart an autonomous outreach run: give the agent a goal and it finds, contacts and follows up with leads on its own.
list_autopilot_runsList past and running autopilot runs with their status and result summaries.
get_autopilot_statusGet the current progress and results of one autopilot run.
get_channels_statusReport the configuration, connection state and delivery stats for every outreach channel — WhatsApp, SMS and push.
update_channelTurn one outreach channel on or off — WhatsApp, SMS or push.
get_sales_agent_configFetch the AI sales agent's current settings: whether it is enabled, its booking link, offer price, reply limits and confidence threshold.
update_sales_agent_configChange the AI sales agent's settings — enable or disable it, set the booking link, offer price, reply limits and confidence threshold.
get_sales_agent_actionsGet what the AI sales agent has done today, with summary stats — actions taken, deals created, replies sent.
process_sales_agentRun the sales-agent pipeline over one conversation: decide the next action and carry it out.
search_verified_leadsFind people or businesses matching a plain-language description and return only leads with a real way to reach them (email, phone or LinkedIn), each read from a real record — never generated.
reveal_company_contactsRead a company's own website now and return what it publishes: contact emails, a phone number, its social profiles and its detected tech stack.
company_email_formatThe email address format a company uses (e.g.
verify_emailCheck whether one email address can receive mail.

Prompts

Reusable workflows your client exposes as slash-commands.

PromptDescription
build_lead_listFind, enrich, verify and score a target lead list before any outreach.
outreach_sequenceDesign and preview a multi-channel sequence, sending only after approval.
pipeline_reviewReview deal pipeline health and recommend the next actions.
autopilot_auditCheck what autopilot has been doing and whether it should keep running.
sales_agent_tuningReview the AI sales agent's configuration and recent actions.

Resources

Read-only context an agent can attach without spending a tool call.

URIDescription
misarreach://channelsWhich outreach channels are connected and healthy.
misarreach://lead-listsYour saved lead lists with sizes, so a campaign targets a real audience..
misarreach://pipelineCurrent pipeline by stage — the baseline for any performance question..
misarreach://autopilot/statusWhether autopilot is running, and its current sending posture..

Agent skills

Bundled in skills/ — guidance an agent loads when a task matches.

SkillUse when
audit-autopilot-and-agentCheck what MisarReach autopilot and the AI sales agent have been doing, and whether they should keep running. Use when asked to review automation, autopilot, or agent behaviour.
build-and-qualify-a-lead-listFind companies matching an ICP, enrich and verify the contacts, score them, and save a qualified list. Use when asked to find leads, build a prospect list, or research a target market in MisarReach.
review-the-sales-pipelineReport deal pipeline health and recommend next actions. Use when asked about deals, pipeline, forecast, or sales performance in MisarReach.
run-an-outreach-sequenceDesign, preview and send a multi-channel outreach sequence. Use when asked to run a campaign, start outreach, or message a lead list in MisarReach.

Safety

Destructive and irreversible actions are annotated (destructiveHint) so clients can prompt before running them. The skills instruct agents to confirm before anything that sends mail, publishes content, or is otherwise visible to other people.

Discovery (initialize, tools/list, prompts/list, resources/list) never requires credentials, so registries can index the server without one. Every action does.


Links

MIT © Misar.AI

来源:README.md,提交 17001ac

工具

31

list_leads

List leads

List leads already saved to the account, newest first, with paging and search. Use this to work with leads you already have. It does NOT find new ones — that is search_leads, which starts a job and costs credits. Narrow to one search job with job_id when you want just that job's results. Reads only and costs no credits. Requires an API key. Returns saved lead records with contact and company fields plus enrichment and score where present. An empty page is a normal answer, not an error.

输入参数pagelimitjob_idsearch

search_leads

Search for leads

Start an AI lead-search job and return its jobId immediately. This is ASYNCHRONOUS: results are not in the response. Poll get_search_job_status with the jobId until it reports completion, then read the leads with list_leads filtered by that job_id. Use it to find NEW leads; use list_leads for ones already saved. CONSUMES SEARCH CREDITS on every call, and each call starts a separate job — do not retry it as a way to check progress. Requires an API key. Setting useAI additionally spends AI credits to enrich and score the results as they arrive.

输入参数query必填useAIfilters

get_search_job_status

Check search job status

Poll one lead-search job for its progress and results. This is the companion to search_leads: call it repeatedly with the jobId you were given until the job reports it has finished. Leave a few seconds between polls — searches take a while, and polling harder does not make them faster. Reads only and costs no credits, however many times you call it. Requires an API key. Returns the run state, progress, and the leads found so far; a job still running is a normal answer, not an error.

输入参数jobId必填

submit_lead_feedback

Submit lead feedback

Record whether an AI-generated outreach message for a lead was good or bad, as training signal for future generations. Use it when the user judges a drafted message — it improves later output rather than changing anything now. It does not edit, resend, or delete the message, and it sends nothing to the lead. Writes a feedback record; sending the same verdict twice is harmless. Requires an API key. Costs no credits.

输入参数jobId必填feedback必填leadEmail必填

discover_companies

Discover companies

Find COMPANIES matching firmographic criteria, optionally pulling contact emails for each. This is company-level discovery — reach for it when the user is targeting organisations by industry, location, headcount or tech stack. When they want named people, use search_leads. Filters combine with AND, so stacking many narrows results sharply. Requires an API key. Setting fetch_emails=true performs email lookups and COSTS CREDITS; leaving it false is a plain company search. Returns matching companies with firmographics. No lead is saved to the account by this call.

输入参数limitqueryindustrylocationtechnologyfetch_emailsheadcount_maxheadcount_min

enrich_lead

Enrich lead

Fill in a saved lead's missing person and company detail — seniority, department, LinkedIn, phone, company size, industry. Use it on one lead at a time, after list_leads has given you its id, and typically before writing outreach that needs context. Check the lead first: enriching one that already has these fields spends credits for nothing. CONSUMES ENRICHMENT CREDITS per call. Requires an API key. Updates the stored lead in place, OVERWRITING its existing phone, LinkedIn, seniority and company fields with the fresh values, and returns it; it does not create a new record, and running it twice does not duplicate the lead — but it does bill twice.

输入参数leadId必填

verify_emails

Verify emails

Check whether email addresses are deliverable, one or up to 20 at a time. Run this before a send to protect sender reputation — bouncing a campaign off dead addresses is what gets a domain blocked. Pass either `email` for one or `emails` for a batch, not both. CONSUMES VERIFICATION CREDITS per address checked, so a 20-address batch costs 20. Requires an API key. Returns a deliverability verdict per address; 'undeliverable' is a successful result, not an error. Nothing is sent to the addresses. Each verdict is saved onto any lead you hold with that address, replacing its previous verification status.

输入参数emailemails

score_leads

Score leads

Queue AI qualification scoring for leads — either every unscored lead in a search job, or a specific set of ids. Pass jobId OR leadIds, not both. This runs in the BACKGROUND: it returns a count immediately and the scores appear on the leads afterwards, so re-read them with list_leads rather than expecting scores in this response. CONSUMES AI CREDITS per lead scored. Requires an API key. Passing leadIds rescores leads even if they already have a score, which bills again — pass jobId to score only what is unscored. Caps at 200 ids per call.

输入参数jobIdleadIds

list_lead_lists

List lead lists

List the managed lead lists this account has created or synced. Use it to find a listId before sync_lead_list, or to check whether a list already exists before create_lead_list makes a duplicate. These lists are held apart from the saved leads, which are separate from the leads stored locally — list_leads shows those. Reads only, costs no credits, takes no parameters. Requires an API key. Only this account's lists are returned. An empty result means no lists exist yet.

无需输入参数。

create_lead_list

Create lead list

Create a new, empty managed lead list. Creating the list does not put anything in it, and it does not import anything locally — sync_lead_list does that. Call list_lead_lists first: each call creates a NEW list and nothing deduplicates by name. Requires an API key. Costs no credits. Returns the created list with the id that sync_lead_list needs.

输入参数name必填

sync_lead_list

Sync lead list

Import a managed lead list into local lead records so the rest of these tools can work with it. Run it after create_lead_list, or on any existing list from list_lead_lists, to pull its contacts in. Until a list is synced its contacts are invisible to list_leads, enrich_lead and send_to_campaign. Writes local lead records, and OVERWRITES any saved lead with the same email address: its name, role, company, score and verification status are replaced and it is detached from its search job. Re-syncing the same list refreshes rather than duplicating. Requires an API key. Costs no credits; enrichment and verification are billed separately.

输入参数listId必填

preview_message

Preview outreach message

Draft a sample AI-personalised outreach message for a named person, to show what the agent would say. This is a PREVIEW: nothing is sent, saved, or attached to a lead or campaign. Use it to check tone before committing to a sequence. The person does not need to exist as a lead — pass their name and, if known, role and company. This is the one tool here that needs no API key. Generative, so the same input yields different wording each time. Returns the drafted message text.

输入参数name必填rolecompany

send_to_campaign

Add leads to campaign

Add saved leads to a campaign's contact list in bulk, up to 500 at a time. This is how leads enter an outreach sequence, so treat it as consequential: once they are on a running campaign's list they can start receiving messages. It does NOT send anything by itself and does not start the campaign — but it removes the last step before the campaign does. Every lead must belong to the authenticated account, or the call fails. Adding a lead already on the list does not duplicate it, but an existing contact with the same address is OVERWRITTEN and moved onto this campaign's list. Requires an API key. Verify addresses with verify_emails first; importing dead ones damages sender reputation.

输入参数listIdleadIds必填campaignId必填

list_deals

List deals

List deals as a flat, paged array, optionally filtered by status, with revenue totals alongside. Use this when you want deals as data — to count them, filter one status, or page through many. For the board view with deals grouped into stages, use get_pipeline instead; the two return the same deals in different shapes. Reads only. Requires an API key. Returns the deals plus a summary of total, closed and open pipeline revenue. Money is in minor currency units (cents), so divide by 100 before showing it.

输入参数limitoffsetstatus

create_deal

Create deal

Open a new deal against a lead's email address. Use it when a conversation turns into a real opportunity worth tracking. Each call creates a NEW deal — it does not check for an existing one on the same email, so list_deals first if you might be duplicating. To change a deal that exists, use update_deal. Requires an API key. `value` is in MINOR CURRENCY UNITS — 2500 means $25.00, not $2500 — and defaults to 0 with currency USD. Returns the created deal, which enters the pipeline at the first stage.

输入参数notesvaluecurrencyleadNamecontactIdleadEmail必填campaignIdconversationId

update_deal

Update deal

Change a deal's status, value, or notes. Only the fields you pass are altered. For moving a deal along the pipeline board prefer move_deal_stage, which is the same operation expressed in stage terms; use this one for value and notes. Setting status to 'closed' or 'lost' marks the deal resolved and takes it out of open pipeline revenue. Do not repeat it blindly: each call is added to the deal's activity history, and setting 'closed' again re-stamps the close date. Requires an API key, and the account must own the deal. `value` is in MINOR CURRENCY UNITS (2500 = $25.00). Notes REPLACE the existing note rather than appending.

输入参数notesvaluedealId必填status

get_pipeline

Get sales pipeline

Get the sales pipeline as a board: deals grouped by stage, with revenue totals. Use this for 'how does the pipeline look' questions and stage-by-stage review. It is the board view of the same deals list_deals returns flat — reach for that one when you need filtering or paging, since this returns the whole board. Reads only. Requires an API key. Stages are new, contacted, interested, meeting, proposal, closed and lost. Money is in minor currency units (cents), so divide by 100 before showing it.

输入参数workspaceId

move_deal_stage

Move deal stage

Move one deal to a different pipeline stage — the equivalent of dragging its card on the board. This is the tool for pipeline progression; update_deal is for value and notes. Moving to 'closed' or 'lost' resolves the deal and removes it from open pipeline revenue, which changes reported figures — only do it when the user says the outcome is settled. Moving a deal into 'closed' notifies the account and fires its deal-won webhook if one is set up; moving an already-closed deal to 'closed' again re-stamps its close date. Stages are not ordered by this call, so it can move a deal backwards as easily as forwards. Requires an API key.

输入参数dealId必填newStage必填

start_autopilot

Start autopilot run

Start an autonomous outreach run: give the agent a goal and it finds, contacts and follows up with leads on its own. This is the most consequential tool on this server. It is FIRE-AND-FORGET and it SENDS REAL MESSAGES TO REAL PEOPLE without returning for approval, so only start a run when the user has explicitly asked for one and understands the goal as written — the goal text is the entire brief. It returns a runId immediately; watch progress with get_autopilot_status. CONSUMES AUTOPILOT CREDITS, plus search, enrichment and AI credits as it works. Requires an API key. Each call starts a SEPARATE run — calling twice runs two campaigns concurrently against the same goal.

输入参数goal必填workspace_id

list_autopilot_runs

List autopilot runs

List past and running autopilot runs with their status and result summaries. Use it to review what has already been run — and to check for a run already in flight before start_autopilot launches a second one against the same goal. For detail on one run, use get_autopilot_status. Reads only, costs no credits, and starts nothing. Requires an API key. Returns runs newest first with paging.

输入参数limitoffset

get_autopilot_status

Get autopilot run status

Get the current progress and results of one autopilot run. This is how you follow a run started by start_autopilot: call it with the runId, leaving time between polls. Reading status does not pause, stop, or alter the run in any way — it keeps going regardless, and there is no tool here to stop it. Reads only and costs no credits, however often you call it. Requires an API key. A run still in progress is a normal answer, not an error.

输入参数runId必填

get_channels_status

Get channel status

Report the configuration, connection state and delivery stats for every outreach channel — WhatsApp, SMS and push. Check this before relying on a channel: a disabled or unconfigured one silently delivers nothing. It is also the natural first step before update_channel, so you know the current state rather than toggling blind. Reads only, takes no parameters, and changes nothing. Requires an API key. Returns each channel with whether it is enabled, whether credentials are configured, and recent delivery counts.

无需输入参数。

update_channel

Enable or disable channel

Turn one outreach channel on or off — WhatsApp, SMS or push. This changes how the account actually delivers messages, so it affects live campaigns and autopilot runs, not just future ones. DISABLING a channel silently stops delivery over it; enabling one that has no credentials configured will not make it work. Call get_channels_status first to see where things stand. Handles one channel per call. Safe to repeat: setting a channel to the state it is already in changes nothing. Requires an API key.

输入参数channel必填enabled必填

get_sales_agent_config

Get sales agent config

Fetch the AI sales agent's current settings: whether it is enabled, its booking link, offer price, reply limits and confidence threshold. Read this before update_sales_agent_config so you change one field without clobbering the rest, and to check whether the agent is enabled at all before expecting it to act. Reads only, takes no parameters, changes nothing. Requires an API key. Returns the configuration for the authenticated account.

无需输入参数。

update_sales_agent_config

Update sales agent config

Change the AI sales agent's settings — enable or disable it, set the booking link, offer price, reply limits and confidence threshold. These settings govern an agent that replies to real prospects, so treat them as live: ENABLING it lets it start responding on its own, the confidence threshold decides how sure it must be before acting, and reply limits cap how much it can send. Read the current config first — only the fields you pass change, but a wrong value takes effect immediately. Safe to repeat. Requires an API key.

输入参数enabledcal_linkoffer_priceoffer_descriptionmax_replies_per_dayconfidence_threshold

get_sales_agent_actions

Get sales agent activity

Get what the AI sales agent has done today, with summary stats — actions taken, deals created, replies sent. This is the audit trail: use it to see what the agent did on the account's behalf, and to sanity-check its behaviour after enabling it. Covers TODAY only, so it is not the tool for historical reporting. Reads only and changes nothing; it does not approve or undo any action. Requires an API key. No actions today is a normal answer, not an error.

无需输入参数。

process_sales_agent

Run sales agent on conversation

Run the sales-agent pipeline over one conversation: decide the next action and carry it out. This ACTS on a real conversation — depending on what it decides, it can reply to the prospect, create a deal, or book a meeting. It is not a dry run and there is no preview, so call it only when the user wants the agent to take its turn on that specific conversation. For what it has already done, use get_sales_agent_actions. CONSUMES AI CREDITS. Not idempotent: calling twice processes the conversation twice and can send two messages. Requires an API key, and the agent's configured confidence threshold still governs whether it acts.

输入参数conversationId必填

search_verified_leads

Search verified leads

Find people or businesses matching a plain-language description and return only leads with a real way to reach them (email, phone or LinkedIn), each read from a real record — never generated. Waits for the search to finish (up to wait_seconds) and returns the leads with each email's verification status; if it is still running, call again with the returned job_id. Consumes one search from the plan allowance or wallet.

输入参数limitqueryjob_idfilterswait_seconds

reveal_company_contacts

Reveal company contacts

Read a company's own website now and return what it publishes: contact emails, a phone number, its social profiles and its detected tech stack. robots.txt is obeyed. One enrichment credit, charged only when the site publishes a way to reach the company, and at most once per company per day.

输入参数domain必填

company_email_format

Company email format

The email address format a company uses (e.g. {first}.{last}@acme.com), learned only from addresses that were verified deliverable, with each pattern's share and a confidence level. Free. Returns 'not published' when there is not yet enough verified evidence for the domain.

输入参数domain必填

verify_email

Verify one email

Check whether one email address can receive mail. Returns valid, invalid, accept_all (a catch-all domain: the server accepts every address, so this one cannot be confirmed — do not treat it as valid), webmail, disposable or unknown. Consumes one verification credit. The verdict is saved onto any lead you hold with that address, replacing its previous verification status.

输入参数email必填

版本历史

2
  1. v5.2.1最新Oct 17, 2026
  2. v5.1.2Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分