# TopClozer > TopClozer is a hosted LinkedIn MCP server: one remote endpoint, https://topclozer.com/api/mcp, with 65 tools for Claude, Cursor, ChatGPT, VS Code or any other client that speaks MCP over HTTP. Of those, 43 reach LinkedIn through a LinkedIn account connected to your workspace: 28 read it — people, companies, posts, jobs, profiles, the inbox, the network — and 15 propose an action (an invite, a message, an InMail, a comment, a reaction, a follow, a post) that waits until a person approves it. The other 22 work on the workspace itself, on our server. To connect Claude, create a workspace API key in the app and add the endpoint with that key as a bearer token: one claude mcp add command in Claude Code, or a custom connector in Claude Desktop. Facts, read from the code that serves the endpoint: - Endpoint: https://topclozer.com/api/mcp. An unauthenticated GET returns the server name, version and tool list. - Transport: Streamable HTTP. JSON-RPC 2.0 over HTTP POST with JSON responses. No SSE stream: a GET asking for text/event-stream answers 405. - Protocol: 2025-06-18 (2025-03-26 and 2024-11-05 also accepted). Server: topclozer-mcp 2.0.0. - Auth: Workspace API key as a bearer token — `Authorization: Bearer tcz_live_…`. Also accepted: an X-Api-Key header, or ?key= in the URL for clients that accept only a URL. No OAuth. Keys are created in the app under Developer. - Tools: 65. 43 reach LinkedIn through a LinkedIn account connected to the workspace; 22 work on the workspace on our server. Only connect_linkedin_account, propose_connection_request, propose_message, propose_profile_visit, propose_inmail, propose_reply, propose_withdraw_invitation, propose_accept_invitation, propose_ignore_invitation, propose_follow, propose_unfollow, propose_endorsement, propose_post_reaction, propose_comment, propose_post, propose_message_reaction, add_do_not_contact, pause_campaign and install_product change anything, and none of them writes to LinkedIn. No tool sends an invite, a message, a reply, a follow or a like. - Rate limit: the LinkedIn tools share 30 calls per 5 minutes per workspace; past it, HTTP 429 with Retry-After. Workspace tools are not limited. - LinkedIn account: the LinkedIn tools need one connected to the workspace. No plan includes one, and pointing automation at a personal profile breaks LinkedIn's User Agreement. - Setup guides exist for Claude, Cursor, ChatGPT and VS Code. Any client that adds a remote MCP server over HTTP works; one that requires SSE or OAuth will not connect. - Price: The hosted MCP endpoint, with every tool it serves, is in the Free tier ($0). ## MCP server - [LinkedIn MCP server](https://topclozer.com/mcp): what the server is, the endpoint, authentication, protocol details, error codes and what it does not do - [Hosted MCP endpoint](https://topclozer.com/hosted-mcp): the hosted endpoint: what is read-only, what is rate limited, what is not built yet - [Tool reference](https://topclozer.com/mcp/tools): all 65 tools with arguments, response shapes and error cases - [Accounts for agents](https://topclozer.com/mcp/accounts-for-agents): which LinkedIn account an agent should act as, and why not a personal profile - [LinkedIn MCP server directory](https://topclozer.com/mcp/directory): other LinkedIn MCP servers, compared by how each one reaches LinkedIn ## Tools - [search_linkedin_people](https://topclozer.com/mcp/tools/search_linkedin_people): Search LinkedIn for people matching an ICP, through a connected sender account (reads LinkedIn through a connected account, rate limited) - [get_linkedin_profile](https://topclozer.com/mcp/tools/get_linkedin_profile): Read one LinkedIn profile: identity, current role, followers, job-change signal and latest post (reads LinkedIn through a connected account, rate limited) - [get_linkedin_posts](https://topclozer.com/mcp/tools/get_linkedin_posts): Recent posts by a LinkedIn member or company page, newest first (reads LinkedIn through a connected account, rate limited) - [list_linkedin_connections](https://topclozer.com/mcp/tools/list_linkedin_connections): First-degree connections of a connected sender account (reads LinkedIn through a connected account, rate limited) - [get_account_seat](https://topclozer.com/mcp/tools/get_account_seat): What the connected LinkedIn seat includes: Premium, Sales Navigator, Recruiter, Open Profile, InMail credits left, company pages it can message as (reads LinkedIn through a connected account, rate limited) - [get_my_profile](https://topclozer.com/mcp/tools/get_my_profile): The connected account's own LinkedIn profile: name, headline, location, public URL, email (reads LinkedIn through a connected account, rate limited) - [get_profile_viewers](https://topclozer.com/mcp/tools/get_profile_viewers): Who viewed the connected account's profile recently, as LinkedIn lists it (reads LinkedIn through a connected account, rate limited) - [get_ssi](https://topclozer.com/mcp/tools/get_ssi): The connected account's LinkedIn Social Selling Index: overall score and the four pillars (reads LinkedIn through a connected account, rate limited) - [get_profile_sections](https://topclozer.com/mcp/tools/get_profile_sections): One LinkedIn profile in depth: experience, education, skills (with endorsement ids), languages, certifications, projects, recommendations, contact info (reads LinkedIn through a connected account, rate limited) - [check_reachability](https://topclozer.com/mcp/tools/check_reachability): Before reaching out: degree of connection, pending invitation, whether a connection request, a message or an InMail can go to this person — and whether the do-not-contact list or another account of the workspace already covers them (reads LinkedIn through a connected account, rate limited) - [get_company](https://topclozer.com/mcp/tools/get_company): A LinkedIn company page: description, industry, size, headquarters, followers, website, employee growth (reads LinkedIn through a connected account, rate limited) - [get_post](https://topclozer.com/mcp/tools/get_post): One LinkedIn post: text, author, reactions, comments, reposts, and whether the account can react or comment (reads LinkedIn through a connected account, rate limited) - [list_post_comments](https://topclozer.com/mcp/tools/list_post_comments): Comments on a LinkedIn post, or replies to one comment — with each commenter's headline and degree (reads LinkedIn through a connected account, rate limited) - [list_post_reactions](https://topclozer.com/mcp/tools/list_post_reactions): Who reacted to a LinkedIn post (or one of its comments), with each person's headline and degree — the warmest leads a post produces (reads LinkedIn through a connected account, rate limited) - [get_profile_activity](https://topclozer.com/mcp/tools/get_profile_activity): What a member has been doing on LinkedIn: the comments they wrote or the posts they reacted to (reads LinkedIn through a connected account, rate limited) - [list_sent_invitations](https://topclozer.com/mcp/tools/list_sent_invitations): Connection requests the account sent that are still pending — the ones to withdraw before they hurt the accept rate (reads LinkedIn through a connected account, rate limited) - [list_received_invitations](https://topclozer.com/mcp/tools/list_received_invitations): Connection requests the account received and has not answered, with each inviter's headline and note (reads LinkedIn through a connected account, rate limited) - [list_followers](https://topclozer.com/mcp/tools/list_followers): Followers of the connected account, or of another member or company (reads LinkedIn through a connected account, rate limited) - [list_following](https://topclozer.com/mcp/tools/list_following): Members and pages the connected account follows (reads LinkedIn through a connected account, rate limited) - [list_conversations](https://topclozer.com/mcp/tools/list_conversations): The account's LinkedIn conversations, newest first — classic, Sales Navigator, Recruiter and company-page inboxes (reads LinkedIn through a connected account, rate limited) - [get_conversation](https://topclozer.com/mcp/tools/get_conversation): One LinkedIn conversation: who is in it (headline, degree) and its messages, oldest first (reads LinkedIn through a connected account, rate limited) - [list_recent_messages](https://topclozer.com/mcp/tools/list_recent_messages): The latest LinkedIn messages across all of the account's conversations, newest first (reads LinkedIn through a connected account, rate limited) - [search_linkedin_companies](https://topclozer.com/mcp/tools/search_linkedin_companies): Search LinkedIn companies by keywords, location, industry and headcount — classic or Sales Navigator (reads LinkedIn through a connected account, rate limited) - [search_linkedin_posts](https://topclozer.com/mcp/tools/search_linkedin_posts): Search LinkedIn posts by keywords — the conversations a market is having this week (reads LinkedIn through a connected account, rate limited) - [search_linkedin_jobs](https://topclozer.com/mcp/tools/search_linkedin_jobs): Search LinkedIn job postings — the companies hiring for a role are the companies with the budget (reads LinkedIn through a connected account, rate limited) - [search_linkedin_url](https://topclozer.com/mcp/tools/search_linkedin_url): Run a search a person built in LinkedIn or Sales Navigator and copied the URL of — people, companies, posts or jobs, filters intact (reads LinkedIn through a connected account, rate limited) - [find_company_people](https://topclozer.com/mcp/tools/find_company_people): The people at one company who match a role — decision makers, a department, a title — through the account's search (reads LinkedIn through a connected account, rate limited) - [lookup_search_filter](https://topclozer.com/mcp/tools/lookup_search_filter): The ids LinkedIn's typed search filters take, for a name: a location, industry, company, school, job title, skill… (reads LinkedIn through a connected account, rate limited) - [list_sender_accounts](https://topclozer.com/mcp/tools/list_sender_accounts): The LinkedIn accounts this workspace can act as, with their status, warm-up stage and remaining daily budget (workspace, read-only) - [connect_linkedin_account](https://topclozer.com/mcp/tools/connect_linkedin_account): Connect a LinkedIn account to this workspace. Returns a sign-in link, valid for 24 hours, for the PERSON to open and sign in to LinkedIn on the provider's hosted page; the account is added when they finish. Give the person the URL. Never ask them for their LinkedIn password, a verification code or a session cookie — they enter those only on that page (workspace; writes to our server, not to LinkedIn) - [propose_connection_request](https://topclozer.com/mcp/tools/propose_connection_request): Propose a LinkedIn connection request. It is NOT sent: it waits in the workspace's Approvals queue until a person approves it, then goes out under the account's Smart Limits. (reads LinkedIn through a connected account, rate limited) - [propose_message](https://topclozer.com/mcp/tools/propose_message): Propose a LinkedIn message to a 1st-degree connection. It is NOT sent: it waits in Approvals until a person approves (and may edit) it. (reads LinkedIn through a connected account, rate limited) - [propose_profile_visit](https://topclozer.com/mcp/tools/propose_profile_visit): Propose visiting a LinkedIn profile as the account — the person will see it in "Who viewed your profile". NOT done until approved. (reads LinkedIn through a connected account, rate limited) - [propose_inmail](https://topclozer.com/mcp/tools/propose_inmail): Propose an InMail to someone outside the account's network. NOT sent: it waits in Approvals. Spends an InMail credit when sent, unless the person has an Open Profile. (reads LinkedIn through a connected account, rate limited) - [propose_reply](https://topclozer.com/mcp/tools/propose_reply): Propose a reply in an existing LinkedIn conversation. NOT sent: it waits in Approvals. (reads LinkedIn through a connected account, rate limited) - [propose_withdraw_invitation](https://topclozer.com/mcp/tools/propose_withdraw_invitation): Propose withdrawing a pending connection request. NOT done until approved. LinkedIn then blocks re-inviting that person for about three weeks. (reads LinkedIn through a connected account, rate limited) - [propose_accept_invitation](https://topclozer.com/mcp/tools/propose_accept_invitation): Propose accepting a connection request the account received. NOT done until approved. (reads LinkedIn through a connected account, rate limited) - [propose_ignore_invitation](https://topclozer.com/mcp/tools/propose_ignore_invitation): Propose ignoring a connection request the account received. NOT done until approved. (reads LinkedIn through a connected account, rate limited) - [propose_follow](https://topclozer.com/mcp/tools/propose_follow): Propose following a LinkedIn member — a softer first touch than an invitation. NOT done until approved. (reads LinkedIn through a connected account, rate limited) - [propose_unfollow](https://topclozer.com/mcp/tools/propose_unfollow): Propose unfollowing a LinkedIn member. NOT done until approved. (reads LinkedIn through a connected account, rate limited) - [propose_endorsement](https://topclozer.com/mcp/tools/propose_endorsement): Propose endorsing one of a member's skills. NOT done until approved. The person is notified. (reads LinkedIn through a connected account, rate limited) - [propose_post_reaction](https://topclozer.com/mcp/tools/propose_post_reaction): Propose reacting to a LinkedIn post or one of its comments. NOT done until approved. (reads LinkedIn through a connected account, rate limited) - [propose_comment](https://topclozer.com/mcp/tools/propose_comment): Propose a comment on a LinkedIn post, or a reply to a comment on it. NOT posted until approved. Public and permanent. (reads LinkedIn through a connected account, rate limited) - [propose_post](https://topclozer.com/mcp/tools/propose_post): Propose a post on the account's own feed, optionally scheduled. NOT published until approved — and not before publish_at. (reads LinkedIn through a connected account, rate limited) - [propose_message_reaction](https://topclozer.com/mcp/tools/propose_message_reaction): Propose reacting to a LinkedIn message with an emoji. NOT done until approved. (reads LinkedIn through a connected account, rate limited) - [get_approval](https://topclozer.com/mcp/tools/get_approval): The status of a proposal made with any propose_* tool: pending, approved, sent, rejected, failed or expired (workspace, read-only) - [list_approvals](https://topclozer.com/mcp/tools/list_approvals): Proposals in this workspace and what became of them: pending, approved, sent, rejected, failed or expired (workspace, read-only) - [list_do_not_contact](https://topclozer.com/mcp/tools/list_do_not_contact): The workspace's do-not-contact list: people and companies no account may invite, message or InMail (workspace, read-only) - [add_do_not_contact](https://topclozer.com/mcp/tools/add_do_not_contact): Add a person or a company to the do-not-contact list. It can only stop outreach, never start it. (workspace; writes to our server, not to LinkedIn) - [get_usage](https://topclozer.com/mcp/tools/get_usage): How many LinkedIn tool calls this workspace has made this month, and the rate limit in force (workspace, read-only) - [list_campaigns](https://topclozer.com/mcp/tools/list_campaigns): List all campaigns with performance stats (workspace, read-only) - [get_stats](https://topclozer.com/mcp/tools/get_stats): Get workspace-wide outreach stats (workspace, read-only) - [list_leads](https://topclozer.com/mcp/tools/list_leads): List lead lists and leads (workspace, read-only) - [get_inbox](https://topclozer.com/mcp/tools/get_inbox): Get unified inbox conversations (workspace, read-only) - [list_tasks](https://topclozer.com/mcp/tools/list_tasks): List drafts waiting for approval (workspace, read-only) - [pause_campaign](https://topclozer.com/mcp/tools/pause_campaign): Pause a campaign by id (workspace; writes to our server, not to LinkedIn) - [search_capabilities](https://topclozer.com/mcp/tools/search_capabilities): Search what TopClozer products can actually do, and what performs each capability today (workspace, read-only) - [search_products](https://topclozer.com/mcp/tools/search_products): Search the TopClozer catalogue by outcome, kind, tier, price, risk or capability (workspace, read-only) - [get_product](https://topclozer.com/mcp/tools/get_product): One product in full: capabilities, risk, price, and whether this workspace has bought or installed it (workspace, read-only) - [install_product](https://topclozer.com/mcp/tools/install_product): Record an installation of a product into an AI client or the hosted runner. Writes a row; runs nothing. (workspace; writes to our server, not to LinkedIn) - [list_installations](https://topclozer.com/mcp/tools/list_installations): What this workspace has installed, where, and what it paid for (workspace, read-only) - [list_projects](https://topclozer.com/mcp/tools/list_projects): The projects in this workspace, with how complete each one's context is (workspace, read-only) - [get_project_context](https://topclozer.com/mcp/tools/get_project_context): The reusable company / ICP / offer / voice record an agent should read before it writes anything (workspace, read-only) - [check_credits](https://topclozer.com/mcp/tools/check_credits): The workspace credit balance and the ledger entries behind it (workspace, read-only) - [get_platform_usage](https://topclozer.com/mcp/tools/get_platform_usage): What this workspace owns and has run: installs, purchases, the hosted seat, credits and the execution ledger (workspace, read-only) ## Setup guides - [Claude (Claude Code and Claude Desktop)](https://topclozer.com/mcp/claude): the claude mcp add command, the Claude Desktop connector and config JSON, a first call and troubleshooting - [Cursor](https://topclozer.com/mcp/cursor): Give Cursor's agent LinkedIn search, profiles and posts — one JSON block, no install. - [ChatGPT](https://topclozer.com/mcp/chatgpt): Connect TopClozer to ChatGPT as a custom MCP connector — with the one authentication catch nobody mentions. - [VS Code](https://topclozer.com/mcp/vscode): Add TopClozer to Copilot's agent mode in VS Code, with the key kept out of the config file. ## Docs - [API documentation](https://topclozer.com/docs): the same 65 capabilities over MCP and plain HTTP: auth, scopes, errors and budgets - [REST API](https://topclozer.com/platform/api): the same surface for code rather than for a model, with the same key - [Security](https://topclozer.com/security): how data and connected accounts are protected: isolation, encryption, access control, GDPR and the compliance roadmap - [Changelog](https://topclozer.com/changelog): every release, with its date - [MCP discovery (JSON)](https://topclozer.com/api/mcp): unauthenticated GET: server info and tool names - [Capabilities (JSON)](https://topclozer.com/api/v1/capabilities): unauthenticated GET: every capability with its scope and HTTP path ## Pricing - [Free: $0](https://topclozer.com/pricing): The starter agent and the hosted MCP endpoint. No card, no seat. - [Skill: $19 one-time](https://topclozer.com/pricing): Instructions and config you install into your own AI client. - [Pro kit: $49 one-time](https://topclozer.com/pricing): A skill plus MCP wiring, workflows and the files they read. - [Hosted seat: $89/mo](https://topclozer.com/pricing): One connected LinkedIn account, run here, under the pacing rails. Seats are not self-serve yet: there is no payment processor connected, so a seat is arranged by hand. - [Team: Priced on request](https://topclozer.com/pricing): Several seats and shared projects. Priced on request. ## Contact - [Contact](https://topclozer.com/contact): sales, support and partnership addresses - [help@topclozer.com](mailto:help@topclozer.com): technical support: a bug in the docs or the endpoint ## Optional - [About](https://topclozer.com/about): what TopClozer builds and what it does not - [Store](https://topclozer.com/store): the catalogue of LinkedIn agents, skills, workflows and kits, filterable by outcome, price and risk