Professional startup risk analysis using MCP and Google Gemini AI
Project description
PitchLense MCP - Professional Startup Risk Analysis Package
A comprehensive Model Context Protocol (MCP) package for analyzing startup investment risks using AI-powered assessment across multiple risk categories. Built with FastMCP and Google Gemini AI.
PitchLense is a comprehensive AI-powered startup analysis platform that provides detailed risk assessment and growth potential evaluation for early-stage ventures. The platform analyzes multiple dimensions of startup risk and provides actionable insights for investors, founders, and stakeholders.
๐ Quick Links
- Website Link : https://www.pitchlense.com
- Web App Github Repo: https://github.com/connectaman/PitchLense
๐ How to Use PitchLense
Watch our comprehensive tutorial video to learn how to use PitchLense effectively:
Click the image above to watch the tutorial on YouTube
๐ Features
Individual Risk Analysis Tools
- Market Risk Analyzer - TAM, growth rate, competition, differentiation
- Product Risk Analyzer - Development stage, market fit, technical feasibility, IP protection
- Team Risk Analyzer - Leadership depth, founder stability, skill gaps, credibility
- Financial Risk Analyzer - Metrics consistency, burn rate, projections, CAC/LTV
- Customer Risk Analyzer - Traction levels, churn rate, retention, customer concentration
- Operational Risk Analyzer - Supply chain, GTM strategy, efficiency, execution
- Competitive Risk Analyzer - Incumbent strength, entry barriers, defensibility
- Legal Risk Analyzer - Regulatory environment, compliance, legal disputes
- Exit Risk Analyzer - Exit pathways, sector activity, late-stage appeal
Comprehensive Analysis Tools & Data Sources
- Comprehensive Risk Scanner - Full analysis across all risk categories
- Quick Risk Assessment - Fast assessment of critical risk areas
- Peer Benchmarking - Compare metrics against sector/stage peers
- SerpAPI Google News Tool - Fetches first-page Google News with URLs and thumbnails
- Perplexity Search Tool - Answers with cited sources and URLs
๐ Risk Categories Covered
| Category | Key risks |
|---|---|
| Market | Small/overstated TAM; weak growth; crowded space; limited differentiation; niche dependence |
| Product | Early stage; unclear PMF; technical uncertainty; weak IP; poor scalability |
| Team/Founder | Single-founder risk; churn; skill gaps; credibility; misaligned incentives |
| Financial | Inconsistent metrics; high burn/short runway; optimistic projections; unfavorable CAC/LTV; low margins |
| Customer & Traction | Low traction; high churn; low retention; no marquee customers; concentration risk |
| Operational | Fragile supply chain; unclear GTM; operational inefficiency; poor execution |
| Competitive | Strong incumbents; low entry barriers; weak defensibility; saturation |
| Legal & Regulatory | Grey/untested areas; compliance gaps; disputes; IP risks |
| Exit | Unclear pathways; low sector exit activity; weak lateโstage appeal |
๐ ๏ธ Installation
From PyPI (Recommended)
pip install pitchlense-mcp
From Source
git clone https://github.com/pitchlense/pitchlense-mcp.git
cd pitchlense-mcp
pip install -e .
Development Installation
git clone https://github.com/pitchlense/pitchlense-mcp.git
cd pitchlense-mcp
pip install -e ".[dev]"
๐ Setup
1. Get Gemini API Key
- Visit Google AI Studio
- Create a new API key
- Copy the API key
2. Create .env
cp .env.template .env
# edit .env and fill in keys
Supported variables:
GEMINI_API_KEY=
SERPAPI_API_KEY=
PERPLEXITY_API_KEY=
๐ Usage
Command Line Interface
Run Comprehensive Analysis
# Create sample data
pitchlense-mcp sample --output my_startup.json
# Run comprehensive analysis
pitchlense-mcp analyze --input my_startup.json --output results.json
Run Quick Assessment
pitchlense-mcp quick --input my_startup.json --output quick_results.json
Start MCP Server
pitchlense-mcp server
Python API
Basic Usage (single text input)
from pitchlense_mcp import ComprehensiveRiskScanner
# Initialize scanner (reads GEMINI_API_KEY from env if not provided)
scanner = ComprehensiveRiskScanner()
# Provide all startup info as one organized text string
startup_info = """
Name: TechFlow Solutions
Industry: SaaS/Productivity Software
Stage: Series A
Business Model:
AI-powered workflow automation for SMBs; subscription pricing.
Financials:
MRR: $45k; Burn: $35k; Runway: 8 months; LTV/CAC: 13.3
Traction:
250 customers; 1,200 MAU; Churn: 5% monthly; NRR: 110%
Team:
CEO: Sarah Chen; CTO: Michael Rodriguez; Team size: 12
Market & Competition:
TAM: $12B; Competitors: Zapier, Power Automate; Growth: 15% YoY
"""
# Run comprehensive analysis
results = scanner.comprehensive_startup_risk_analysis(startup_info)
print(f"Overall Risk Level: {results['overall_risk_level']}")
print(f"Overall Risk Score: {results['overall_score']}/10")
print(f"Investment Recommendation: {results['investment_recommendation']}")
Individual Risk Analysis (text input)
from pitchlense_mcp import MarketRiskAnalyzer, GeminiLLM
# Initialize components
llm_client = GeminiLLM(api_key="your_api_key")
market_analyzer = MarketRiskAnalyzer(llm_client)
# Analyze market risks
market_results = market_analyzer.analyze(startup_info)
print(f"Market Risk Level: {market_results['overall_risk_level']}")
MCP Server Integration
The package provides a complete MCP server that can be integrated with MCP-compatible clients:
from pitchlense_mcp import ComprehensiveRiskScanner
# Start MCP server
scanner = ComprehensiveRiskScanner()
scanner.run()
๐ Input Data Format
The primary input is a single organized text string containing all startup information (details, metrics, traction, news, competitive landscape, etc.). This is the format used by all analyzers and MCP tools.
Example text input:
Name: AcmeAI
Industry: Fintech (Lending)
Stage: Seed
Summary:
Building AI-driven credit risk models for SMB lending; initial pilots with 5 lenders.
Financials:
MRR: $12k; Burn: $60k; Runway: 10 months; Gross Margin: 78%
Traction:
200 paying SMBs; 30% MoM growth; Churn: 3% monthly; CAC: $220; LTV: $2,100
Team:
Founders: Jane Doe (ex-Square), John Lee (ex-Stripe); Team size: 9
Market & Competition:
TAM: $25B; Competitors: Blend, Upstart; Advantage: faster underwriting via proprietary data partnerships
Tip: See examples/text_input_example.py for a complete end-to-end script and JSON export of results.
๐ Output Format
All tools return structured JSON responses with:
{
"startup_name": "Startup Name",
"overall_risk_level": "low|medium|high|critical",
"overall_score": 1-10,
"risk_categories": [
{
"category_name": "Risk Category",
"overall_risk_level": "low|medium|high|critical",
"category_score": 1-10,
"indicators": [
{
"indicator": "Specific risk factor",
"risk_level": "low|medium|high|critical",
"score": 1-10,
"description": "Detailed risk description",
"recommendation": "Mitigation action"
}
],
"summary": "Category summary"
}
],
"key_concerns": ["Top 5 concerns"],
"investment_recommendation": "Investment advice",
"confidence_score": 0.0-1.0,
"analysis_metadata": {
"total_categories_analyzed": 9,
"successful_analyses": 9,
"analysis_timestamp": "2024-01-01T00:00:00Z"
}
}
๐ฏ Use Cases
- Investor Due Diligence - Comprehensive risk assessment for investment decisions
- Startup Self-Assessment - Identify and mitigate key risk areas
- Portfolio Risk Management - Assess risk across startup portfolio
- Accelerator/Incubator Screening - Evaluate startup applications
- M&A Risk Analysis - Assess acquisition targets
- Research & Analysis - Academic and industry research on startup risks
๐๏ธ Architecture
Package Structure
pitchlense-mcp/
โโโ pitchlense_mcp/
โ โโโ __init__.py
โ โโโ cli.py # Command-line interface
โ โโโ core/ # Core functionality
โ โ โโโ __init__.py
โ โ โโโ base.py # Base classes
โ โ โโโ gemini_client.py # Gemini AI integration
โ โ โโโ comprehensive_scanner.py
โ โโโ models/ # Data models
โ โ โโโ __init__.py
โ โ โโโ risk_models.py
โ โโโ analyzers/ # Individual risk analyzers
โ โ โโโ __init__.py
โ โ โโโ market_risk.py
โ โ โโโ product_risk.py
โ โ โโโ team_risk.py
โ โ โโโ financial_risk.py
โ โ โโโ customer_risk.py
โ โ โโโ operational_risk.py
โ โ โโโ competitive_risk.py
โ โ โโโ legal_risk.py
โ โ โโโ exit_risk.py
โ โโโ utils/ # Utility functions
โโโ tests/ # Test suite
โโโ docs/ # Documentation
โโโ examples/ # Example usage
โโโ setup.py
โโโ pyproject.toml
โโโ requirements.txt
โโโ README.md
Key Components
-
Base Classes (
core/base.py)BaseLLM- Abstract base for LLM integrationsBaseRiskAnalyzer- Base class for all risk analyzersBaseMCPTool- Base class for MCP tools
-
Gemini Integration (
core/gemini_client.py)GeminiLLM- Main LLM clientGeminiTextGenerator- Text generationGeminiImageAnalyzer- Image analysisGeminiVideoAnalyzer- Video analysisGeminiAudioAnalyzer- Audio analysisGeminiDocumentAnalyzer- Document analysis
-
Risk Analyzers (
analyzers/)- Individual analyzers for each risk category
- Consistent interface and output format
- Extensible architecture
-
Models (
models/risk_models.py)- Pydantic models for type safety
- Structured data validation
- Clear data contracts
๐ง Development
Setup Development Environment
git clone https://github.com/pitchlense/pitchlense-mcp.git
cd pitchlense-mcp
pip install -e ".[dev]"
pre-commit install
Run Tests
# Create and activate a virtual environment (recommended)
python3 -m venv .venv
source .venv/bin/activate
# Install dev extras (pytest, pytest-cov, linters)
pip install -e ".[dev]"
# Run tests with coverage and avoid global plugin conflicts
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 pytest -q -p pytest_cov
Notes:
- Coverage reports are written to
htmlcov/index.htmlandcoverage.xml. - If you see errors about unknown
--covoptions, ensure you passed-p pytest_covwhenPYTEST_DISABLE_PLUGIN_AUTOLOAD=1is set.
Example Scripts
python examples/basic_usage.py
python examples/text_input_example.py
Code Formatting
black pitchlense_mcp/
flake8 pitchlense_mcp/
mypy pitchlense_mcp/
Build Package
python -m build
๐ Notes
- All risk scores are on a 1-10 scale (1 = lowest risk, 10 = highest risk)
- Risk levels: low (1-3), medium (4-6), high (7-8), critical (9-10)
- Individual tools can be used independently or combined for comprehensive analysis
- The system handles API failures gracefully with fallback responses
- All tables and structured data are returned in JSON format
- Professional package architecture with proper separation of concerns
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Support
- Documentation: https://pitchlense-mcp.readthedocs.io/
- Issues: GitHub Issues
- Email: connectamanulla@gmail.com
๐ Acknowledgments
- Google Gemini AI for providing the underlying AI capabilities
- FastMCP for the Model Context Protocol implementation
- The open-source community for inspiration and tools
PitchLense MCP - Making startup risk analysis accessible, comprehensive, and AI-powered.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pitchlense_mcp-1.1.16.tar.gz.
File metadata
- Download URL: pitchlense_mcp-1.1.16.tar.gz
- Upload date:
- Size: 73.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
198164150bdab0c7c9304451e2d111b54372d913ce8e679c311f459f47a092eb
|
|
| MD5 |
8fb0e286821d5dbd82ea6bf79b8cee57
|
|
| BLAKE2b-256 |
891266b5bf708f7ea817fe5bc197c299d3ffd2206e10a6d833bd9767bbb62cd9
|
File details
Details for the file pitchlense_mcp-1.1.16-py3-none-any.whl.
File metadata
- Download URL: pitchlense_mcp-1.1.16-py3-none-any.whl
- Upload date:
- Size: 84.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
528156ecac9c514340be8498d2aa80810b3866a6068e5a81f7185adbbbd54b3c
|
|
| MD5 |
3d147482f95bfa1174f556de6533332b
|
|
| BLAKE2b-256 |
a21323c91798f52438c6a7d6d1424785f3b18f7406a822c5678688f51e0974ea
|