trackmcp
Back to directory
gvaibhav

TAM-MCP-Server

View on GitHub

A comprehensive Model Context Protocol (MCP) server for market sizing analysis, TAM/SAM calculations, and industry research. Built with TypeScript, Express.js, and following the MCP specification.

35 stars TypeScriptOthers Updated Aug 28, 2026
model-context-protocolmarket-analysisbusiness-intelligencemcp-servertypescriptai-tools

Documentation

Market Sizing MCP Server

License
TypeScript
MCP Version

A Model Context Protocol server providing market research and business analysis capabilities through 28 tools, 15 business prompts, and integration with 8 economic data sources.

Overview

This MCP server provides comprehensive market research capabilities including:

  • 28 Tools: Market analysis, data access, and business intelligence tools
  • 15 Prompts: Professional business analysis templates for funding, strategy, and research
  • Data Integration: Alpha Vantage, BLS, Census, FRED, IMF, Nasdaq Data Link, OECD, World Bank
  • Smart Defaults: Pre-configured parameters for immediate use without setup
  • Multiple Transports: STDIO, Streamable HTTP, and SSE support

Capabilities

Market Analysis Tools

  • Total Addressable Market (TAM) and Serviceable Addressable Market (SAM) calculations
  • Market size estimation and forecasting
  • Industry analysis and competitive intelligence
  • Market segmentation and opportunity identification
  • Data validation and cross-source verification

Business Intelligence Prompts

  • Startup funding pitch preparation
  • Private equity investment analysis
  • Corporate strategy and market entry
  • Crisis management and regulatory impact assessment
  • ESG and sustainability analysis

Data Access

  • Real-time financial and economic data retrieval
  • Multi-source data aggregation and comparison
  • Intelligent routing based on data type and availability
  • Comprehensive caching for performance optimization

MCP Protocol Features

  • Real-time Notifications: 6 types of business-specific notifications for market intelligence, data source health, calculation milestones, and performance monitoring
  • Multiple Transports: Full support for STDIO, HTTP, and Server-Sent Events (SSE) protocols
  • Resource Access: Documentation and status information available through MCP resources
  • Tool Discovery: Complete tool catalog with smart defaults and validation

Installation

Prerequisites

  • Node.js 20.x or later
  • npm or yarn
  • API keys for data sources (optional, see Configuration)

Quick Setup

bash
# Clone repository
git clone https://github.com/your-username/TAM-MCP-Server.git
cd TAM-MCP-Server

# Install dependencies
npm install

# Configure environment
cp .env.example .env
# Edit .env with your API keys

# Build and start (HTTP - recommended)
npm run build
npm run start:http

Development Setup

bash
# Use development script
chmod +x scripts/dev-setup.sh
./scripts/dev-setup.sh

# Or manual setup
npm install
npm run build
npm run start  # HTTP server
npm run start:stdio  # STDIO transport

Docker Deployment

bash
# Build image
docker build -t tam-mcp-server .

# Run container with environment file
docker run -p 3000:3000 --env-file .env tam-mcp-server

# Or run with individual environment variables
docker run -p 3000:3000 \
  -e ALPHA_VANTAGE_API_KEY=your_key_here \
  -e FRED_API_KEY=your_key_here \
  -e NODE_ENV=production \
  tam-mcp-server

MCP Integration

HTTP Transport (Recommended)

For Claude Desktop, add to your configuration:

json
{
  "mcpServers": {
    "tam": {
      "command": "npm",
      "args": ["run", "start:http"],
      "cwd": "/path/to/TAM-MCP-Server"
    }
  }
}

STDIO Transport (Alternative)

json
{
  "mcpServers": {
    "tam": {
      "command": "npm",
      "args": ["run", "start:stdio"],
      "cwd": "/path/to/TAM-MCP-Server"
    }
  }
}

For MCP Inspector:

bash
# HTTP mode
npm run start:http

# STDIO mode  
npx @modelcontextprotocol/inspector npm run start:stdio

Usage

Smart Default Values - Zero-Friction Start

Get professional market insights instantly - no parameter research required!

All 28 tools include intelligent default values that let you start analyzing immediately:

javascript
// Call any tool with empty parameters - defaults automatically applied
{
  "name": "alphaVantage_getCompanyOverview",
  "arguments": {} // Server provides: symbol="AAPL" (Apple Inc.)
}

{
  "name": "tam_analysis", 
  "arguments": {} // Server provides: $10B market, 15% growth, 5-year projection
}

Professional Defaults Include:

  • Stock Analysis: AAPL, MSFT, GOOGL (Fortune 500 companies)
  • Economic Data: US GDP, Global indicators, 2020-2024 timeframes
  • Industry Codes: Technology sector, Professional Services (NAICS 54)
  • Market Calculations: $10B base market, 15% growth rates, 5-year projections

Perfect for:

  • First-time users getting immediate results without parameter research
  • Demo environments showcasing professional market analysis capabilities
  • Rapid prototyping with realistic business data and scenarios

Basic Tool Usage

javascript
// Market analysis with defaults
{
  "name": "tam_analysis",
  "arguments": {}
}

// Company overview with default symbol (AAPL)
{
  "name": "alphaVantage_getCompanyOverview", 
  "arguments": {}
}

// Custom parameters
{
  "name": "market_size",
  "arguments": {
    "industryId": "technology",
    "region": "north-america"
  }
}

Business Analysis Prompts

Access professional templates through the prompts interface:

javascript
// List available prompts
{
  "method": "prompts/list"
}

// Get startup funding prompt
{
  "method": "prompts/get",
  "params": {
    "name": "startup_funding_pitch",
    "arguments": {
      "company_name": "TechCorp",
      "industry": "SaaS"
    }
  }
}

MCP Tools - Three-Tier Architecture System

The TAM MCP Server provides 28 total MCP tools organized in three complementary tiers:

Tier 1: Direct Data Access Tools (13 tools)

Purpose: Raw access to external data sources

Target Users: Developers, data engineers, custom analytics builders

  • `alphaVantage_getCompanyOverview`: Get detailed company overview and financials
  • `alphaVantage_searchSymbols`: Search for stock symbols and company names
  • `bls_getSeriesData`: Retrieve Bureau of Labor Statistics employment data
  • `census_fetchIndustryData`: Access U.S. Census Bureau industry statistics
  • `census_fetchMarketSize`: Get market size data from Census surveys
  • `fred_getSeriesObservations`: Fetch Federal Reserve economic data series
  • `imf_getDataset`: Access International Monetary Fund datasets
  • `imf_getLatestObservation`: Get latest IMF economic observations
  • `nasdaq_getDatasetTimeSeries`: Retrieve Nasdaq Data Link time series
  • `nasdaq_getLatestDatasetValue`: Get latest values from Nasdaq datasets
  • `oecd_getDataset`: Access OECD statistical datasets
  • `oecd_getLatestObservation`: Get latest OECD economic observations
  • `worldBank_getIndicatorData`: Fetch World Bank development indicators

Tier 2: Basic Market Tools (4 tools)

Purpose: Foundational market analysis capabilities

Target Users: Business analysts starting with basic market research

  • `industry_search`: Basic industry data retrieval from multiple sources
  • `tam_calculator`: Basic Total Addressable Market calculations
  • `market_size_calculator`: Basic market size estimation with methodology explanations
  • `company_financials_retriever`: Basic company financial data retrieval

Tier 3: Business Analysis Tools (11 tools)

Purpose: Advanced market intelligence and comprehensive business analysis

Target Users: Senior analysts, market researchers, investment teams

1. `industry_analysis`: Enhanced multi-source industry analysis with intelligent ranking

2. `industry_data`: Detailed industry intelligence with trends, ESG, and key players

3. `market_size`: Advanced market size estimation and analysis with confidence scoring

4. `tam_analysis`: Advanced Total Addressable Market calculations with scenario projections

5. `sam_calculator`: Serviceable Addressable Market with constraint analysis

6. `market_segments`: Hierarchical market segmentation analysis

7. `market_forecasting`: Time series forecasting with scenario analysis

8. `market_comparison`: Multi-market comparative analysis and rankings

9. `data_validation`: Cross-source data quality validation and scoring

10. `market_opportunities`: Market gap and growth opportunity identification

11. `generic_data_query`: Direct access to any data source service and method

Data Sources

The server integrates with 8 data sources:

  • Alpha Vantage: Company financials, stock data
  • BLS: Employment and labor statistics
  • Census: Industry and demographic data
  • FRED: Federal Reserve economic data
  • IMF: International economic data
  • Nasdaq Data Link: Financial datasets
  • OECD: International statistics
  • World Bank: Development indicators

Transport Methods

HTTP Server (Recommended)

bash
npm run start:http
# Server available at http://localhost:3000

STDIO Transport

bash
npm run start:stdio

Server-Sent Events

bash
npm run start:sse

Configuration

Environment Variables

Copy `.env.example` to `.env` and configure as needed:

bash
# Server Configuration
PORT=3000
NODE_ENV=development
LOG_LEVEL=info

# API Keys (Optional - tools work without keys but with limited data)
ALPHA_VANTAGE_API_KEY=your_key_here
CENSUS_API_KEY=your_key_here
FRED_API_KEY=your_key_here
NASDAQ_DATA_LINK_API_KEY=your_key_here
BLS_API_KEY=your_key_here

# Cache Configuration (Optional)
CACHE_TTL_DEFAULT_MS=86400000
CACHE_TTL_ALPHA_VANTAGE_MS=86400000
CACHE_TTL_FRED_MS=86400000

Data Source Setup

Required Keys:

  • Alpha Vantage: Free tier provides 25 requests/day
  • Census Bureau: Free API access
  • FRED: Free API access
  • Nasdaq Data Link: Free tier available

No Key Required:

  • World Bank, OECD, IMF (public APIs)
  • BLS (optional key for higher limits)

Tool Defaults

All tools include professional defaults. See Default Values Guide for complete parameter lists.

Example Defaults:

  • Stock symbols: AAPL, MSFT, GOOGL
  • Industry codes: NAICS 54 (Professional Services)
  • Market sizes: $10B base with 15% growth
  • Time periods: 2020-2024

Caching Strategy

In-Memory Cache (Default)

  • NodeCache-based with configurable TTLs
  • Automatic cleanup and statistics
  • Per-source cache invalidation

Redis Cache (Production)

typescript
const dataService = new EnhancedDataService({
  cache: { type: 'redis' },
  apiKeys: { /* your keys */ }
});

Project Structure

code
TAM-MCP-Server/
├── config/                     # Configuration files
│   ├── jest.config.json       # Jest test configuration  
│   ├── vitest.config.ts       # Vitest test configuration
│   └── redis.conf             # Redis configuration
├── doc/                       # Documentation
│   ├── README.md              # Documentation hub
│   ├── consumer/              # Consumer documentation
│   │   ├── getting-started.md # Getting started guide
│   │   ├── default-values-guide.md # Default values guide
│   │   ├── mcp-prompts-guide.md # MCP prompts guide
│   │   ├── tools-guide.md     # Tools reference
│   │   └── api-reference.md   # API documentation
│   ├── contributor/           # Contributor documentation
│   │   ├── contributing.md    # Development guidelines
│   │   └── security.md        # Security policy
│   ├── reference/             # Reference documentation
│   │   ├── RELEASE-NOTES.md   # Version history
│   │   ├── CHANGELOG.md       # Technical changes
│   │   └── requirements.md    # Technical specifications
│   ├── reports/               # Technical reports and validation
│   │   ├── SEMANTIC-VALIDATION-COMPLETE.md # Validation results
│   │   └── DEFAULT-VALUES-SUMMARY.md # Default values analysis
│   └── archive/               # Historical documents
├── examples/                  # Examples and demos
│   ├── README.md              # Examples documentation
│   ├── demo-default-values.mjs # Default values demonstration
│   ├── demo-integration.mjs   # Integration examples
│   └── TAM-MCP-Server-Postman-Collection.json # API testing
├── scripts/                   # Build and development scripts
│   ├── build.sh               # Production build script
│   ├── dev-setup.sh          # Development environment setup
│   └── dev.sh                # Development helper script
├── src/                       # Source code
│   ├── index.ts               # Main entry point
│   ├── server.ts              # Core MCP server
│   ├── http.ts                # HTTP transport
│   ├── sse-new.ts            # SSE transport
│   ├── stdio-simple.ts       # STDIO transport
│   ├── config/               # Configuration modules
│   ├── services/             # Data source services
│   ├── tools/                # MCP tool implementations
│   ├── prompts/              # Business prompt templates
│   ├── notifications/        # Notification system
│   ├── types/                # TypeScript definitions
│   └── utils/                # Utility functions
├── tests/                     # Test suite
│   ├── unit/                 # Unit tests
│   ├── integration/          # Integration tests
│   ├── e2e/                  # End-to-end tests
│   ├── scripts/              # Test and validation scripts
│   │   ├── test-comprehensive.mjs # Comprehensive testing
│   │   ├── test-semantic-validation.mjs # Semantic validation
│   │   └── *.mjs             # Additional test utilities
│   ├── fixtures/             # Test data and mock objects
│   ├── utils/                # Test utilities and helpers
│   └── setup.ts              # Test configuration
├── logs/                      # Application logs
├── dist/                      # Compiled JavaScript (built)
├── .env.example              # Environment template
├── package.json              # Node.js dependencies
├── tsconfig.json             # TypeScript configuration
└── README.md                 # Main documentation

Tools Reference

MCP Data Access Tools (17 tools)

Direct Data Source Access (13 tools)

SourceToolsDescription
Alpha Vantage`alphaVantage_getCompanyOverview`, `alphaVantage_searchSymbols`Company financials and stock data
BLS`bls_getSeriesData`Bureau of Labor Statistics data
Census`census_fetchIndustryData`, `census_fetchMarketSize`Industry and demographic data
FRED`fred_getSeriesObservations`Federal Reserve economic data
IMF`imf_getDataset`, `imf_getLatestObservation`International economic data
Nasdaq`nasdaq_getDatasetTimeSeries`, `nasdaq_getLatestDatasetValue`Financial datasets
OECD`oecd_getDataset`, `oecd_getLatestObservation`International statistics
World Bank`worldBank_getIndicatorData`Development indicators

Basic Market Tools (4 tools)

ToolDescription
`industry_search`Basic industry data search from sources
`tam_calculator`Basic Total Addressable Market calculations
`market_size_calculator`Market size estimation and calculations
`company_financials_retriever`Enhanced company financial data retrieval

Business Analysis Tools (11 tools)

ToolDescription
`industry_analysis`Enhanced multi-source industry analysis
`industry_data`Detailed industry intelligence with trends and key players
`market_size`Advanced market size estimation with confidence scoring
`tam_analysis`Advanced Total Addressable Market calculations
`sam_calculator`Serviceable Addressable Market analysis
`market_segments`Hierarchical market segmentation
`market_forecasting`Time series forecasting with scenarios
`market_comparison`Multi-market comparative analysis
`data_validation`Cross-source data quality validation
`market_opportunities`Market gap identification
`generic_data_query`Direct data source service access

Business Prompts (15 templates)

15 Professional Business Analysis Prompts designed for real-world business scenarios:

Strategic Business Analysis

  • startup_funding_pitch - Series A-C funding presentations with TAM/SAM analysis
  • private_equity_research - Investment committee packages for PE deals
  • corporate_strategy_entry - Fortune 500 market entry strategy analysis
  • venture_capital_thesis - VC investment thesis development
  • asset_management_research - Institutional asset management research

Crisis & Specialized Analysis

  • crisis_management_analysis - Emergency market analysis for crisis response
  • regulatory_impact_assessment - Regulatory change impact analysis
  • international_expansion - Global market entry strategy analysis
  • technology_disruption_analysis - Technology disruption impact assessment
  • esg_sustainability_analysis - ESG and sustainability market analysis

Quick Analysis & Guidance

  • market_opportunity_scan - Rapid market opportunity identification
  • competitive_intelligence - Competitive landscape analysis
  • investment_screening - Investment opportunity screening
  • tool_guidance - Interactive guide to TAM MCP Server tools
  • best_practices_guide - Best practices for market analysis

Designed for AI applications serving business analysts, developers, and market researchers with deep market intelligence and data access tools.

Development

Testing

The project uses a comprehensive test structure with Vitest as the primary testing framework:

code
tests/
├── unit/                    # Fast, isolated component tests
├── integration/            # Component interaction tests
├── e2e/                   # End-to-end workflow tests
├── scripts/               # Integration test scripts
│   ├── test-comprehensive.mjs # Comprehensive testing
│   ├── test-http-streaming.mjs # HTTP streaming transport
│   ├── test-simple-mcp.mjs # Basic MCP functionality
│   └── test-mcp-tool-calls.mjs # Individual tool validation
├── fixtures/              # Test data and mock objects
├── utils/                 # Test utilities and helpers
└── setup.ts              # Vitest global configuration

Running Tests

bash
# Run all tests
npm test

# Run by category
npm run test:unit          # Fast unit tests
npm run test:integration   # Integration tests
npm run test:e2e          # End-to-end tests

# Advanced options
npm run test:coverage     # With coverage report
npm run test:watch       # Watch mode for development
npm run test:ui          # Vitest UI mode
npm run test:ci          # CI-optimized test run

# Run integration scripts
npm run test:scripts              # Comprehensive backend integration
npm run test:scripts:http         # HTTP streaming transport  
npm run test:scripts:simple       # Basic MCP functionality
npm run test:scripts:tools        # Individual tool validation
npm run test:scripts:inspector    # MCP Inspector compatibility

# Or run directly
node tests/scripts/test-comprehensive.mjs
node tests/scripts/test-http-streaming.mjs

API Testing with Postman

Import the comprehensive Postman collection for testing both MCP endpoints and backend API integrations:

MCP Server Testing Collection

1. Import Collection: `examples/TAM-MCP-Server-Postman-Collection.json`

2. Set Environment Variables:

    3. Run Tests:

      Newman CLI Testing

      Automate Postman tests from command line:

      bash
      # Install Newman
      npm install -g newman
      
      # Run backend API tests
      newman run examples/TAM-MCP-Server-Postman-Collection.json \
        -e tests/postman/environments/TAM-MCP-Server-Environment.postman_environment.json \
        --reporters cli,json
      
      # Or use npm script
      npm run test:postman

      Test Coverage

      • Unit Level: Individual tool functionality and business logic
      • Integration Level: MCP protocol compliance and server behavior
      • System Level: Complete workflows through real transports
      • API Level: REST endpoints and session management
      • Performance: Response time and resource usage monitoring

      Code coverage reports are generated in the `coverage/` directory.

      Project Structure

      code
      src/
      ├── index.ts              # Main entry point
      ├── server.ts             # MCP server implementation
      ├── http.ts               # HTTP transport
      ├── sse-new.ts           # SSE transport
      ├── stdio-simple.ts      # STDIO transport
      ├── config/              # Configuration modules
      │   └── apiConfig.ts     # API endpoint configurations
      ├── services/            # Data source services
      │   ├── dataService.ts   # Main data orchestrator
      │   ├── cache/           # Caching services
      │   │   ├── cacheService.ts # In-memory caching
      │   │   └── persistenceService.ts # File persistence
      │   └── dataSources/     # Individual data source clients
      │       ├── alphaVantageService.ts
      │       ├── blsService.ts
      │       ├── censusService.ts
      │       ├── fredService.ts
      │       ├── imfService.ts
      │       ├── nasdaqDataService.ts
      │       ├── oecdService.ts
      │       └── worldBankService.ts
      ├── tools/               # MCP tool implementations
      │   └── market-tools.ts  # MarketAnalysisTools class
      ├── prompts/             # Business prompt templates
      ├── notifications/       # Notification system
      ├── types/               # TypeScript definitions
      │   ├── index.ts         # Core schemas and types
      │   ├── dataSources.ts   # Data source interfaces
      │   └── cache.ts         # Cache-related types
      └── utils/               # Utility functions
          ├── dataTransform.ts # Data transformation
          ├── envHelper.ts     # Environment parsing
          ├── rateLimit.ts     # Rate limiting
          └── logger.ts        # Winston logging
      
      tests/
      ├── unit/                # Unit tests
      ├── integration/         # Integration tests
      ├── e2e/                 # End-to-end tests
      └── scripts/             # Test automation scripts

      API Testing

      Use the included Postman collection:

      bash
      # Import collection
      examples/TAM-MCP-Server-Postman-Collection.json
      
      # Or run with Newman
      npm run test:postman

      Technology Stack

      • Language: TypeScript 5.x
      • Protocol: MCP 2025-03-26
      • Framework: Express.js 4.x
      • Validation: Zod schemas
      • Testing: Vitest + Postman
      • Cache: NodeCache (Redis optional)
      • Logging: Winston

      Troubleshooting

      Common Issues

      Services showing as disabled despite API keys

      • Ensure `.env` file is in project root
      • Check API key variable names match exactly
      • Restart server after adding keys
      • Verify startup logs show service initialization

      MCP Inspector connection issues

      • Use: `npx @modelcontextprotocol/inspector node dist/stdio-simple.js`
      • Ensure no console.log statements contaminate stdout
      • Check Winston logger uses stderr for output

      Build errors

      • Run `npm install` to update dependencies
      • Check Node.js version (20.x recommended)
      • Clear build cache: `rm -rf dist && npm run build`

      No data returned from tools

      • Check service status in startup logs
      • Verify API quotas not exceeded
      • Test with `generic_data_query` tool
      • Check network connectivity

      Getting Help

      Documentation

      Complete Documentation

      Development Documentation

      Testing Documentation

      Examples & Scripts

      Implementation Guides

      MCP Resources Access

      All documentation is also accessible through the MCP protocol:

      javascript
      // Discover all available documentation
      {
        "method": "resources/list",
        "params": {}
      }
      
      // Read specific documentation
      {
        "method": "resources/read", 
        "params": {
          "uri": "file:///README.md"
        }
      }

      Available Documentation Resources:

      • README.md - Complete project overview and feature documentation
      • Getting Started Guide - Quick setup and first-use instructions
      • Configuration Guide - Environment setup and API key management
      • Tools Reference - Complete tool documentation and usage examples
      • Prompts Guide - Business analysis prompt templates and scenarios
      • API Reference - Complete API documentation and integration guides
      • Security Policy - Security guidelines and best practices
      • Contributing Guide - Development and contribution instructions

      Contributing

      Contributions welcome! See Contributing Guidelines for requirements.

      License

      MIT License - see LICENSE file for details.


      **Created by Vaibhav Gupta**

      Frequently asked questions

      What is TAM-MCP-Server?

      TAM-MCP-Server is A comprehensive Model Context Protocol (MCP) server for market sizing analysis, TAM/SAM calculations, and industry research. Built with TypeScript, Express.js, and following the MCP specification.

      How do I install TAM-MCP-Server?

      Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

      Is TAM-MCP-Server open source?

      Yes — it is hosted on GitHub at https://github.com/gvaibhav/TAM-MCP-Server and has 35 stars.

      Related MCP tools

      Run your own MCP server? See who uses it and what to fix.

      Measure it with TrackMCP