Skip to main content
Glama

PitchLense MCP

by connectaman

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.

🚀 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

CategoryKey risks
MarketSmall/overstated TAM; weak growth; crowded space; limited differentiation; niche dependence
ProductEarly stage; unclear PMF; technical uncertainty; weak IP; poor scalability
Team/FounderSingle-founder risk; churn; skill gaps; credibility; misaligned incentives
FinancialInconsistent metrics; high burn/short runway; optimistic projections; unfavorable CAC/LTV; low margins
Customer & TractionLow traction; high churn; low retention; no marquee customers; concentration risk
OperationalFragile supply chain; unclear GTM; operational inefficiency; poor execution
CompetitiveStrong incumbents; low entry barriers; weak defensibility; saturation
Legal & RegulatoryGrey/untested areas; compliance gaps; disputes; IP risks
ExitUnclear pathways; low sector exit activity; weak late‑stage appeal

🛠️ Installation

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

  1. Visit Google AI Studio
  2. Create a new API key
  3. 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

  1. Base Classes (core/base.py)
    • BaseLLM - Abstract base for LLM integrations
    • BaseRiskAnalyzer - Base class for all risk analyzers
    • BaseMCPTool - Base class for MCP tools
  2. Gemini Integration (core/gemini_client.py)
    • GeminiLLM - Main LLM client
    • GeminiTextGenerator - Text generation
    • GeminiImageAnalyzer - Image analysis
    • GeminiVideoAnalyzer - Video analysis
    • GeminiAudioAnalyzer - Audio analysis
    • GeminiDocumentAnalyzer - Document analysis
  3. Risk Analyzers (analyzers/)
    • Individual analyzers for each risk category
    • Consistent interface and output format
    • Extensible architecture
  4. 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.html and coverage.xml.
  • If you see errors about unknown --cov options, ensure you passed -p pytest_cov when PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 is 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.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🆘 Support

🙏 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.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Enables comprehensive AI-powered startup investment risk analysis across 9 categories including market, product, team, financial, customer, operational, competitive, legal, and exit risks. Provides structured risk assessments, peer benchmarking, and investment recommendations using Google Gemini AI.

  1. 🚀 Features
    1. Individual Risk Analysis Tools
    2. Comprehensive Analysis Tools & Data Sources
  2. 📊 Risk Categories Covered
    1. 🛠️ Installation
      1. From PyPI (Recommended)
      2. From Source
      3. Development Installation
    2. 🔑 Setup
      1. 1. Get Gemini API Key
      2. 2. Create .env
    3. 🚀 Usage
      1. Command Line Interface
      2. Python API
      3. MCP Server Integration
    4. 📋 Input Data Format
      1. 📊 Output Format
        1. 🎯 Use Cases
          1. 🏗️ Architecture
            1. Package Structure
            2. Key Components
          2. 🔧 Development
            1. Setup Development Environment
            2. Run Tests
            3. Example Scripts
            4. Code Formatting
            5. Build Package
          3. 📝 Notes
            1. 🤝 Contributing
              1. 📄 License
                1. 🆘 Support
                  1. 🙏 Acknowledgments

                    MCP directory API

                    We provide all the information about MCP servers via our MCP API.

                    curl -X GET 'https://glama.ai/api/mcp/v1/servers/connectaman/Pitchlense-mcp'

                    If you have feedback or need assistance with the MCP directory API, please join our Discord server