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)
- 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 SCORING.md 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
Features
Integration
Searching
Storage
Scoring
RateLimiting
ErrorHandling
Category
Search