Uses Google Custom Search API for discovering LinkedIn profiles based on keywords and search queries.
Manages dependencies and provides build scripts for the MCP server implementation.
Supports Ollama as an alternative LLM provider for AI-powered features including profile analysis and query optimization.
Leverages OpenAI GPT-4o mini for AI-powered query expansion, profile summarization, relevance scoring, and content analysis of LinkedIn profiles.
Uses SQLite for persistent storage of extracted LinkedIn profiles, search queries, and validation results with support for CSV export.
LinkedIn Profile Data Mining MCP Server
A comprehensive Model Context Protocol (MCP) server for LinkedIn profile data mining, search, and contact information enrichment. This server integrates all the powerful features from the original data mining tool into an MCP-compatible interface.
Features
š Advanced Search Capabilities
Google Search Integration: Uses Google Custom Search API for LinkedIn profile discovery
AI-Powered Query Expansion: Generates additional search queries using OpenAI GPT-4o mini
Smart Filtering: AI-based relevance filtering to ensure high-quality results
Location-Based Search: Supports global location targeting for comprehensive coverage
š Profile Data Extraction
Direct LinkedIn Scraping: Extracts profile data directly from LinkedIn pages
Nubela Proxycurl Fallback: Uses Nubela API when direct scraping fails
Structured Data Parsing: Extracts JSON-LD structured data from LinkedIn profiles
Comprehensive Profile Fields: Name, company, job title, description, followers, etc.
š Contact Information Enrichment
Apollo.io Integration: Enriches profiles with email addresses and phone numbers
Company Information: Retrieves detailed company descriptions and contact details
Professional Validation: Ensures contact information accuracy through API validation
š¤ AI-Powered Features
Profile Summarization: Generates concise professional summaries using AI
Relevance Scoring: AI-based filtering to match search intent
Query Optimization: Intelligent search query generation and expansion
Multiple LLM Support: OpenAI, Gemini, OpenRouter, and Ollama compatibility
š¾ Data Management
SQLite Database: Persistent storage for all extracted profiles
CSV Export: Easy data export for analysis and CRM integration
Duplicate Prevention: Automatic detection and prevention of duplicate profiles
Data Validation: Ensures data quality and completeness
Installation
Clone or navigate to the server directory:
cd smithery-servers/profile-searcherInstall dependencies:
npm installConfigure API keys:
# Copy the example configuration file cp .env.example .env # Edit .env with your API keys nano .env # or use your preferred editorStart the development server:
npm run dev
š API Keys Configuration
š See
Quick Setup:
Required: Apollo.io API key ā Get from apollo.io/settings/integrations
Required: OpenAI API key ā Get from platform.openai.com/api-keys
Optional: Nubela API key ā Get from nubela.co/proxycurl
Environment Variables (.env file):
For Claude Desktop (claude_desktop_config.json):
Available Tools
1. search_linkedin_profiles
Search for LinkedIn profiles based on keywords.
Parameters:
keywords(string): Search keywords (e.g., "AI podcast host")num_results(number): Number of results to return (default: 20)
Example:
2. extract_profile_data
Extract detailed profile data from LinkedIn URLs.
Parameters:
urls(array): Array of LinkedIn profile URLsinclude_contact_info(boolean): Whether to include contact info (default: true)
Example:
3. mine_linkedin_data
Comprehensive data mining: search, extract, and enrich profile data.
Parameters:
keywords(string): Keywords to search fornum_results(number): Number of profiles to process (default: 20)export_csv(boolean): Whether to export to CSV (default: true)csv_filename(string, optional): Custom CSV filename
Example:
4. get_contact_info
Get contact information for a specific person using Apollo API.
Parameters:
person_name(string): Full name of the personcompany_name(string): Company where the person works
Example:
5. export_to_csv
Export all stored profile data to CSV file.
Parameters:
filename(string, optional): Custom filename for export
Example:
6. get_stored_profiles
Retrieve all profiles stored in the database.
Parameters: None
7. generate_search_queries
Generate additional search queries using AI.
Parameters:
main_query(string): Main search query to expandnum_queries(number): Number of additional queries (default: 3)
Example:
Data Structure
Profile Data Fields
Each extracted profile contains the following fields:
Database Schema
The server uses SQLite with three main tables:
author_urls_table: Stores complete profile informationvalidated_profiles: Tracks AI validation resultssearch_queries: Stores search queries and results
File Structure
Usage Examples
Basic Profile Search
Comprehensive Data Mining
Contact Information Lookup
Rate Limiting and Best Practices
Respect Rate Limits: The server includes built-in delays between requests
API Key Management: Keep your API keys secure and monitor usage
Data Privacy: Ensure compliance with data protection regulations
Ethical Use: Use the tool responsibly and respect LinkedIn's terms of service
Troubleshooting
Common Issues
Missing Dependencies: Run
npm installto ensure all packages are installedAPI Key Errors: Verify all required API keys are correctly configured
Database Permissions: Ensure write permissions for the Database directory
Network Issues: Check internet connectivity for API calls
Debug Mode
Enable debug mode in configuration for detailed logging:
Contributing
This server is based on the comprehensive data mining tool and includes all its advanced features. For improvements or bug reports, please refer to the original implementation.
License
ISC License - See package.json for details.
Disclaimer
This tool is for legitimate business and research purposes. Users are responsible for complying with LinkedIn's terms of service, data protection regulations, and applicable laws. Always respect privacy and obtain necessary permissions before collecting personal data.
This server cannot be installed