rapidapi-mcp-server


Namerapidapi-mcp-server JSON
Version 1.3.1 PyPI version JSON
download
home_pageNone
SummaryRapidAPI marketplace discovery and assessment MCP server using undetected-chromedriver for anti-bot detection bypass
upload_time2025-08-25 02:59:38
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords mcp rapidapi api discovery chrome automation claude ai
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # RapidAPI Discovery MCP Server

A Model Context Protocol (MCP) server that provides comprehensive RapidAPI marketplace discovery and analysis capabilities using undetected-chromedriver for reliable web scraping that bypasses anti-bot detection.

## ๐ŸŒŸ Features

- **API Search**: Search for APIs by keyword and category across RapidAPI marketplace
- **API Assessment**: Detailed analysis of specific APIs including ratings, pricing, and endpoints
- **API Documentation**: Extract comprehensive documentation and endpoint details
- **API Comparison**: Side-by-side comparison of multiple APIs with key metrics
- **Pricing Analysis**: Detailed pricing plans and tier limits extraction
- **Enhanced Documentation**: GraphQL-enhanced endpoint details and comprehensive API docs
- **Anti-Detection**: Uses undetected-chromedriver to reliably bypass bot detection systems

## ๐Ÿš€ Quick Start

### Prerequisites

- Python 3.8+
- Chrome/Chromium browser
- Git

### Installation

#### Option 1: Install from PyPI (Recommended)

```bash
pip install rapidapi-mcp-server
```

#### Option 2: Development Installation

```bash
# Clone the repository
git clone https://github.com/andrewlwn77/rapidapi-mcp-server.git
cd rapidapi-mcp-server

# Create virtual environment
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode
pip install -e .
```

### Configuration

Add to your Claude Desktop `.mcp.json`:

#### Option 1: Using PyPI Installation
```json
{
  "mcpServers": {
    "rapidapi-discovery": {
      "command": "rapidapi-mcp-server",
      "env": {
        "CHROME_EXECUTABLE_PATH": "/opt/google/chrome/google-chrome"
      }
    }
  }
}
```

#### Option 2: Using Python Module
```json
{
  "mcpServers": {
    "rapidapi-discovery": {
      "command": "python",
      "args": ["-m", "rapidapi_mcp_server.server"],
      "env": {
        "CHROME_EXECUTABLE_PATH": "/opt/google/chrome/google-chrome"
      }
    }
  }
}
```

#### Option 3: Development Installation
```json
{
  "mcpServers": {
    "rapidapi-discovery": {
      "command": "/path/to/venv/bin/python",
      "args": ["-m", "rapidapi_mcp_server.server"],
      "cwd": "/path/to/rapidapi-mcp-server",
      "env": {
        "CHROME_EXECUTABLE_PATH": "/opt/google/chrome/google-chrome"
      }
    }
  }
}
```

## ๐Ÿ› ๏ธ Available Tools

### 1. Search APIs (`search_apis`)
Search for APIs in the RapidAPI marketplace by keyword and optional category.

**Parameters:**
- `query` (required): Search query for APIs (e.g., 'weather', 'crypto', 'news')
- `maxResults` (optional): Maximum number of results to return (1-50, default: 20)
- `category` (optional): Category filter

**Example:**
```python
mcp__rapidapi-discovery__search_apis(query="weather", maxResults=10)
```

### 2. Assess API (`assess_api`)
Get comprehensive assessment of a specific API including ratings, pricing, endpoints, and documentation.

**Parameters:**
- `apiUrl` (required): The RapidAPI URL for the specific API

**Example:**
```python
mcp__rapidapi-discovery__assess_api(apiUrl="https://rapidapi.com/weatherapi/api/weatherapi-com")
```

### 3. Get API Documentation (`get_api_documentation`)
Extract documentation URLs and endpoint information for a specific API.

**Parameters:**
- `apiUrl` (required): The RapidAPI URL for the specific API

### 4. Compare APIs (`compare_apis`)
Compare multiple APIs side by side with key metrics.

**Parameters:**
- `apiUrls` (required): Array of RapidAPI URLs to compare (2-5 APIs)

### 5. Get Pricing Plans (`get_pricing_plans`)
Extract detailed pricing plans and tier limits for a specific API.

**Parameters:**
- `apiUrl` (required): The RapidAPI URL for the specific API

### 6. Get Enhanced API Documentation (`get_enhanced_api_documentation`)
Extract comprehensive API documentation with GraphQL-enhanced endpoint details.

**Parameters:**
- `apiUrl` (required): The RapidAPI URL for the specific API

## ๐Ÿ—๏ธ Architecture

### Core Components

- **server.py**: Main MCP server implementation with JSON-RPC over stdio
- **chrome_client.py**: Chrome automation using undetected-chromedriver
- **pyproject.toml**: Project configuration and dependencies

### Key Features

- **Undetected Chrome**: Uses undetected-chromedriver for reliable bot detection bypass
- **Session Management**: Efficient Chrome session handling with automatic cleanup
- **Error Handling**: Comprehensive error handling with detailed error messages
- **Async Support**: Full async/await support for concurrent operations
- **MCP Protocol**: Compatible with MCP v1.0.0+ protocol

## ๐Ÿงช Testing

Run the server in development mode:

```bash
# Activate virtual environment
source venv/bin/activate

# Run server directly
python -m rapidapi_mcp_server.server

# Test with simple MCP client
python -c "
import asyncio
import json
from rapidapi_mcp_server.server import serve

async def test():
    # Server will run on stdio
    pass

asyncio.run(test())
"
```

## ๐Ÿ“Š Sample Output

### Search Results
```json
{
  "query": "weather",
  "resultsCount": 5,
  "apis": [
    {
      "name": "WeatherAPI",
      "description": "Real-time weather data and forecasts",
      "provider": "WeatherAPI.com",
      "url": "https://rapidapi.com/weatherapi/api/weatherapi-com",
      "rating": 4.8,
      "popularity": "High"
    }
  ]
}
```

### API Assessment
```json
{
  "name": "WeatherAPI.com",
  "rating": 4.8,
  "reviewCount": 15420,
  "popularity": "Very High",
  "pricing": {
    "free": {
      "requests": 1000000,
      "rateLimit": "1 req/sec"
    }
  },
  "endpoints": [
    {
      "name": "Current Weather",
      "method": "GET",
      "description": "Get real-time weather data"
    }
  ]
}
```

## ๐Ÿ”ง Environment Variables

- `CHROME_EXECUTABLE_PATH`: Path to Chrome executable (default: auto-detect)
- `CHROME_HEADLESS`: Run Chrome in headless mode (default: true)
- `CHROME_TIMEOUT`: Chrome operation timeout in seconds (default: 30)

## ๐Ÿšจ Troubleshooting

### Common Issues

1. **Chrome not found**
   ```bash
   export CHROME_EXECUTABLE_PATH="/path/to/chrome"
   ```

2. **Session errors**
   - Ensure Chrome is properly installed
   - Check if Chrome process is already running
   - Restart the MCP server

3. **Import errors**
   ```bash
   # Ensure virtual environment is activated
   source venv/bin/activate
   pip install -e .
   ```

## ๐Ÿ“ Project Structure

```
rapidapi-mcp-server-py/
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ rapidapi_mcp_server/
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ”œโ”€โ”€ server.py          # Main MCP server
โ”‚       โ””โ”€โ”€ chrome_client.py   # Chrome automation
โ”œโ”€โ”€ pyproject.toml            # Project configuration
โ”œโ”€โ”€ README.md                 # This file
โ””โ”€โ”€ .gitignore               # Git ignore rules
```

## ๐Ÿค Contributing

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## ๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

## ๐Ÿ™ Acknowledgments

- **undetected-chromedriver**: For reliable anti-detection capabilities
- **MCP Protocol**: For standardized AI tool integration
- **Selenium WebDriver**: For browser automation foundations
- **RapidAPI**: For providing the comprehensive API marketplace

## ๐Ÿ“ž Support

- **GitHub Issues**: [Report bugs or request features](https://github.com/andrewlwn77/rapidapi-mcp-server/issues)
- **Documentation**: This README and inline code documentation
- **Examples**: See the tool examples above for usage patterns

---

**Note**: This server requires a valid internet connection and Chrome browser installation. The server uses web scraping techniques that comply with RapidAPI's terms of service for automated access.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "rapidapi-mcp-server",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "mcp, rapidapi, api, discovery, chrome, automation, claude, ai",
    "author": null,
    "author_email": "Andrew Lewin <andrewlwn77@users.noreply.github.com>",
    "download_url": "https://files.pythonhosted.org/packages/f9/95/9ad9446d486638c49bfe562864b8958659bcc472e872f56361402c4d4523/rapidapi_mcp_server-1.3.1.tar.gz",
    "platform": null,
    "description": "# RapidAPI Discovery MCP Server\n\nA Model Context Protocol (MCP) server that provides comprehensive RapidAPI marketplace discovery and analysis capabilities using undetected-chromedriver for reliable web scraping that bypasses anti-bot detection.\n\n## \ud83c\udf1f Features\n\n- **API Search**: Search for APIs by keyword and category across RapidAPI marketplace\n- **API Assessment**: Detailed analysis of specific APIs including ratings, pricing, and endpoints\n- **API Documentation**: Extract comprehensive documentation and endpoint details\n- **API Comparison**: Side-by-side comparison of multiple APIs with key metrics\n- **Pricing Analysis**: Detailed pricing plans and tier limits extraction\n- **Enhanced Documentation**: GraphQL-enhanced endpoint details and comprehensive API docs\n- **Anti-Detection**: Uses undetected-chromedriver to reliably bypass bot detection systems\n\n## \ud83d\ude80 Quick Start\n\n### Prerequisites\n\n- Python 3.8+\n- Chrome/Chromium browser\n- Git\n\n### Installation\n\n#### Option 1: Install from PyPI (Recommended)\n\n```bash\npip install rapidapi-mcp-server\n```\n\n#### Option 2: Development Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/andrewlwn77/rapidapi-mcp-server.git\ncd rapidapi-mcp-server\n\n# Create virtual environment\npython3 -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n\n# Install in development mode\npip install -e .\n```\n\n### Configuration\n\nAdd to your Claude Desktop `.mcp.json`:\n\n#### Option 1: Using PyPI Installation\n```json\n{\n  \"mcpServers\": {\n    \"rapidapi-discovery\": {\n      \"command\": \"rapidapi-mcp-server\",\n      \"env\": {\n        \"CHROME_EXECUTABLE_PATH\": \"/opt/google/chrome/google-chrome\"\n      }\n    }\n  }\n}\n```\n\n#### Option 2: Using Python Module\n```json\n{\n  \"mcpServers\": {\n    \"rapidapi-discovery\": {\n      \"command\": \"python\",\n      \"args\": [\"-m\", \"rapidapi_mcp_server.server\"],\n      \"env\": {\n        \"CHROME_EXECUTABLE_PATH\": \"/opt/google/chrome/google-chrome\"\n      }\n    }\n  }\n}\n```\n\n#### Option 3: Development Installation\n```json\n{\n  \"mcpServers\": {\n    \"rapidapi-discovery\": {\n      \"command\": \"/path/to/venv/bin/python\",\n      \"args\": [\"-m\", \"rapidapi_mcp_server.server\"],\n      \"cwd\": \"/path/to/rapidapi-mcp-server\",\n      \"env\": {\n        \"CHROME_EXECUTABLE_PATH\": \"/opt/google/chrome/google-chrome\"\n      }\n    }\n  }\n}\n```\n\n## \ud83d\udee0\ufe0f Available Tools\n\n### 1. Search APIs (`search_apis`)\nSearch for APIs in the RapidAPI marketplace by keyword and optional category.\n\n**Parameters:**\n- `query` (required): Search query for APIs (e.g., 'weather', 'crypto', 'news')\n- `maxResults` (optional): Maximum number of results to return (1-50, default: 20)\n- `category` (optional): Category filter\n\n**Example:**\n```python\nmcp__rapidapi-discovery__search_apis(query=\"weather\", maxResults=10)\n```\n\n### 2. Assess API (`assess_api`)\nGet comprehensive assessment of a specific API including ratings, pricing, endpoints, and documentation.\n\n**Parameters:**\n- `apiUrl` (required): The RapidAPI URL for the specific API\n\n**Example:**\n```python\nmcp__rapidapi-discovery__assess_api(apiUrl=\"https://rapidapi.com/weatherapi/api/weatherapi-com\")\n```\n\n### 3. Get API Documentation (`get_api_documentation`)\nExtract documentation URLs and endpoint information for a specific API.\n\n**Parameters:**\n- `apiUrl` (required): The RapidAPI URL for the specific API\n\n### 4. Compare APIs (`compare_apis`)\nCompare multiple APIs side by side with key metrics.\n\n**Parameters:**\n- `apiUrls` (required): Array of RapidAPI URLs to compare (2-5 APIs)\n\n### 5. Get Pricing Plans (`get_pricing_plans`)\nExtract detailed pricing plans and tier limits for a specific API.\n\n**Parameters:**\n- `apiUrl` (required): The RapidAPI URL for the specific API\n\n### 6. Get Enhanced API Documentation (`get_enhanced_api_documentation`)\nExtract comprehensive API documentation with GraphQL-enhanced endpoint details.\n\n**Parameters:**\n- `apiUrl` (required): The RapidAPI URL for the specific API\n\n## \ud83c\udfd7\ufe0f Architecture\n\n### Core Components\n\n- **server.py**: Main MCP server implementation with JSON-RPC over stdio\n- **chrome_client.py**: Chrome automation using undetected-chromedriver\n- **pyproject.toml**: Project configuration and dependencies\n\n### Key Features\n\n- **Undetected Chrome**: Uses undetected-chromedriver for reliable bot detection bypass\n- **Session Management**: Efficient Chrome session handling with automatic cleanup\n- **Error Handling**: Comprehensive error handling with detailed error messages\n- **Async Support**: Full async/await support for concurrent operations\n- **MCP Protocol**: Compatible with MCP v1.0.0+ protocol\n\n## \ud83e\uddea Testing\n\nRun the server in development mode:\n\n```bash\n# Activate virtual environment\nsource venv/bin/activate\n\n# Run server directly\npython -m rapidapi_mcp_server.server\n\n# Test with simple MCP client\npython -c \"\nimport asyncio\nimport json\nfrom rapidapi_mcp_server.server import serve\n\nasync def test():\n    # Server will run on stdio\n    pass\n\nasyncio.run(test())\n\"\n```\n\n## \ud83d\udcca Sample Output\n\n### Search Results\n```json\n{\n  \"query\": \"weather\",\n  \"resultsCount\": 5,\n  \"apis\": [\n    {\n      \"name\": \"WeatherAPI\",\n      \"description\": \"Real-time weather data and forecasts\",\n      \"provider\": \"WeatherAPI.com\",\n      \"url\": \"https://rapidapi.com/weatherapi/api/weatherapi-com\",\n      \"rating\": 4.8,\n      \"popularity\": \"High\"\n    }\n  ]\n}\n```\n\n### API Assessment\n```json\n{\n  \"name\": \"WeatherAPI.com\",\n  \"rating\": 4.8,\n  \"reviewCount\": 15420,\n  \"popularity\": \"Very High\",\n  \"pricing\": {\n    \"free\": {\n      \"requests\": 1000000,\n      \"rateLimit\": \"1 req/sec\"\n    }\n  },\n  \"endpoints\": [\n    {\n      \"name\": \"Current Weather\",\n      \"method\": \"GET\",\n      \"description\": \"Get real-time weather data\"\n    }\n  ]\n}\n```\n\n## \ud83d\udd27 Environment Variables\n\n- `CHROME_EXECUTABLE_PATH`: Path to Chrome executable (default: auto-detect)\n- `CHROME_HEADLESS`: Run Chrome in headless mode (default: true)\n- `CHROME_TIMEOUT`: Chrome operation timeout in seconds (default: 30)\n\n## \ud83d\udea8 Troubleshooting\n\n### Common Issues\n\n1. **Chrome not found**\n   ```bash\n   export CHROME_EXECUTABLE_PATH=\"/path/to/chrome\"\n   ```\n\n2. **Session errors**\n   - Ensure Chrome is properly installed\n   - Check if Chrome process is already running\n   - Restart the MCP server\n\n3. **Import errors**\n   ```bash\n   # Ensure virtual environment is activated\n   source venv/bin/activate\n   pip install -e .\n   ```\n\n## \ud83d\udcc1 Project Structure\n\n```\nrapidapi-mcp-server-py/\n\u251c\u2500\u2500 src/\n\u2502   \u2514\u2500\u2500 rapidapi_mcp_server/\n\u2502       \u251c\u2500\u2500 __init__.py\n\u2502       \u251c\u2500\u2500 server.py          # Main MCP server\n\u2502       \u2514\u2500\u2500 chrome_client.py   # Chrome automation\n\u251c\u2500\u2500 pyproject.toml            # Project configuration\n\u251c\u2500\u2500 README.md                 # This file\n\u2514\u2500\u2500 .gitignore               # Git ignore rules\n```\n\n## \ud83e\udd1d Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- **undetected-chromedriver**: For reliable anti-detection capabilities\n- **MCP Protocol**: For standardized AI tool integration\n- **Selenium WebDriver**: For browser automation foundations\n- **RapidAPI**: For providing the comprehensive API marketplace\n\n## \ud83d\udcde Support\n\n- **GitHub Issues**: [Report bugs or request features](https://github.com/andrewlwn77/rapidapi-mcp-server/issues)\n- **Documentation**: This README and inline code documentation\n- **Examples**: See the tool examples above for usage patterns\n\n---\n\n**Note**: This server requires a valid internet connection and Chrome browser installation. The server uses web scraping techniques that comply with RapidAPI's terms of service for automated access.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "RapidAPI marketplace discovery and assessment MCP server using undetected-chromedriver for anti-bot detection bypass",
    "version": "1.3.1",
    "project_urls": {
        "Changelog": "https://github.com/andrewlwn77/rapidapi-mcp-server/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/andrewlwn77/rapidapi-mcp-server#readme",
        "Homepage": "https://github.com/andrewlwn77/rapidapi-mcp-server",
        "Issues": "https://github.com/andrewlwn77/rapidapi-mcp-server/issues",
        "Repository": "https://github.com/andrewlwn77/rapidapi-mcp-server.git"
    },
    "split_keywords": [
        "mcp",
        " rapidapi",
        " api",
        " discovery",
        " chrome",
        " automation",
        " claude",
        " ai"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f7285a0e45b8a1bdc78d48e3c4a850352b0425e0193f601e2b36ed4784d3cb60",
                "md5": "01eaf32568f31ef4dce755c7f0163e66",
                "sha256": "06edf05a8528f00c31796f6aa44d3a96d28df0efb21e8a76b89137ede535036c"
            },
            "downloads": -1,
            "filename": "rapidapi_mcp_server-1.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "01eaf32568f31ef4dce755c7f0163e66",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 24260,
            "upload_time": "2025-08-25T02:59:37",
            "upload_time_iso_8601": "2025-08-25T02:59:37.440947Z",
            "url": "https://files.pythonhosted.org/packages/f7/28/5a0e45b8a1bdc78d48e3c4a850352b0425e0193f601e2b36ed4784d3cb60/rapidapi_mcp_server-1.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f9959ad9446d486638c49bfe562864b8958659bcc472e872f56361402c4d4523",
                "md5": "d0ef86fcd33856e0c925da00d9de1bfd",
                "sha256": "171280be02fb23d96cef1c66a9a19db2fb4f5405300b961c6efcf5a6ee599eed"
            },
            "downloads": -1,
            "filename": "rapidapi_mcp_server-1.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "d0ef86fcd33856e0c925da00d9de1bfd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 25601,
            "upload_time": "2025-08-25T02:59:38",
            "upload_time_iso_8601": "2025-08-25T02:59:38.322806Z",
            "url": "https://files.pythonhosted.org/packages/f9/95/9ad9446d486638c49bfe562864b8958659bcc472e872f56361402c4d4523/rapidapi_mcp_server-1.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-25 02:59:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "andrewlwn77",
    "github_project": "rapidapi-mcp-server",
    "github_not_found": true,
    "lcname": "rapidapi-mcp-server"
}
        
Elapsed time: 1.26695s