outx-mcp-server
v1.8.6
Published
MCP server for OutX: LinkedIn social listening & data API
Maintainers
Readme
OutX MCP Server
MCP server for the OutX LinkedIn social listening and data API. Connect AI agents like Claude, Cursor, and Claude Code to LinkedIn: create watchlists, search posts, fetch profiles, and engage, all through natural language.
What You Can Do
- Monitor LinkedIn: Track posts by keywords, people, or companies with watchlists
- Search & filter posts: 15+ filters: keyword, date, seniority, trending, language
- Fetch profiles & companies: Get full LinkedIn profiles, company pages, and connections
- Search LinkedIn: Find people by title, company, location, industry, and more
- Message connections: Send direct messages to 1st-degree connections
- Engage: Like and comment on posts through your LinkedIn account
- All via natural language: Just tell your AI agent what you want
Quick Start
1. Get an API key at mentions.outx.ai/api-doc
2. Add to your AI tool (pick one):
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"outx": {
"command": "npx",
"args": ["-y", "outx-mcp-server"],
"env": {
"OUTX_API_KEY": "your-api-key"
}
}
}
}Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"outx": {
"command": "npx",
"args": ["-y", "outx-mcp-server"],
"env": {
"OUTX_API_KEY": "your-api-key"
}
}
}
}Add to .mcp.json in your project:
{
"mcpServers": {
"outx": {
"command": "npx",
"args": ["-y", "outx-mcp-server"],
"env": {
"OUTX_API_KEY": "your-api-key"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"outx": {
"command": "npx",
"args": ["-y", "outx-mcp-server"],
"env": {
"OUTX_API_KEY": "your-api-key"
}
}
}
}3. Start using it:
"Create a watchlist to monitor LinkedIn posts about AI startups raising Series A"
Available Tools (33)
Watchlist Management
One watchlist carries one signal for one audience. Pause and resume any watchlist with disable: true or disable: false on its update tool. Configure Slack alerts with slack_webhook_url. Grow a people or company watchlist with add_profiles / add_companies on its update tool, never by creating a second list: 200 members per watchlist, and a per-plan cap on the total your team tracks.
| Tool | Description |
|------|-------------|
| list_watchlists | List every watchlist on the team, all four types (keyword, reddit, people, company) in one call. Call this before creating anything, so you extend or reuse what is already there instead of making a near-duplicate. |
| create_keyword_watchlist | Create a watchlist that monitors LinkedIn posts matching keywords. Two modes: provide keywords to track exact terms, OR provide prompt to have OutX generate keywords and intent labels from a plain-English description. |
| list_keyword_watchlists | List all keyword watchlists for your account. Each item includes disabled (true when the watchlist is paused and collecting nothing) and disabledAt. |
| update_keyword_watchlist | Update a keyword watchlist. Patch any fields (name, fetchFreqInHours, disable, slack_webhook_url, keywords, labels), OR pass prompt to have OutX regenerate keywords and labels from a new description. |
| delete_keyword_watchlist | Delete a keyword watchlist and all its tracked data. |
| create_people_watchlist | Create a watchlist that monitors posts from specific LinkedIn profiles. A watchlist holds at most 200 profiles, and your plan caps the total profiles and companies your team tracks across every watchlist it owns. |
| list_people_watchlists | List all people watchlists for your account. Each item includes disabled (true when the watchlist is paused and collecting nothing) and disabledAt. |
| update_people_watchlist | Update a people watchlist: change the name, scan frequency or Slack webhook, pause or resume it with disable, and add or remove tracked profiles with add_profiles and remove_profiles. This is how you grow a people watchlist, so never create a second list for the same audience. |
| delete_people_watchlist | Delete a people watchlist and all its tracked data. |
| create_company_watchlist | Create a watchlist that monitors posts from LinkedIn company pages. A watchlist holds at most 200 companies, and your plan caps the total profiles and companies your team tracks across every watchlist it owns. |
| list_company_watchlists | List all company watchlists for your account. Each item includes disabled (true when the watchlist is paused and collecting nothing) and disabledAt. |
| update_company_watchlist | Update a company watchlist: change the name, scan frequency or Slack webhook, pause or resume it with disable, and add or remove tracked companies with add_companies and remove_companies. This is how you grow a company watchlist, so never create a second list for the same audience. |
| delete_company_watchlist | Delete a company watchlist and all its tracked data. |
| create_reddit_watchlist | Create a watchlist that monitors Reddit posts matching keywords. Two modes: provide keywords to track exact terms, OR provide prompt to have OutX generate keywords and intent labels from a plain-English description. |
| list_reddit_watchlists | List all reddit watchlists for your account. Each item includes disabled (true when the watchlist is paused and collecting nothing) and disabledAt. |
| update_reddit_watchlist | Update a reddit watchlist. Patch any fields (name, fetchFreqInHours, disable, slack_webhook_url, keywords, labels), OR pass prompt to regenerate keywords and labels. |
| delete_reddit_watchlist | Delete a reddit watchlist and all its tracked data. |
Posts & Engagement (operates on posts your watchlists captured)
| Tool | Description |
|------|-------------|
| get_posts | Search and filter posts your watchlists captured. Supports keyword search, date range, seniority, trending, language, and more. |
| get_interactions | Retrieve likes and comments for posts in a specific watchlist. Use to analyze engagement activity, build reports, or power dashboards. |
| like_watchlist_post | Like a LinkedIn post that came from one of your OutX watchlists. Takes an OutX post_id (from get_posts results). |
| comment_on_watchlist_post | Comment on a LinkedIn post that came from one of your OutX watchlists. Takes an OutX post_id (from get_posts results). |
LinkedIn Data API (direct LinkedIn actions, no watchlist required)
Async tools, the MCP server polls LinkedIn for ~150s and returns the result directly. You almost never need get_task_status because of this.
| Tool | Description |
|------|-------------|
| fetch_linkedin_profile | Fetch a LinkedIn profile by slug. Returns full profile data including name, headline, experience, education, and skills. |
| fetch_linkedin_profile_posts | Fetch recent posts from one or more LinkedIn profiles by URN. Use fetch_linkedin_profile first to get the profile URN. |
| like_linkedin_post | Like a LinkedIn post by its activity URN (direct LinkedIn action). Use this when you have a social_urn and don't need a watchlist. |
| comment_on_linkedin_post | Comment on a LinkedIn post by its activity URN (direct LinkedIn action). Use this when you have a social_urn and don't need a watchlist. |
| fetch_linkedin_company | Fetch a LinkedIn company page by slug. Returns company data including name, industry, employee count, description, headquarters, and logo. |
| fetch_linkedin_company_posts | Fetch recent posts from a LinkedIn company page by slug. Returns posts with engagement data (likes, comments, shares). |
| send_linkedin_message | Send a LinkedIn direct message to a 1st-degree connection. Requires the recipient's person URN (get it from fetch_linkedin_profile or search_linkedin_profiles). |
| send_linkedin_connection_request | Send a LinkedIn connection request to a profile, with an optional note. Requires the person URN (get it from fetch_linkedin_profile or search_linkedin_profiles). |
| search_linkedin_profiles | Search LinkedIn profiles by keywords, title, company, location, industry, and more. Returns matching profiles with name, headline, location, profile slug, and connection degree. |
| fetch_linkedin_connections | Fetch your 1st-degree LinkedIn connections. Optionally filter by keyword, sort by recently added, and paginate. |
| get_task_status | Recovery tool. Every other LinkedIn Data API tool polls automatically for ~150 seconds and returns the result directly, so you almost never need this. |
Account
| Tool | Description |
|------|-------------|
| get_team | Read your OutX team account: identity, effective plan (with expiry), and plan limits with current usage (watchlists and team members). Call this before creating watchlists to check remaining quota and avoid a 402. |
Note: LinkedIn Data tools require the OutX Chrome extension to be active within the last 48 hours.
Example Prompts
Once connected, try these with your AI agent:
Social listening:
- "Create a watchlist to monitor LinkedIn posts about AI startups raising Series A"
- "Show me trending posts from my watchlists this week"
- "What are VPs and Directors posting about machine learning?"
- "Find posts mentioning our competitor from the last 7 days"
Profile & company research:
- "Fetch the LinkedIn profile for williamhgates"
- "Get recent posts from this prospect's profile"
- "Get company info and recent posts for OpenAI"
- "Search for VPs of Engineering at Google in the US"
- "Show me my most recently added connections"
Engagement & messaging:
- "Like the top 3 most engaging posts about product management"
- "Comment on this post with a thoughtful response"
- "Send a message to this connection thanking them for connecting"
Workflows:
- "Set up a watchlist for 'looking for a CRM' and check it every 6 hours"
- "List all my watchlists and show me posts from the sales signals one"
Prerequisites
- Node.js 18+: Required for the MCP server runtime
- OutX account: Sign up free and get your API key
- OutX Chrome extension: Required for LinkedIn Data API tools (profile fetching, direct engagement). Install here
How It Works
The OutX API has two surfaces:
Watchlists & Engagement API (sync): Create watchlists to monitor LinkedIn by keywords, people, or companies. OutX scans on your schedule and stores posts. Query and engage via API.
LinkedIn Data API (async): Direct LinkedIn proxy. Fetch profiles, get posts, like, comment. All endpoints return a task ID; the MCP server polls automatically until the result is ready.
The MCP server wraps both APIs into the tools listed above, callable by any MCP-compatible AI agent.
Development
git clone https://github.com/outxai/outx-mcp-server.git
cd outx-mcp-server
npm install
npm run build
OUTX_API_KEY=your-key npm startFor development with auto-reload:
OUTX_API_KEY=your-key npm run devThe "Available Tools" table above is generated from the registered tools, so it cannot drift from the code. After adding or renaming a tool, regenerate it. The script rewrites README.md in place, between the GENERATED TOOL TABLE markers:
npx tsx scripts/gen-tool-table.tsDocumentation
- MCP Integration Guide: Detailed setup and configuration
- API Reference: Full REST API documentation
- API Quick Start: Create watchlists and retrieve posts
- LinkedIn Data API Quick Start: Fetch profiles in 2 minutes
- Authentication Guide: API keys and OTP auth
- Rate Limits: Usage limits and best practices
- API Use Cases: Sales signals, competitor monitoring, hiring alerts
- Chrome Extension: Required for LinkedIn Data tools
- LinkedIn Safety Guide: Rate limiting and account protection
Integrations
- Python SDK: Drop-in Python wrapper for the OutX API
- LangChain Integration: Use OutX as a LangChain tool for AI agents
- n8n Integration: No-code LinkedIn automation workflows
Guides & Tutorials
- How to Connect AI Agents to LinkedIn: LangChain, Claude, GPT, and MCP examples
- LinkedIn API Guide: Comprehensive API overview
- LinkedIn API Alternatives 2026: OutX vs Proxycurl vs PhantomBuster vs Unipile
- How to Build a Sales Signal Pipeline: Detect buying intent with the OutX API
- LinkedIn Competitor Monitoring Guide: Track competitor activity via API
- Social Listening on LinkedIn: Complete guide to LinkedIn monitoring
- How to Automate LinkedIn Likes & Comments: Engagement automation best practices
- LinkedIn Automation Safety Guide: Keep your account safe
Links
- OutX Platform: Sign up and get started
- Get API Key: Generate your API key
- OutX for AI Agents: All AI integration options (MCP, skill file, llms.txt)
- Pricing: Free, Pro, and Enterprise plans
- FAQ: Common questions answered
Partnerships
Interested in a collaboration or affiliate partnership? Drop us a message at [email protected].
License
MIT
