MCP App Store
by KeenEthics

Overview

Automate your outreach across B2B channels, right from your GPT. Find prospects, research people and companies, personalize and send your messages, send connection requests, and read your inbox and replies, all from your own connected accounts.

Tools

channel_get_conversation

ChatGPT
Get the messages in one conversation thread (read-only; LinkedIn today). Identify it by conversation_id or profile_url.

channel_get_emails

ChatGPT
Read your most recently received emails from your connected mailbox inbox (Gmail / Outlook / SMTP; read-only). Use this for requests like 'get my last N emails', 'check my inbox', or 'show my recent replies'. Bounces are flagged. account_id is optional when only one mailbox is connected; if the user names a specific mailbox (e.g. 'my gmail'), call linkupapi_list_accounts and pass the matching account_id. Pass unread_only to return only unread messages.

channel_get_profile

ChatGPT
Profile & company lookups on a connected channel (read-only; LinkedIn today). Pick an action and pass the matching params: - get_me: no params — returns your own profile. - get: { profile_url | identifier, profile_urn? } — full public profile. - get_contact: { profile_url } — contact info (email, phone if visible). - search_people: { keyword?, location?, current_company?, company_url?, first_name?, last_name?, title?, industry?, school_url?, network?, offset?, limit? }. - search_companies: { keyword?, location?, sector?, company_size?, offset?, limit? }. - get_company: { company_url } — full company page data. - get_candidates: { job_id, total_results? } — applicants for a job (recruiter). - get_viewers: { count?, offset? } — who viewed your profile. - get_reactions: { profile_url, count?, cursor? } — reactions on a profile's posts. - get_comments: { profile_url, count?, cursor? } — comments authored by a profile.

channel_list_messages

ChatGPT
List your inbox on a connected channel (read-only; LinkedIn today). category in INBOX/INMAIL/JOB/UNREAD/ARCHIVED/SPAM.

channel_list_network

ChatGPT
Connections & invitations lookups on a connected channel (read-only; LinkedIn today). Pick an action: - list_connections: { count?, offset? } — your connections (paginated, max 1000/call). - list_invitations: { count?, offset?, invitation_type? } — received invitations. - list_sent: { count?, offset?, invitation_type? } — invitations you sent. - check_invitation: { profile_url } — connection status with that profile. - recommendations: { count? } — people the channel recommends you connect with.

channel_recruiter_read

ChatGPT
Recruiter / jobs lookups on a connected channel (read-only, requires recruiter access; LinkedIn today). Pick an action: - get_posts: { job_id?, count?, offset?, fetch_details? } — your posted jobs. Pass job_id to fetch one specific job. - get_candidates: { job_id, count?, offset? } — applicants for a job. - get_cv: { application_id } — download an applicant's CV (returned base64).

channel_search_content

ChatGPT
Post search & feed on a connected channel (read-only; LinkedIn today). Pick an action: - search: { keyword?, post_type?, sort_by?, post_date?, profile_url?, company_url?, author_company?, author_industry?, author_job_title?, mentions_member?, mentions_organization?, posted_by?, count?, offset? }. - get_feed: { count?, cursor? } — your home feed. - get_comments: { post_url, count?, offset? }. - get_reactions: { post_url, count?, offset? }.

channel_send_connection

ChatGPT
Send a connection request on a connected channel (message <=300 chars; LinkedIn today). The recipient is notified immediately — cannot be recalled even if later withdrawn.

channel_send_email

ChatGPT
Send an email from your connected mailbox (Gmail / Outlook / SMTP). Delivered immediately from your mailbox and cannot be unsent. Body: pass text (plain text — often the best-delivering format for cold outreach), html, or both. account_id is optional when only one mailbox is connected; if the user names a specific mailbox (e.g. 'from my gmail'), call linkupapi_list_accounts and pass the matching account_id.

channel_send_message

ChatGPT
Send a DM on a connected channel (LinkedIn today). Delivered immediately and cannot be unsent. media_file = { data: base64, filename }. media_link = public URL.

linkupapi_enrich

ChatGPT
Public-data enrichment & email tools. No account_id required — uses LinkupAPI's managed pipeline. Pick an action and provide the matching params: - enrich_person: { first_name, last_name, company_name } — finds the LinkedIn URL and returns the full profile. - enrich_company: { company_domain | company_url } — company info from a domain or URL. - find_email: { linkedin_url } OR { first_name, last_name, company_name | company_domain } — professional email finder. - validate_email: { email } — SMTP, MX & catch-all check. - reverse_email: { email } — finds the person behind a professional email (personal providers like gmail/yahoo are rejected). - search_jobs: { keywords, location?, country?, limit?, is_remote?, job_type? } — job board postings (Indeed/LinkedIn/Glassdoor). country drives the Indeed/Glassdoor region; if omitted it is inferred from location (e.g. 'Madrid, Spain' → spain), else defaults to france. job_type ∈ fulltime|parttime|contract|internship. - extract_employees: { company_url, limit? } — employees of a company (LinkedIn search). Cost: 1 credit per call.

linkupapi_get_account

ChatGPT
Get full details of one account (status, country, webhook_url, timestamps).

linkupapi_get_credits

ChatGPT
Get the current credit balance for the authenticated API key.

linkupapi_get_logs

ChatGPT
List API call logs for the authenticated user. Filter by action (e.g. 'send', 'invite'), account_id, or status ('success' / 'error').

linkupapi_get_usage_stats

ChatGPT
Aggregated API usage over the full history: total calls and credits, plus per-account and per-action breakdowns (calls, successes, errors, credits). Pass account_id to get the per-action detail of one account. Optional ISO date range (date_from / date_to, YYYY-MM-DD, date_to inclusive).

linkupapi_list_accounts

ChatGPT
List every channel account connected to your API key — each with its account_id, platform (linkedin/email), mailbox address, provider (gmail/outlook), and status. Call this to pick the right account_id when the user names a specific account or mailbox (e.g. 'my gmail'). A LinkedIn account with a Recruiter seat carries its id in recruiter.account_id: that is the account_id linkedin_recruiter_seat takes.

Capabilities

Writes

Similar Apps