An MCP Server for interfacing with the RapidAPI Global Patent API and storing patent data in a SQLite database.

RapidAPI MCP Server

This repository contains an implementation of an MCP Server for interfacing with the RapidAPI Global Patent API and storing patent data in a SQLite database.

Features

  • RapidAPI Global Patent API integration
  • MCP Server implementation for handling patent requests
  • SQLite database integration for patent data storage
  • Advanced patent scoring system (pscore, cscore, lscore, tscore)
  • Rate limiting and error handling

Installation

Using Conda (Recommended)

  1. Clone the repository:
git clone https://github.com/myownipgit/RapidAPI-MCP.git
cd RapidAPI-MCP
  1. Create and activate conda environment:
# Create environment from yml file
conda env create -f environment.yml

# Activate environment
conda activate rapidapi-mcp

Alternatively, you can create the environment manually:

# Create new environment with Python 3.11
conda create -n rapidapi-mcp python=3.11

# Activate environment
conda activate rapidapi-mcp

# Install required packages
conda install -c conda-forge requests aiohttp python-dotenv pytest
pip install rapidapi-connect
  1. Set up environment variables:
cp .env.example .env
# Edit .env with your settings

Usage

  1. Initialize the MCP Server:
from patent_mcp.server import MCPPatentServer

mcp_server = MCPPatentServer()
  1. Handle patent search requests:
search_request = {
    'command': 'search',
    'params': {
        'query': 'quantum computing',
        'date_range': '2004-2024',
        'page': 1,
        'per_page': 100
    }
}

results = await mcp_server.handle_patent_request(search_request)

Testing

To run the tests, activate your conda environment and run:

# Run the connection test
python tests/test_connection.py

# Run all tests with pytest
python -m pytest tests/

Project Structure

  • patent_mcp/ - Main package directory
    • client.py - RapidAPI client implementation
    • server.py - MCP Server implementation
    • database.py - SQLite database operations
    • scoring.py - Patent scoring system
    • __init__.py - Package initialization
  • docs/ - Documentation
    • SCORING.md - Detailed scoring methodology
  • examples/ - Example scripts
  • tests/ - Unit tests

Requirements

  • Python 3.11 or higher
  • Required packages are listed in environment.yml

Scoring System

The system implements a comprehensive patent scoring methodology:

  • Patent Score (pscore): Overall patent strength
  • Citation Score (cscore): Citation impact analysis
  • Legal Score (lscore): Legal status evaluation
  • Technology Score (tscore): Technical complexity assessment

See SCORING.md for detailed information.

Configuration

The server uses the following environment variables:

  • RAPIDAPI_KEY: Your RapidAPI API key
  • DB_PATH: Path to SQLite database (optional, defaults to ./patents.db)
  • Additional configuration options in .env

Rate Limits

The RapidAPI service has the following limits:

  • 1000 requests per day
  • 500000 hard limit

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details

Features

Integration
Searching
Storage
Scoring
RateLimiting
ErrorHandling

Category

Search