MCP Server Practice logo

MCP Server Practice

by mybarefootstory

This repository implements Model Context Protocol (MCP) servers for LinkedIn profile scraping and weather data retrieval. The MCP framework facilitates seamless integration and communication between AI services.

View on GitHub

Last updated: N/A

MCP Server Practice

This repository contains implementations of Model Context Protocol (MCP) servers for LinkedIn profile scraping and weather data retrieval. The MCP framework facilitates seamless integration and communication between AI services.

Overview

  • LinkedIn Profile Scraper: Fetches LinkedIn profile data using the Fresh LinkedIn Profile Data API.
  • Weather Data Service: Retrieves weather alerts and forecasts using the National Weather Service (NWS) API.

Prerequisites

  • Python 3.7+
  • httpx for asynchronous HTTP requests
  • python-dotenv for environment variable management
  • mcp for MCP server implementation

Installation

  1. Clone the repository:

    git clone https://github.com/mybarefootstory/MCP-Server-Practice-2.git
    cd MCP-Server-Practice-2
    
  2. Install dependencies:

    pip install httpx python-dotenv mcp
    
  3. Set up environment variables:

    • Create a .env file in the root directory.
    • Add your RapidAPI key:
      RAPIDAPI_KEY=your_rapidapi_key_here
      

LinkedIn Profile Scraper

Description

Fetches LinkedIn profile data using the Fresh LinkedIn Profile Data API. The server is initialized with FastMCP and listens for requests to retrieve profile information.

Code Snippet

from mcp.server.fastmcp import FastMCP
import httpx
import os
from dotenv import load_dotenv

load_dotenv()
RAPIDAPI_KEY = os.getenv("RAPIDAPI_KEY")

mcp = FastMCP("linkedin_profile_scraper")

async def get_linkedin_data(linkedin_url: str) -> dict:
    # Fetch LinkedIn profile data
    ...

@mcp.tool()
async def get_profile(linkedin_url: str) -> str:
    # Get LinkedIn profile data
    ...

if __name__ == "__main__":
    mcp.run(transport="stdio")

Weather Data Service

Description

Retrieves weather alerts and forecasts using the NWS API. The server is initialized with FastMCP and provides tools for fetching alerts and forecasts.

Code Snippet

from mcp.server.fastmcp import FastMCP
import httpx

mcp = FastMCP("weather")

async def make_nws_request(url: str) -> dict:
    # Make a request to the NWS API
    ...

@mcp.tool()
async def get_alerts(state: str) -> str:
    # Get weather alerts for a US state
    ...

@mcp.tool()
async def get_forecast(latitude: float, longitude: float) -> str:
    # Get weather forecast for a location
    ...

if __name__ == "__main__":
    mcp.run(transport='stdio')

Usage

  • LinkedIn Profile Scraper: Run the server and use the get_profile tool to fetch LinkedIn data.
  • Weather Data Service: Run the server and use the get_alerts and get_forecast tools to retrieve weather information.