RapidAPI-MCP
The RapidAPI MCP Server is a system that utilizes MCP to interact with the RapidAPI Global Patent API, storing patent data in an SQLite database. It boasts an advanced patent scoring system and handles requests efficiently, complete with rate limiting and error management.
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)
- Clone the repository:
git clone https://github.com/myownipgit/RapidAPI-MCP.git
cd RapidAPI-MCP
- 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
- Set up environment variables:
cp .env.example .env
# Edit .env with your settings
Usage
- Initialize the MCP Server:
from patent_mcp.server import MCPPatentServer
mcp_server = MCPPatentServer()
- 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 directoryclient.py
- RapidAPI client implementationserver.py
- MCP Server implementationdatabase.py
- SQLite database operationsscoring.py
- Patent scoring system__init__.py
- Package initialization
docs/
- DocumentationSCORING.md
- Detailed scoring methodology
examples/
- Example scriptstests/
- 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 for detailed information.
Configuration
The server uses the following environment variables:
RAPIDAPI_KEY
: Your RapidAPI API keyDB_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