Reach MCP — LinkedIn for AI agents is a remote MCP server that gives an AI agent 52 tools, among them accept_invitation, archive_conversation, comment_post. It answers at https://app.reachmcp.com/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 10 September 2026; the last check, on 19 October 2026, succeeded.
LinkedIn for AI agents: inbox, invitations, Sales Navigator search, posts, jobs, quotas, webhooks.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
accept_invitation | Accept a pending received connection request. Inputs: account_id, linkedin_id_or_url, idempotency_key |
archive_conversation | Archive or unarchive a LinkedIn conversation. Set archive=false to unarchive. conversation_linkedin_id is the conversation_id returned by list_conversations. Inputs: account_id, conversation_linkedin_id, archive, idempotency_key |
comment_post | Post a comment on a LinkedIn post on behalf of the connected account. Inputs: account_id, post_url_or_urn, text, idempotency_key |
connect | Send a connection request to a LinkedIn member. Optional message capped at 300 chars (premium) or 200 chars. Inputs: account_id, linkedin_id_or_url, message, idempotency_key |
create_multi_photo | Create a LinkedIn multi-photo object from a list of digitalmediaAsset URNs. Returns an identifierUrn (urn:li:fsd_multiPhoto:…) to pass to create_post. author_urn is the urn:li:fsd_profile:… of the connected account (get it from get_me). Inputs: account_id, author_urn, media_urns, alt_texts, idempotency_key |
create_post | Create or schedule a LinkedIn post, optionally with a media attachment. For a single image pass a urn:li:digitalmediaAsset:… URN; for multiple images pass a urn:li:fsd_multiPhoto:… URN from create_multi_photo. Set scheduled_at (Unix ms) to Inputs: account_id, text, media_urn, scheduled_at, visibility, allowed_commenters_scope |
create_webhook_endpoint | Register a URL to be called when something happens on LinkedIn, so an agent or an n8n/Make workflow can react instead of polling. Returns the signing secret ONCE; deliveries carry 'Reach-Signature: t=<unix>,v1=<hex HMAC-SHA256(secret, t + ' Inputs: url, events, account_ids, description, idempotency_key |
decline_invitation | Decline/ignore a pending received connection request. Inputs: account_id, linkedin_id_or_url, idempotency_key |
delete_account | Delete a LinkedIn account by account_id. Also clears invitation references before deletion. Inputs: account_id, idempotency_key |
delete_conversation | Permanently delete a LinkedIn conversation. conversation_linkedin_id is the conversation_id returned by list_conversations. Inputs: account_id, conversation_linkedin_id, idempotency_key |
delete_scheduled_post | Delete a scheduled LinkedIn post. post_urn is the URN returned by list_scheduled_posts (e.g. urn:li:ugcPost:…). Inputs: account_id, post_urn, idempotency_key |
delete_webhook_endpoint | Delete a webhook endpoint and its delivery history. Inputs: endpoint_id, idempotency_key |
follow | Follow or unfollow a LinkedIn member without connecting. Set follow=false to unfollow. Inputs: account_id, linkedin_id_or_url, follow, idempotency_key |
get_account_quotas | Get the quotas configuration and usage counters for a LinkedIn account. Inputs: account_id |
get_account_request_logs | Get request logs for a LinkedIn account with optional filtering by request_type and pagination using limit/offset. Inputs: account_id, request_type, limit, offset |
get_account_request_logs_stats | Get aggregated request-log statistics for a LinkedIn account, grouped by day, week, or month, with optional action and date-range filters. Inputs: account_id, group_by, request_type, start_date, end_date |
get_me | Call LinkedIn Voyager /me for an account through the stored proxy/cookies and return the normalized profile (same fields as Kanbox uses from /me). Inputs: account_id |
invitation_status | Get the connection and invitation status between the connected account and a LinkedIn member. Returns is_connection, invitation_type (SENT/PENDING/WITHDRAWN/REFUSED). Inputs: account_id, linkedin_id_or_url |
like_post | Like a LinkedIn post on behalf of the connected account. Pass the post URL, slug, or URN. Inputs: account_id, post_url_or_urn, idempotency_key |
list_accounts | Return LinkedIn accounts accessible with the provided API key. If the key is restricted, only allowed account IDs are returned. |
list_connections | List LinkedIn 1st-degree connections for an account (Voyager dash connections), paged with start/count — same payload as GET /api/linkedin/{account_id}/connections. Inputs: account_id, start, count |
list_conversation_messages | List messages in a LinkedIn conversation via Voyager ``/messaging/conversations/{id}/events`` (Kanbox ``get_conversation_messages``), with optional created_before paging — same as GET /api/linkedin/{account_id}/conversations/{conversation_l Inputs: account_id, conversation_linkedin_id, created_before |
list_conversations | List LinkedIn messenger conversations (Voyager Messaging GraphQL), with optional archived, unread, starred filters and next_cursor paging — same as GET /api/linkedin/{account_id}/conversations. Each item returns conversation_id (the thread Inputs: account_id, archived, unread, starred, count, next_cursor |
list_received_invitations | List pending connection invitations received by the account (with invitation_secret to accept them). Inputs: account_id, start, count |
list_scheduled_posts | List scheduled LinkedIn posts for an account, paged. Returns post URNs, text content, and scheduled publish times. Inputs: account_id, start, count |
list_sent_invitations | List pending connection invitations sent by the account that have not yet been accepted. Inputs: account_id, start, count |
list_webhook_endpoints | List the webhooks registered for this user: the URLs Reach calls when a conversation gets a new message (message.received), the account gains a 1st-degree connection (connection.new), an account changes connection state (account.status_chan |
profile_viewers | Get the list of members who recently viewed the account's profile (requires LinkedIn Premium). Inputs: account_id |
reach_playbooks | START HERE. Return the catalogue of ready-made LinkedIn playbooks — what this server can actually accomplish, as named workflows rather than raw endpoints. Each entry carries its tool sequence, its prerequisites, and the full instructions t Inputs: playbook_id, include_instructions |
react_message | Add or remove an emoji reaction on a LinkedIn message. Set react=false to remove the reaction. message_urn is the message_urn returned by list_conversation_messages (e.g. urn:li:msg_message:(urn:li:fsd_profile:…,123456789)). emoji is a Unic Inputs: account_id, message_urn, emoji, react, conversation_linkedin_id, idempotency_key |
remove_connection | Remove an existing 1st-degree connection. Inputs: account_id, linkedin_id_or_url, idempotency_key |
reply_comment | Post a reply to an existing LinkedIn comment. Pass the comment_id (URN) returned by scrape_post as comment_urn — it is used directly as threadUrn. Inputs: account_id, comment_urn, text, idempotency_key |
salesnav_build_search_url | Build a Sales Navigator people-search URL from structured lead-search filters, using as many filters as the request implies. RESOLUTION: `industry` accepts numeric ids OR names (auto-resolved via the taxonomy); `region` accepts numeric REGI Inputs: account_id, keywords, current_title, past_title, first_name, last_name |
salesnav_list_messaging_threads | List Sales Navigator messaging threads (salesApiMessagingThreads). Requires the account to have a Sales Navigator subscription (has_sales_nav). Returns threads with messages and participant profiles. Paginate by passing next_page_starts_at Inputs: account_id, filter, count, page_starts_at |
salesnav_list_thread_messages | Fetch a Sales Navigator thread with all its messages and participant profiles (salesApiMessagingThreads/{id}). Requires a Sales Navigator subscription. Use the thread id returned by salesnav_list_messaging_threads. message_count controls ho Inputs: account_id, thread_id, message_count |
salesnav_resolve_industry | Resolve an industry name (any language) to its LinkedIn Industry Code(s) using the bundled Industry Codes V2 taxonomy (offline, no LinkedIn call). Returns ranked candidates with id, label and hierarchy path. Use the returned id(s) in salesn Inputs: query, limit |
salesnav_send_message | Send a message in an existing Sales Navigator thread (salesApiMessageActions). Requires the account to have a Sales Navigator subscription. Use the thread id returned by salesnav_list_messaging_threads. Inputs: account_id, thread_id, text, copy_to_crm, idempotency_key |
salesnav_typeahead | Live Sales Navigator autocomplete for facets whose ids are dynamic. Use type='geo' to resolve a location to its REGION id (the only reliable way — LinkedIn region ids are not enumerable), and type='company' / 'school' / 'title' for those en Inputs: account_id, type, query, count |
scrape_my_posts | Fetch likers and/or commenters for the account's own recent posts. since_hours limits to posts published in the last N hours (default 24). Inputs: account_id, liked, comments, since_hours, max_posts |
scrape_post | Fetch likers and/or commenters for a LinkedIn post. Pass the full post URL or slug. Set liked=true and/or comments=true. Inputs: account_id, post_id_or_url, liked, comments |
scrape_profile, scrape_search, send_message, star_conversation, test_webhook_endpoint, update_account_quotas, update_scheduled_post, update_webhook_endpoint, upload_media_from_url, user_posts, visit_profile, withdraw_invitation
Every block below points at https://app.reachmcp.com/mcp. Pick your client and copy.
claude mcp add --transport http reach-mcp-linkedin-for-ai-agents https://app.reachmcp.com/mcp
{
"mcpServers": {
"reach-mcp-linkedin-for-ai-agents": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://app.reachmcp.com/mcp"]
}
}
}{
"mcpServers": {
"reach-mcp-linkedin-for-ai-agents": {
"url": "https://app.reachmcp.com/mcp"
}
}
}{
"servers": {
"reach-mcp-linkedin-for-ai-agents": {
"type": "http",
"url": "https://app.reachmcp.com/mcp"
}
}
}{
"context_servers": {
"reach-mcp-linkedin-for-ai-agents": {
"url": "https://app.reachmcp.com/mcp"
}
}
}{
"mcpServers": {
"reach-mcp-linkedin-for-ai-agents": {
"serverUrl": "https://app.reachmcp.com/mcp"
}
}
}{
"mcpServers": {
"reach-mcp-linkedin-for-ai-agents": {
"url": "https://app.reachmcp.com/mcp"
}
}
}name: Reach MCP — LinkedIn for AI agents
version: 0.0.1
schema: v1
mcpServers:
- name: Reach MCP — LinkedIn for AI agents
type: streamable-http
url: https://app.reachmcp.com/mcp{
"mcpServers": {
"reach-mcp-linkedin-for-ai-agents": {
"httpUrl": "https://app.reachmcp.com/mcp"
}
}
}{
"mcpServers": {
"reach-mcp-linkedin-for-ai-agents": {
"type": "http",
"url": "https://app.reachmcp.com/mcp"
}
}
}{
"mcpServers": {
"reach-mcp-linkedin-for-ai-agents": {
"url": "https://app.reachmcp.com/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fapp.reachmcp.com%2Fmcp&type=streamable_http&id=reach-mcp-linkedin-for-ai-agents&name=Reach%20MCP%20%E2%80%94%20LinkedIn%20for%20AI%20agents
It answered our last check on 19 October 2026 in 239 ms. Over 6 checks since 10 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by reachmcp.com and served from app.reachmcp.com, the vendor's own domain: https://app.reachmcp.com/mcp.
52, as returned by the server's own tools/list on 11 September 2026: accept_invitation, archive_conversation, comment_post, connect, create_multi_photo, create_post, create_webhook_endpoint, decline_invitation, and 44 more.
It answered our last check on 19 October 2026 in 239 ms. Over 6 checks since 10 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://app.reachmcp.com/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: com.reachmcp. Endpoint host: app.reachmcp.com. ARD identifier: urn:air:com.reachmcp:mcp:linkedin.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.