ReachKee MCP
B2B people search, AI lead scoring and work-email lookup. 15 tools.
使うべきか
品質と安全性
検出事項(3)
- HIGH
- MEDIUMget_task_results 内
- LOWcard_status 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"mcp": {
"url": "https://api.reachkee.com/mcp"
}
}
}リモートエンドポイント
https://api.reachkee.com/mcpstreamable-httpできること
ツール一覧
ツール(15)
🟢search_leads(card_no, keywords, query, page)
Instant B2B people (leads) search, returns one page of 25 rows synchronously. Give free-text keywords OR a full Sales-style query string. Billing: 1 credit per successful page with results; the same query+page repeated within 24h is served from cache for free.
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization: Bearer header)"
},
"keywords": {
"type": "string",
"description": "Free-text keywords, e.g. \"medical device ceo australia\""
},
"query": {
"type": "string",
"description": "Full Sales-style filter string (overrides keywords), e.g. (filters:List((type:CURRENT_COMPANY,values:List((id:123,text:Acme,selectionType:INCLUDED)))),keywords:ceo,spellCorrectionEnabled:true)"
},
"page": {
"type": "integer",
"description": "1-based page number (default 1), 25 rows per page"
}
}
}🟢search_companies(card_no, keywords, query, page)
Instant B2B company (accounts) search, returns one page of 25 rows synchronously. Give free-text keywords OR a full Sales-style query string. Billing: 1 credit per successful page with results; the same query+page repeated within 24h is served from cache for free.
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization: Bearer header)"
},
"keywords": {
"type": "string",
"description": "Free-text keywords, e.g. \"solar energy manufacturer germany\""
},
"query": {
"type": "string",
"description": "Full Sales-style filter string (overrides keywords), e.g. (filters:List((type:INDUSTRY,values:List((id:112,text:Renewables,selectionType:INCLUDED)))),spellCorrectionEnabled:true)"
},
"page": {
"type": "integer",
"description": "1-based page number (default 1), 25 rows per page"
}
}
}🟢card_status(card_no)
Free. Returns status, remaining credits and usage limits of the authenticated card.
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization header)"
}
}
}🟢query_email(card_no, profile_url, profile_urn, first_name, last_name, ...)
Look up email addresses (plus phones and social links) for one person. Provide profile_url OR profile_urn (the profile_urn field returned by search_leads rows). Optional first_name/last_name/company improve matching. Billing: charged email_cost credits only when an email or phone is actually found; no result = no charge. Slow: can take 30-120 seconds.
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization: Bearer header)"
},
"profile_url": {
"type": "string",
"description": "Public profile page URL of the person"
},
"profile_urn": {
"type": "string",
"description": "profile_urn value from a search_leads row, e.g. urn:li:fs_salesProfile:(ACwAA...,NAME_SEARCH,abcd)"
},
"first_name": {
"type": "string",
"description": "Optional first name (improves matching)"
},
"last_name": {
"type": "string",
"description": "Optional last name (improves matching)"
},
"company": {
"type": "string",
"description": "Optional company name (improves matching)"
}
}
}🟢enrich_profile(card_no, profile_urn)
Fetch the complete public profile of one person found by search_leads: headline, about summary, positions (experience), educations, skills, languages, public contact info (emails/phones/websites), connection count and the real public profile URL. Input is the profile_urn field from a search_leads row. Billing: 1 credit per successful fetch; repeating the same person within 24h is free (cached). Takes 5-30 seconds.
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization: Bearer header)"
},
"profile_urn": {
"type": "string",
"description": "profile_urn value from a search_leads row, e.g. urn:li:fs_salesProfile:(ACwAA...,NAME_SEARCH,abcd)"
}
},
"required": [
"profile_urn"
]
}🟢parse_icp(card_no, description, entity_type)
Free. Turn a natural-language description (any language) of your ideal customer or candidate into structured suggestions: entity_type (people/company), scoring dimensions, and search filter suggestions (industry, geography, titles, company size, ...). Use the output to compose keywords/query for search_leads, search_companies or create_search_task.
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization: Bearer header)"
},
"description": {
"type": "string",
"description": "One-paragraph description of the ideal customer/candidate, e.g. \"medical device purchasing managers in Australia\" or \"Shanghai-based senior semiconductor recruiters\""
},
"entity_type": {
"type": "string",
"enum": [
"people",
"company"
],
"description": "Optional: people = find persons, company = find companies (auto-detected when omitted)"
}
},
"required": [
"description"
]
}🟡create_search_task(card_no, task_type, query, title, page_from, ...)
Create a background B2B search task (people or company). Pages are fetched slowly in the background under strict rate limits. Credits are frozen upfront and settled by actual rows fetched. Returns the task plus queue position and ETA (hours).
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization: Bearer header)"
},
"task_type": {
"type": "string",
"enum": [
"people",
"company"
],
"description": "Search type"
},
"query": {
"type": "string",
"description": "Sales-style filter string, e.g. (filters:List((type:CURRENT_COMPANY,values:List((id:123,text:Acme,selectionType:INCLUDED)))))"
},
"title": {
"type": "string",
"description": "Optional task title"
},
"page_from": {
"type": "integer",
"description": "First page (default 1)"
},
"page_to": {
"type": "integer",
"description": "Last page (default = page_from)"
},
"page_size": {
"type": "integer",
"description": "Rows per page, max 100 (default 25)"
}
},
"required": [
"task_type",
"query"
]
}🟢list_tasks(card_no)
List all tasks for this card with status, progress and usage snapshot.
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization header)"
}
}
}🟢get_task(card_no, task_id)
Get one task: status, progress, billing (frozen/charged), queue position and ETA. Does not return result rows (use get_task_results).
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization header)"
},
"task_id": {
"type": "string",
"description": "Task id, e.g. t_8a67cd3548bc"
}
},
"required": [
"task_id"
]
}🟢get_task_results(card_no, task_id, offset, limit)
Get kept result rows of a task (paginated). Rows are simplified: name/title/company/location/email/link/page.
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization header)"
},
"task_id": {
"type": "string",
"description": "Task id"
},
"offset": {
"type": "integer",
"description": "Row offset (default 0)"
},
"limit": {
"type": "integer",
"description": "Max rows to return, up to 200 (default 50)"
}
},
"required": [
"task_id"
]
}🟢resolve_filter(card_no, filter_type, text)
Free. Turn a human filter value (region "Shanghai", industry "Medical Device", title "CEO", company "Siemens", ...) into search filter options with IDs, plus a ready-to-paste filter_snippet for the query parameter of search_leads / search_companies / create_search_task. Combine snippets like: (filters:List(SNIPPET,SNIPPET),keywords:...,spellCorrectionEnabled:true).
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization: Bearer header)"
},
"filter_type": {
"type": "string",
"enum": [
"REGION",
"INDUSTRY",
"CURRENT_COMPANY",
"PAST_COMPANY",
"TITLE",
"COMPANY_SIZE",
"SENIORITY",
"FUNCTION",
"SCHOOL"
],
"description": "Which filter to resolve"
},
"text": {
"type": "string",
"description": "The value to resolve, e.g. \"Shanghai\" / \"Medical Device\" / \"CEO\". Optional for enum-like types (INDUSTRY, COMPANY_SIZE, SENIORITY, FUNCTION): omit to list all options."
}
},
"required": [
"filter_type"
]
}🟢enrich_company(card_no, company_id, company_urn, link)
Fetch full details of one company found by search_companies: description, website, industry, headquarters, employee count and growth, revenue range, specialties, type, year founded. Input: company_id / company_urn / link from a search_companies row. Billing: free, same as company details in the web app (results cached for 24h).
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization: Bearer header)"
},
"company_id": {
"type": "string",
"description": "Numeric company id, e.g. \"2382910\""
},
"company_urn": {
"type": "string",
"description": "company_urn value from a search_companies row"
},
"link": {
"type": "string",
"description": "Company link containing /company/<id>"
}
}
}🟢bulk_query_email(card_no, profile_urns, profile_urls)
Start a background email lookup batch for up to 50 people. Provide profile_urns (from search_leads rows) and/or profile_urls. Deliberately slow (3-8s between people; up to 1-2 min per person worst case). Billing: email_cost credits charged ONLY per person whose email or phone is actually found. Returns job_id - poll get_bulk_email_results. One active batch per card.
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization: Bearer header)"
},
"profile_urns": {
"type": "array",
"items": {
"type": "string"
},
"description": "profile_urn values from search_leads rows"
},
"profile_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Public profile page URLs"
}
}
}🟢get_bulk_email_results(card_no, job_id)
Free. Get status and per-person results of a bulk_query_email job. Jobs expire 24h after creation and the in-memory queue is lost on server restart (credits are only charged per found email, so nothing is lost financially).
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization header)"
},
"job_id": {
"type": "string",
"description": "Job id returned by bulk_query_email, e.g. be_1a2b3c4d5e6f"
}
},
"required": [
"job_id"
]
}🟢score_rows(card_no, icp_description, dimensions, entity_type, locale, ...)
Score up to 25 rows against your ideal-customer profile with AI. Billing: 1 credit per call (up to 25 rows, same as AI scoring in the web app), charged only when at least one row is scored. Provide icp_description (any language) - or reuse the dimensions array returned by a previous call to skip re-parsing - plus rows like {name,title,company,location,summary}. Returns 0-100 score, verdict, confidence and a one-line reason per row. Takes a few seconds per row.
入力スキーマ
{
"type": "object",
"properties": {
"card_no": {
"type": "string",
"description": "Card number (optional if provided via Authorization: Bearer header)"
},
"icp_description": {
"type": "string",
"description": "One-paragraph ideal-customer/candidate description"
},
"dimensions": {
"type": "array",
"items": {
"type": "object"
},
"description": "Optional: dimensions from a previous score_rows/parse_icp result (skips re-parsing)"
},
"entity_type": {
"type": "string",
"enum": [
"people",
"company"
],
"description": "Optional, default people"
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
],
"description": "Language of reasons (default zh)"
},
"rows": {
"type": "array",
"items": {
"type": "object"
},
"description": "1-25 rows: {name,title,company,location,summary}"
}
},
"required": [
"rows"
]
}コミュニティ
エビデンス