Scientific Tools MCP Server
An MCP-compatible server providing high-value scientific tools for AI agents.Earn per tool call. Zero upfront capital. Fully automated.
Tools
| Tool | Price/call | Description |
|---|---|---|
literature_search |
$0.020 | PubMed + arXiv + Semantic Scholar |
compound_lookup |
$0.010 | PubChem + ChEMBL molecular properties |
gpu_spot_prices |
$0.005 | Live GPU spot prices across 4 providers |
patent_prior_art_search |
$0.050 | USPTO + EPO patent databases |
scientific_data |
$0.003 | USGS earthquakes, NASA, OpenAQ air quality |
analytics |
$0.001 | Usage stats and revenue reporting |
Quick start
# 1. Install dependencies
pip install fastapi uvicorn stripe pydantic aiohttp
# 2. Set environment variables
cp .env.example .env
# Edit .env with your keys
# 3. Run demo (no keys needed)
python main.py
# 4. Start production server
python main.py --serve
Environment variables
# Required for billing
STRIPE_SECRET_KEY=sk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...
# Stripe metered price IDs (create in Stripe dashboard)
STRIPE_PRICE_LITERATURE=price_...
STRIPE_PRICE_COMPOUND=price_...
STRIPE_PRICE_GPU=price_...
STRIPE_PRICE_PATENT=price_...
STRIPE_PRICE_SCIDATA=price_...
STRIPE_PRICE_ANALYTICS=price_...
# Optional — improves data access limits
NOAA_API_TOKEN=... # https://www.ncdc.noaa.gov/cdo-web/token
NASA_API_KEY=... # https://api.nasa.gov/
Deployment (VPS)
# On a fresh Ubuntu 22.04 VPS ($6/mo Hetzner)
# Install Python
sudo apt update && sudo apt install python3-pip python3-venv nginx certbot -y
# Clone and install
git clone https://github.com/yourname/mcp-scientific-tools
cd mcp-scientific-tools
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
# Run as service
sudo nano /etc/systemd/system/mcp-server.service
# [Unit]
# Description=MCP Scientific Tools Server
# [Service]
# WorkingDirectory=/home/ubuntu/mcp-scientific-tools
# ExecStart=/home/ubuntu/mcp-scientific-tools/venv/bin/python main.py --serve
# Restart=always
# [Install]
# WantedBy=multi-user.target
sudo systemctl enable mcp-server && sudo systemctl start mcp-server
# SSL via nginx + certbot
sudo certbot --nginx -d your-domain.com
Directory submissions (one-time, ~30 minutes)
mcp.so — https://mcp.so/submitSubmit: server name, endpoint URL, tool descriptions
Glama.ai — Submit: GitHub repo URL
Anthropic MCP directory — https://github.com/modelcontextprotocol/serversOpen a PR adding your server to the README
GitHub topic — Add
mcp-servertag to your repoAutomatically discoverable by agents scanning GitHub
Stripe setup
- Create a Stripe account at stripe.com
- Create a product: "Scientific Tools MCP"
- For each tool, create a metered price:
- Billing: recurring, monthly
- Metered usage: sum of usage during period
- Price per unit: tool's per-call rate
- Copy each price ID (price_...) to your .env
Agent integration example
import anthropic
client = anthropic.Anthropic()
# Add your MCP server
response = client.beta.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
tools=[{
"type": "custom",
"name": "scientific_tools",
"description": "Scientific research tools",
"mcp_server": {
"url": "https://your-domain.com/mcp",
"auth": {"type": "bearer", "token": "mcp-key-..."}
}
}],
messages=[{
"role": "user",
"content": "Search for recent papers on CRISPR cancer therapy"
}]
)
Legal disclaimer and terms of service
BY USING THIS SERVICE OR ANY API KEY ISSUED BY THIS SERVICE, YOU AGREE TOTHESE TERMS, INCLUDING THE DISCLAIMER THAT THE SERVICE IS PROVIDED AS ISWITHOUT WARRANTY, DATA IS SOURCED FROM THIRD-PARTY APIS AND MAY BE INACCURATE,AND OPERATOR LIABILITY IS LIMITED TO FEES PAID IN THE PRECEDING 30 DAYS.IF YOU DO NOT AGREE, DO NOT USE THIS SERVICE OR ITS API KEYS.
1. No warranties
This service is provided "as is" and "as available" without warranty ofany kind, express or implied, including but not limited to warranties ofmerchantability, fitness for a particular purpose, or accuracy. The serviceretrieves data from third-party public APIs (PubMed, PubChem, USPTO, USGS,NASA, OpenAQ, and others) over which the operator has no control. That datamay be incomplete, inaccurate, outdated, or unavailable at any time withoutnotice.
2. Not professional advice
Data and outputs provided by this service do not constitute and must notbe relied upon as medical, clinical, legal, patent, financial, pharmaceutical,toxicological, or safety advice. Users requiring professional advice mustconsult qualified licensed professionals. The operator expressly disclaimsresponsibility for any decisions made based on outputs from this service.
Specifically:
- Literature search results are not a substitute for systematic review by qualified researchers
- Compound property data is not a substitute for laboratory analysis by qualified chemists
- Patent search results are not a substitute for freedom-to-operate analysis by a licensed patent attorney
- Earthquake and environmental data are not a substitute for official emergency management guidance
3. Limitation of liability
To the maximum extent permitted by applicable law, the operator's aggregateliability for any claims arising from or related to this service shall notexceed the total fees paid by the claimant in the 30 days preceding the claim.The operator shall not be liable for any indirect, incidental, consequential,or punitive damages of any kind.
4. Data sources
This service retrieves data from: PubMed/NCBI, arXiv, Semantic Scholar,PubChem, ChEMBL, USPTO, EPO/Espacenet, USGS, NASA, and OpenAQ. Each sourceis subject to its own terms and accuracy limitations. The operator makes norepresentation regarding the accuracy or completeness of data from any ofthese sources.
5. Acceptable use
You agree not to use this service to make clinical, medical, or safety-criticaldecisions without independent professional verification, to circumvent ratelimits or billing mechanisms, or to engage in any activity that violatesapplicable laws or regulations.
6. Service availability
The operator does not guarantee any specific level of uptime, availability,or response time. The service may be interrupted, modified, suspended, ordiscontinued at any time with or without notice.
7. Privacy
Query parameters are processed in memory solely to fulfil each request andare not stored beyond the duration of each individual request. Usage metadata(tool name, timestamp, call volume) is retained for billing and analytics.No personally identifiable information is knowingly collected or transmittedto third parties beyond what is required for payment processing (Stripe).
8. Governing law
These terms are governed by the laws of the United States and the state inwhich the operator is domiciled, without regard to conflict of law provisions.
Full terms of service: https://yourdomain.com/terms
Complete legal text: see DISCLAIMER.py in this repository
Revenue projection
At 5 tools × 1,000 calls/day × $0.01 avg price = $50/day = $1,500/month
Scale levers:
- More tools → more call volume
- Better tools → higher per-call price
- More agent integrations → more calls automatically