Flux LinkedIn MCP
概览
作者提供的说明(英文原文)
LinkedIn intelligence: post analytics and research for public profiles and company pages.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i3 项中通过 2 项依据公开信息检查;尚未扫描代码
- 使用情况i起步阶段★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在云端运行
- 传输方式: Streamable HTTP
- 分类: 营销与社交媒体
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:3 项中通过 2 项
- 在作者的服务器上运行:你向它提出的内容会经过他们的服务器。
- 可以做 60 件事(工具) list_profiles, preview_profile, preview_posting_insights, preview_search_posts …
- 注册中心没有列出需要填写的密钥。
你需要
- 在云端运行无需安装任何东西,通过互联网连接
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
- 打开 Settings → Connectors
- 点击 Add custom connector
- 粘贴下面的地址,然后点击 Add
- 如果要求登录,请登录作者的服务
https://www.fluxgraph.app/mcp在终端中运行这条命令
claude mcp add --transport http linkedin https://www.fluxgraph.app/mcp或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"linkedin": {
"url": "https://www.fluxgraph.app/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"linkedin": {
"type": "http",
"url": "https://www.fluxgraph.app/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
- 打开网页版 ChatGPT → Settings → Connectors (Apps)
- 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
- 粘贴下面的地址,起个名字,然后保存
- 如果要求登录,请登录作者的服务
https://www.fluxgraph.app/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
工具名称和描述与服务器在 2026年11月8日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
list_profilesList all tracked LinkedIn profiles for the authenticated user. Returns profile IDs needed by other tools.
preview_profileAnalyze a public LinkedIn profile or company page without a Flux account: pulls the latest ~50 posts (once per profile) and returns a teaser: post count, average engagement, the format that beats the baseline, the top post and the recent trend, plus a preview_id. The full breakdo
preview_posting_insightsFull breakdown for a previewed profile (from preview_profile): best day, hour, format and length, the top and bottom 5 posts with measured reasons, and engagement trend by format. Requires a free Flux account; calling it asks the person to sign in where the client supports it, ot
preview_search_postsKeyword search over the latest 50 posts of a previewed profile (from preview_profile). Case-insensitive substring match; returns matching posts ordered by engagement. Requires a free Flux account; calling it asks the person to sign in where the client supports it, otherwise use c
claim_previewMake a profile from preview_profile your own Flux dashboard. Call this only when the person says the profile is theirs: the person cannot undo a claim. Requires sign-in; creates a free dashboard showing the latest 50 posts, one per account. Refuses if the account already has a da
get_postsList a tracked profile's persisted posts with full metrics and text — query against the local post library, no LinkedIn pull, free. Use this when the caller already has a profile_id and wants to read its posts. Filter by date range, post type, minimum engagement, or text. Pass `s
get_profile_summaryGet KPI summary for a tracked profile: total posts, average engagement (broken down by likes/comments/shares/conversation rate), posts per week, engagement trend, top format, and posting goal status.
get_posting_insightsGet optimal posting patterns for a profile: best day of week, best hour, format performance breakdown, and character length sweet spot. Includes full metric breakdown (likes, comments, shares, conversation rate) for every bucket. All metrics relative to the user's own baseline. P
get_topic_insightsSurface the most-frequent topics in a profile's posts, with engagement context. Returns top N unigrams and (optionally) top N bigrams ranked by post count, each with avg_engagement, vs_baseline, and a sample_post_url. Mirrors the dashboard topics chart, server-side. Pass `scope`
get_engagement_trendsGet engagement time series for a profile with gap-filled buckets, rolling averages, and trend direction. Each bucket includes avg engagement, likes, comments, shares, and conversation rate. Useful for understanding whether engagement is growing or declining. Pass `scope` (a post_
search_postsKeyword + semantic search over persisted posts in the local library — full-text + pgvector cosine, no LinkedIn pull, free. Use this when the caller has a query string and wants ranked persisted-post results. Pass `scope` (a post_collections.id) to limit to a specific collection.
get_credit_balanceReturn the authenticated user's current credit balance, this period's monthly allocation, and credits used since the period started. Free.
get_usage_historyReturn recent credit_ledger transactions for the authenticated user. Filter by tool name, reason, or date range. Paginated. Free.
get_cost_estimateGiven an MCP tool name, return its credit cost so you can preview an action before running it. Also accepts a stream type (external_profile, company, topic, person_interests, hiring_signals, ad_watch) to preview the per-page cost create_stream / run_stream_now will charge. Return
create_streamCreate a new research stream (external profile, company, topic, person interests, hiring signals, or ad watch). Running the stream on its schedule costs credits (see get_cost_estimate for the per-type cost). own_profile streams are not created here — they come from subscription c
list_streamsList all research streams for the authenticated user (external profiles, companies, topics, person interests, hiring signals, ad watches, and own_profile). Pass `type` to filter. Replaces list_profiles for the streams-first world, but list_profiles continues to work for V1-compat
get_stream_feedReturn the most recent posts a stream has collected into the library, newest first by published_at. Use this to browse what a topic / external profile / person_interests / company stream has surfaced on its schedule.
pause_streamPause a stream so it stops running on its cron schedule. Existing posts remain in the library. Use resume_stream to re-enable it. own_profile streams are billing-managed and cannot be paused here.
resume_streamResume a paused stream. Sets active=true and queues it to run on the next cron tick by clearing next_run_at. own_profile streams are billing-managed and cannot be resumed here.
delete_streamDelete a stream and its stream_runs. Posts collected by the stream stay in your library (stream_id is set to NULL via ON DELETE SET NULL) so historical data isn't lost. Auto-collection is deleted with the stream. own_profile streams cannot be deleted through this tool; the own pr
run_stream_nowTrigger an immediate run of an active stream, bypassing its schedule. The run is fire-and-forget — the response confirms the dispatch but post collection happens asynchronously. Credits are charged for pages actually walked, not pages requested: one page is taken upfront and the
linkedin_profile_infoFetch a LinkedIn person profile (headline, current role, work history, education, location). Costs 5 credits per call. Results are upserted into `people` (structured fields) and `linkedin_profiles` (so profile-brief renders) — same enrichment side-effect as the other linkedin_pro
linkedin_profile_postsFetch recent posts from a LinkedIn person profile. 5 credits per page of 50, up to 250 posts, charged only for pages actually fetched. Results are stored in the post library (source_type='external') and linked to a linkedin_profiles row so profile-brief can render research-only p
linkedin_company_postsFetch recent posts from a LinkedIn company page. 5 credits per page of 50, up to 250 posts, charged only for pages actually fetched. Results are stored in the post library (source_type='external') and linked to a linkedin_profiles row (profile_type='company').
linkedin_post_searchSearch LinkedIn posts by keyword. Costs 5 credits per call. Returns a single page of matching posts.
linkedin_profile_reactionsFetch the recent posts a LinkedIn person has reacted to. Useful for inferring interests. Costs 5 credits per call.
linkedin_profile_commentsFetch the recent posts a LinkedIn person has commented on. Useful for inferring interests and conversation partners. Costs 5 credits per call.
linkedin_job_searchSearch LinkedIn job postings. Useful for tracking hiring signals at target companies. Costs 5 credits per call.
linkedin_ad_searchSearch the LinkedIn ad library. Useful for tracking competitor ad creative and messaging. Costs 10 credits per call.
linkedin_people_searchSearch LinkedIn people. Filter by company, title, location, or free-text keywords. Costs 5 credits per call. Returns a single page of matching profiles.
linkedin_company_searchSearch LinkedIn companies. Filter by keywords, industryId, or location. Costs 5 credits per call. Returns a single page of matching companies.
linkedin_post_reactionsFetch the people who reacted to a single LinkedIn post. Costs 5 credits per call. Engagers (with reaction kind) are persisted to the post_engagements graph so subsequent queries about who-engages-with-whom are SQL, not API calls.
linkedin_post_commentsFetch the people who commented on a single LinkedIn post (and their comment text). Costs 5 credits per call. Each comment is persisted to post_engagements with the commenter and full comment text.
find_similar_postsFind persisted posts whose embeddings are nearest to a free-text query — pgvector cosine over the local post library, no LinkedIn pull, free. Use when you have a *block of text* (a draft, a paragraph, a competitor's post) and want similar posts you've already collected. For keywo
score_draftPredict how a draft post will perform against the user's historical data. Uses an OLS regression model with detrending, ridge regularization, and recency weighting — the same model used on the /score page. Returns a predicted engagement percentile, projected engagement range, fac
suggest_anglesGiven a topic, suggest distinct content angles informed by what performs well in the user's scoped data. Pulls top-performing historical posts as context and calls OpenAI to generate 5 concrete angles. Costs 5 credits per call. Pass `profile_id` to scope to a tracked profile, `co
list_segmentsList all audience segments for the authenticated user, with member counts. Audience segments are named groups of people (e.g. 'ICP — VPs of Marketing', 'Champions'). Free — costs 0 credits.
create_segmentCreate a new audience segment (named group of people) for the authenticated user. Set type='manual' for a hand-curated list (use add_to_segment to populate it), type='smart' with a `config` predicate (e.g. {title_contains:'VP'}) to define a dynamic segment resolved on-demand by r
add_to_segmentAdd one or more people (by person_id) to an audience segment. Existing members are silently ignored. Free — costs 0 credits.
remove_from_segmentRemove one or more people (by person_id) from an audience segment. Missing members are silently ignored. Free — costs 0 credits.
resolve_segmentResolve an audience segment into a concrete list of person_ids. For manual / auto_stream segments, returns stored members. For smart segments, evaluates the segment's `config` predicate against the people table and returns matches. Free — costs 0 credits.
list_segment_templatesList available smart-segment templates. Pass a template id to create_segment to pre-fill its `config` predicate without crafting one from scratch. Free — costs 0 credits.
get_alertsReturn recent alerts for the authenticated user's streams. An alert is emitted whenever a scheduled stream run surfaces new items. Pass `unread_only=true` to skip alerts the user has already marked read. Free — costs 0 credits.
create_collectionCreate a new post collection for the authenticated user. Set type='manual' to hand-curate posts with add_to_collection, or type='smart' with a `config` predicate (e.g. {format:'video',min_likes:50}) to define a dynamic collection resolved on-demand by resolve_collection. Free — c
add_to_collectionPin one or more posts (by post_id) into a collection you own — works on any collection type. On a 'manual' collection this is the only membership mechanism; on a 'smart' collection it adds the posts as extras alongside whatever the rule already matches (resolve_collection returns
remove_from_collectionRemove one or more posts (by post_id) from a collection. Missing members are silently ignored. Free — costs 0 credits.
list_collectionsList all post collections for the authenticated user, with member counts. Includes manual collections, smart collections (predicate-based), and auto_stream collections (system-managed). Free — costs 0 credits.
resolve_collectionResolve a post collection into a concrete list of post_ids. For manual / auto_stream collections, returns stored members. For smart collections, evaluates the collection's `config` predicate against the user's posts and returns matches. Free — costs 0 credits.
create_campaignCreate a Constellation outreach campaign. A campaign groups target accounts, the people you care about at those accounts, and the warm connections you could approach to reach them. Free — costs 0 credits.
add_campaign_accountsAdd one or more target companies to a Constellation campaign. Each account is a company you want to reach; map_constellation is then run per-account. Free — costs 0 credits.
map_constellationMap the professional graph around a target company. Finds senior decision-makers at the account, pulls each target's recent posts/reactions/comments to identify engagers, then scores every connection and produces a prioritized outreach queue. Credit cost scales with targets — bou
score_connectionsRe-score all constellation entries in a campaign and rewrite queue positions from highest to lowest composite score. Use after new engagers or targets are added. Free — costs 0 credits. Note: this tool requires a `campaign_id` because it writes back to the `constellation_entries`
get_outreach_queueReturn a prioritized outreach queue. Provide *exactly one* of three scopes: • `campaign_id` — full Constellation queue with composite_score, pool, recommended_action, and prior outreach_log entries (the original campaign-scoped behavior). • `segment_id` — people in a saved audien
get_engagement_briefFor one person, return their recent posts most relevant to what you post about — plus suggested talking points. Use before a warm comment or DM. Free — costs 0 credits. Identify the person via *exactly one* of: `target_id` (a Constellation target — original input), `person_id` (a
log_outcomeAppend an entry to the outreach log for a Constellation campaign. Use to record connection requests, acceptances, replies, or no-responses so get_campaign_stats can compute acceptance / reply rates over time. Free — costs 0 credits.
get_campaign_statsSummary stats for a Constellation campaign: target count, entry count, outreach volume, and acceptance / reply rates broken down by pool (coworker / engager / mutual) and composite-score tier. Free — costs 0 credits.
save_postSave a LinkedIn post to your library by its URL. Resolves the post and stores it with source_type='saved'. Optionally pins the post into any collection you own (manual or smart — pinning into a smart collection adds it as an extra alongside the rule's matches). Costs 1 credit per
get_post_engagers_by_companyGiven a LinkedIn post URL or id, return the companies whose people engaged (reacted/commented), ranked by engager count. Joins through person_positions(is_current=true). Pure DB read — no LinkedIn pull, no credits charged. Engagers without a known current company are bucketed as
get_engagement_industry_breakdownHistogram of engagers' companies grouped by industry. Pivots on companies.industry_hierarchy (e.g. 'Tech > Software Development'). Depth=1 buckets by top-level, =2 by top+mid, =3 by full hierarchy. Engagers with no current company / no industry hierarchy bucket as `_unknown`. Pur
get_alumni_engagersGiven a company URL or id, return engagers (across your collected posts) who have a position at that company. Relation filter: 'coworker' = current employees, 'alumni' = any past or current position (most useful for page_type='SCHOOL' companies), 'any' = both. Pure DB read — no L
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
- ! 注意
作者与仓库一致
发布者(fluxgraph.app)不是仓库所有者(elegant-atomics);可能是其他人代为上架的
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- ✓ 通过
端点有响应
在 599 毫秒内响应(HTTP 200)
- – 不适用
使用 OAuth 登录
无需登录
- ✓ 通过
工具描述中没有隐藏指令
已读取 60 个工具描述,未发现针对 AI 的隐藏指令
与“营销与社交媒体”中的其他服务器比较i
- 星标数多于此分类中其他 3630 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 3630 个服务器的 93% 更新
- 基础检查结果等于或优于此分类中其他 3630 个服务器的 51%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Flux LinkedIn MCP 安全吗?
它在 3 项适用的基础检查中通过了 2 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在我的电脑上运行还是在云端?
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(1.0.1)于前天进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
有什么可以替代它?
同一分类中有:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Google Analytics MCP
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
BibiGPT YouTube Video Summarizer
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Flux LinkedIn MCP server
Flux (fluxgraph.app) is a hosted MCP server for LinkedIn intelligence. Connect it to Claude, Cursor, or another MCP client, then ask about the posts and engagement of any public LinkedIn profile or company page.
https://www.fluxgraph.app/mcp
This repository holds documentation and an agent skill. The server itself is hosted and closed source, so there is nothing to install or run.
If your client needs a local command instead of a remote URL, the flux-linkedin-mcp npm package wraps the hosted endpoint over stdio:
{
"mcpServers": { "flux-linkedin": { "command": "npx", "args": ["-y", "flux-linkedin-mcp"] } } }
The package source is in npm/.
What it does
- Audit posting patterns. Find which days, hours, formats, and lengths beat an account's own baseline, with the sample size behind each finding.
- Research any public account. Use it on your own profile, a client's, a prospect's, or a competitor's.
- Search and track over time (paid). Paid plans add full post history, weekly refresh, trends over time, search, and the engagement graph.
Flux is read-only on LinkedIn. It cannot publish, like, comment, connect, or message.
Where the data comes from
Flux reads public LinkedIn data through a third-party data provider. It does not use an official LinkedIn API, and it is not affiliated with or endorsed by LinkedIn. You do not give Flux a LinkedIn password or cookie, and nothing runs under your LinkedIn account.
Flux has no impressions, profile viewers, or other private data. LinkedIn's User Agreement restricts automated data collection, so please decide whether this approach fits your own use.
The free preview
Two tools offer a free preview of a public profile or company page:
| Tool | What it does |
|---|---|
preview_profile | Takes a linkedin_url, pulls up to about 50 recent posts, and returns a preview_id and a short summary. Needs no account. |
preview_posting_insights | Takes the preview_id and returns the breakdown by day, hour, format, and length. Needs a free Flux account: your client asks you to sign in the first time. |
Things to know:
- Previews cover at most 50 posts and are pulled once per profile, so check
last_pull_atto see how old the data is. - Hours and days are in UTC.
- Usage limits apply. A signed-in account can pull one new profile per day; profiles Flux already holds are free to look at.
Connect it
Claude (web, desktop, mobile). Open Settings → Connectors → Add custom connector, name it Flux, and paste the URL above. Choose Sign in when needed and Register automatically.
Claude Code
claude mcp add --transport http --scope user flux https://www.fluxgraph.app/mcp
Cursor and other clients that read `mcpServers`
{
"mcpServers": { "flux": { "type": "http", "url": "https://www.fluxgraph.app/mcp" } } }
For account tools in developer clients, generate a key under Settings → MCP → Developer setups in Flux, then send it as an Authorization: Bearer YOUR_KEY header. Tools outside the preview need a sign-in or a key, and most need a paid plan. See the setup guide and tool reference.
Then try a prompt like this:
Use Flux to preview linkedin.com/in/janedoe. Which days, hours, formats, and lengths beat this account's own baseline, and how many posts back each finding?
The skill
skills/linkedin-mcp-posting-audit teaches an agent to run that audit carefully. It labels thin samples as anecdotes, reports how old the data is, avoids claims about reach, and ends with one specific test to run. It also works on pasted posts if you would rather not make a network call.
To use it, copy the folder into your agent's skills directory (for Claude Code, ~/.claude/skills/).
Support
Please open an issue for problems with these docs or the skill. For account questions, use the contact details at fluxgraph.app.
License
The documentation and skill in this repository are under the MIT License. The Flux service is governed by its terms.