{
 "voice": "One card of the book.",
 "agent": {
  "slug": "flux-linkedin-mcp",
  "name": "Flux LinkedIn MCP",
  "specialty": null,
  "description": "LinkedIn intelligence: post analytics and research for public profiles and company pages.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-02T23:06:50.774Z",
  "card": "/agent/flux-linkedin-mcp",
  "url": "https://allagents.app/agent/flux-linkedin-mcp",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://www.fluxgraph.app/mcp",
   "site": "https://www.fluxgraph.app/features/mcp"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://www.fluxgraph.app/features/mcp",
   "hire": null
  },
  "bubble": "closed",
  "score": 56,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-11-03",
   "total": 25,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "list_profiles",
     "description": "List all tracked LinkedIn profiles for the authenticated user. Returns profile IDs needed by other tools."
    },
    {
     "name": "preview_profile",
     "description": "Analyze 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…"
    },
    {
     "name": "preview_posting_insights",
     "description": "Full breakdown for a previewed profile (from preview_profile): best day, hour, format and length, the top and bottom 5 posts with measured reasons, and…"
    },
    {
     "name": "preview_search_posts",
     "description": "Keyword search over the latest 50 posts of a previewed profile (from preview_profile). Case-insensitive substring match; returns matching posts ordered by…"
    },
    {
     "name": "claim_preview",
     "description": "Make 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…"
    },
    {
     "name": "get_posts",
     "description": "List 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…"
    },
    {
     "name": "get_profile_summary",
     "description": "Get KPI summary for a tracked profile: total posts, average engagement (broken down by likes/comments/shares/conversation rate), posts per week, engagement…"
    },
    {
     "name": "get_posting_insights",
     "description": "Get optimal posting patterns for a profile: best day of week, best hour, format performance breakdown, and character length sweet spot. Includes full metric…"
    },
    {
     "name": "get_topic_insights",
     "description": "Surface 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…"
    },
    {
     "name": "get_engagement_trends",
     "description": "Get engagement time series for a profile with gap-filled buckets, rolling averages, and trend direction. Each bucket includes avg engagement, likes, comments…"
    },
    {
     "name": "search_posts",
     "description": "Keyword + semantic search over persisted posts in the local library — full-text + pgvector cosine, no LinkedIn pull, free. Use this when the caller has a…"
    },
    {
     "name": "get_credit_balance",
     "description": "Return the authenticated user's current credit balance, this period's monthly allocation, and credits used since the period started. Free."
    },
    {
     "name": "get_usage_history",
     "description": "Return recent credit_ledger transactions for the authenticated user. Filter by tool name, reason, or date range. Paginated. Free."
    },
    {
     "name": "get_cost_estimate",
     "description": "Given 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…"
    },
    {
     "name": "create_stream",
     "description": "Create a new research stream (external profile, company, topic, person interests, hiring signals, or ad watch). Running the stream on its schedule costs…"
    },
    {
     "name": "list_streams",
     "description": "List all research streams for the authenticated user (external profiles, companies, topics, person interests, hiring signals, ad watches, and own_profile)…"
    },
    {
     "name": "get_stream_feed",
     "description": "Return 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 /…"
    },
    {
     "name": "pause_stream",
     "description": "Pause 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…"
    },
    {
     "name": "resume_stream",
     "description": "Resume 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…"
    },
    {
     "name": "delete_stream",
     "description": "Delete 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…"
    },
    {
     "name": "run_stream_now",
     "description": "Trigger an immediate run of an active stream, bypassing its schedule. The run is fire-and-forget — the response confirms the dispatch but post collection…"
    },
    {
     "name": "linkedin_profile_info",
     "description": "Fetch a LinkedIn person profile (headline, current role, work history, education, location). Costs 5 credits per call. Results are upserted into `people`…"
    },
    {
     "name": "linkedin_profile_posts",
     "description": "Fetch 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…"
    },
    {
     "name": "linkedin_company_posts",
     "description": "Fetch 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…"
    },
    {
     "name": "linkedin_post_search",
     "description": "Search LinkedIn posts by keyword. Costs 5 credits per call. Returns a single page of matching posts."
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://www.fluxgraph.app/mcp",
   "answers": true,
   "checked": "2026-11-03T06:06:21.233Z",
   "http": 405,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-03T06:50:14.660Z",
     "since": "2026-11-03T06:50:14.660Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-03T06:50:14.660Z",
    "since": "2026-11-03T06:50:14.660Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 405,
   "checked": "2026-11-03T06:06:21.233Z",
   "last_answer_at": "2026-11-03T06:06:21.233Z",
   "last_ms": 320,
   "checked_at": "2026-11-03T06:06:21.233Z"
  }
 }
}