关于 TAM-MCP-Server
TAM-MCP-Server 为商业分析师和研究团队提供市场规模研究能力,涵盖 TAM/SAM 计算、行业分析及经济数据访问。它通过 28 个工具、15 个提示词和 8 个数据源支持从原始数据到业务分析的工作。
主要功能
- 01TAM、SAM 计算与预测
- 02行业分析和市场细分
- 03连接 8 个经济数据源
- 04提供 15 个业务分析提示词
- 05支持 STDIO、HTTP 和 SSE
适用场景
- 01估算市场规模并预测增长
- 02比较行业及市场机会
- 03准备融资和企业战略分析
MCP 相关
该 MCP 服务向客户端提供 28 个市场研究与数据工具、15 个业务提示词,以及文档和状态资源。支持 STDIO、Streamable HTTP 和 SSE 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
市场规模估算 MCP 服务
一个 Model Context Protocol 服务,通过 28 个工具、15 个商业提示词以及与 8 个经济数据源的集成,提供市场研究和商业分析功能。
此前曾收录于官方 MCP 社区服务列表:https://github.com/modelcontextprotocol/servers/blob/e21dbea731f2ccddcd48525cf9a1e1e405fee12f/README.md
概览
此 MCP 服务提供全面的市场研究能力,包括:
- 28 个工具:市场分析、数据访问和商业智能工具
- 15 个提示词:用于融资、战略和研究的专业商业分析模板
- 数据集成:Alpha Vantage、BLS、Census、FRED、IMF、Nasdaq Data Link、OECD、World Bank
- 智能默认值:预配置参数,无需设置即可立即使用
- 多种传输方式:支持 STDIO、Streamable HTTP 和 SSE
架构概览
flowchart TD
Client[MCP Client] <--> Transports
subgraph Transports[Transports]
STDIO[STDIO]
HTTP[HTTP]
SSE[SSE]
end
Transports <--> ToolTiers
subgraph ToolTiers[MCP Tool Tiers]
Tier3[Tier 3: Business Analysis Tools]
Tier2[Tier 2: Basic Market Tools]
Tier1[Tier 1: Data Access Tools]
Tier3 --> Tier2
Tier3 --> Tier1
Tier2 --> Tier1
end
ToolTiers <--> CacheLayer
subgraph CacheLayer[Cache Layer]
InMemory[In-Memory Cache]
Redis[Redis Cache]
end
CacheLayer <--> DataServices
subgraph DataServices[Data Services]
AV[Alpha Vantage]
BLS[BLS]
Census[Census]
FRED[FRED]
IMF[IMF]
Nasdaq[Nasdaq]
OECD[OECD]
WB[World Bank]
end
功能
市场分析工具
- 总潜在市场(TAM)和可服务潜在市场(SAM)计算
- 市场规模估算和预测
- 行业分析和竞争情报
- 市场细分和机会识别
- 数据验证和跨来源核验
商业智能提示词
- 创业公司融资路演准备
- 私募股权投资分析
- 企业战略和市场进入
- 危机管理和监管影响评估
- ESG 和可持续发展分析
数据访问
- 实时获取金融和经济数据
- 多来源数据聚合与比较
- 根据数据类型和可用性进行智能路由
- 全面缓存,以优化性能
MCP 协议功能
- 实时通知:6 种业务专属通知,涵盖市场情报、数据源健康状态、计算里程碑和性能监控
- 多种传输方式:全面支持 STDIO、HTTP 和服务器发送事件(SSE)协议
- 资源访问:可通过 MCP 资源获取文档和状态信息
- 工具发现:完整的工具目录,包含智能默认值和验证
安装
先决条件
- Node.js 20.x 或更高版本
- npm 或 yarn
- 数据源的 API 密钥(可选,参见配置)
快速设置
# 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
开发环境设置
# 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 部署
# 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 集成
HTTP 传输(推荐) 对于 Claude Desktop,请添加到配置中:
{
"mcpServers": {
"tam": {
"command": "npm",
"args": ["run", "start:http"],
"cwd": "/path/to/TAM-MCP-Server"
}
}
}
STDIO 传输(替代方案)
{
"mcpServers": {
"tam": {
"command": "npm",
"args": ["run", "start:stdio"],
"cwd": "/path/to/TAM-MCP-Server"
}
}
}
对于 MCP Inspector:
# HTTP mode
npm run start:http
# STDIO mode
npx @modelcontextprotocol/inspector npm run start:stdio
使用方法
智能默认值——零门槛入门
立即获取专业市场洞察——无需研究参数!
所有 28 个工具都包含智能默认值,让你可以立即开始分析:
// 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
}
专业默认值包括:
- 股票分析:AAPL、MSFT、GOOGL(财富 500 强公司)
- 经济数据:美国 GDP、全球指标、2020-2024 年时间范围
- 行业代码:技术行业、专业服务(NAICS 54)
- 市场计算:100 亿美元基准市场、15% 增长率、5 年预测
适用场景:
- 首次使用者无需研究参数即可立即获得结果
- 展示专业市场分析能力的演示环境
- 使用真实商业数据和场景进行快速原型开发
基本工具用法
// 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"
}
}
商业分析提示词
通过提示词界面访问专业模板:
// 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 工具 - 三层架构系统
TAM MCP Server 提供 28 个 MCP 工具,分为三个互为补充的层级:
第 1 层:直接数据访问工具(13 个工具)
用途:直接访问外部数据源
目标用户:开发者、数据工程师、自定义分析工具构建者
alphaVantage_getCompanyOverview:获取详细的公司概况和财务数据alphaVantage_searchSymbols:搜索股票代码和公司名称bls_getSeriesData:获取美国劳工统计局就业数据census_fetchIndustryData:访问美国人口普查局行业统计数据census_fetchMarketSize:获取人口普查调查中的市场规模数据fred_getSeriesObservations:获取美联储经济数据序列imf_getDataset:访问国际货币基金组织数据集imf_getLatestObservation:获取最新的 IMF 经济观测数据nasdaq_getDatasetTimeSeries:获取 Nasdaq Data Link 时间序列数据nasdaq_getLatestDatasetValue:获取 Nasdaq 数据集中的最新值oecd_getDataset:访问 OECD 统计数据集oecd_getLatestObservation:获取最新的 OECD 经济观测数据worldBank_getIndicatorData:获取世界银行发展指标数据
第 2 层:基础市场工具(4 个工具)
用途:提供基础市场分析能力
目标用户:刚开始进行基础市场研究的业务分析师
industry_search:从多个数据源获取基础行业数据tam_calculator:进行基础的总体可寻址市场计算market_size_calculator:估算基础市场规模并说明方法company_financials_retriever:获取基础公司财务数据
第 3 层:业务分析工具(11 个工具)
用途:提供高级市场情报和全面的业务分析
目标用户:高级分析师、市场研究人员、投资团队
industry_analysis:增强型多源行业分析,具备智能排序功能industry_data:提供详细的行业情报,涵盖趋势、ESG 和主要参与者market_size:高级市场规模估算与分析,并提供置信度评分tam_analysis:高级总体可寻址市场计算,并提供情景预测sam_calculator:计算可服务可寻址市场,并分析限制因素market_segments:分层市场细分分析market_forecasting:时间序列预测与情景分析market_comparison:多市场对比分析与排名data_validation:跨数据源数据质量验证与评分market_opportunities:识别市场缺口和增长机会generic_data_query:直接访问任意数据源服务和方法
数据源
该服务集成了 8 个数据源:
- Alpha Vantage:公司财务数据、股票数据
- BLS:就业和劳工统计数据
- Census:行业和人口统计数据
- FRED:美联储经济数据
- IMF:国际经济数据
- Nasdaq Data Link:金融数据集
- OECD:国际统计数据
- World Bank:发展指标
传输方式
HTTP 服务(推荐)
npm run start:http
# Server available at http://localhost:3000
STDIO 传输
npm run start:stdio
服务器发送事件
npm run start:sse
配置
环境变量
将 .env.example 复制为 .env,并按需进行配置:
# 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
数据源设置
推荐的密钥: (注意:密钥为可选项。若不提供密钥,一级直接数据访问工具以及依赖这些特定数据源的更高级别分析工具将无法充分发挥功能,只能依赖模拟数据或受限访问。)
- Alpha Vantage:免费套餐每天提供 25 次请求
- Census Bureau:免费 API 访问
- FRED:免费 API 访问
- Nasdaq Data Link:提供免费套餐
无需密钥:
- World Bank、OECD、IMF(公共 API)
- BLS(提高限额需提供可选密钥)
工具默认值
所有工具均包含专业默认值。完整参数列表请参阅默认值指南。
默认值示例:
- 股票代码:AAPL、MSFT、GOOGL
- 行业代码:NAICS 54(专业服务)
- 市场规模:以 100 亿美元为基准,增长率为 15%
- 时间段:2020-2024
缓存策略
内存缓存(默认)
- 基于 NodeCache,支持配置 TTL
- 自动清理并提供统计信息
- 支持按数据源使缓存失效
Redis 缓存(生产环境)
const dataService = new EnhancedDataService({
cache: { type: 'redis' },
apiKeys: { /* your keys */ }
});
项目结构
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
工具参考
MCP 数据访问工具(17 个工具)
直接数据源访问(13 个工具)
| 数据源 | 工具 | 描述 |
|---|---|---|
| Alpha Vantage | alphaVantage_getCompanyOverview, alphaVantage_searchSymbols | 公司财务和股票数据 |
| BLS | bls_getSeriesData | 美国劳工统计局数据 |
| Census | census_fetchIndustryData, census_fetchMarketSize | 行业和人口统计数据 |
| FRED | fred_getSeriesObservations | 美联储经济数据 |
| IMF | imf_getDataset, imf_getLatestObservation | 国际经济数据 |
| Nasdaq | nasdaq_getDatasetTimeSeries, nasdaq_getLatestDatasetValue | 金融数据集 |
| OECD | oecd_getDataset, oecd_getLatestObservation | 国际统计数据 |
| World Bank | worldBank_getIndicatorData | 发展指标 |
基础市场工具(4 个工具)
| 工具 | 描述 |
|---|---|
industry_search | 从数据源搜索基础行业数据 |
tam_calculator | 基础可寻址总市场计算 |
market_size_calculator | 市场规模估算和计算 |
company_financials_retriever | 增强型公司财务数据检索 |
商业分析工具(11 个工具)
| 工具 | 描述 |
|---|---|
industry_analysis | 增强型多源行业分析 |
industry_data | 详细的行业情报,包含趋势和主要参与者 |
market_size | 高级市场规模估算,并提供置信度评分 |
tam_analysis | 高级可寻址总市场计算 |
sam_calculator | 可服务可寻址市场分析 |
market_segments | 分层市场细分 |
market_forecasting | 基于时间序列的预测,包含多种情景 |
market_comparison | 多市场比较分析 |
data_validation | 跨数据源的数据质量验证 |
market_opportunities | 市场空缺识别 |
generic_data_query | 直接访问数据源服务 |
商业提示词(15 个模板)
15 个专业商业分析提示词,专为真实商业场景设计:
战略商业分析
- startup_funding_pitch - 面向 A-C 轮融资的演示材料,包含 TAM/SAM 分析
- private_equity_research - PE 交易的投资委员会材料包
- corporate_strategy_entry - 财富 500 强企业的市场进入战略分析
- venture_capital_thesis - VC 投资论点制定
- asset_management_research - 机构资产管理研究
危机与专项分析
- crisis_management_analysis - 面向危机响应的紧急市场分析
- regulatory_impact_assessment - 监管变化影响分析
- international_expansion - 全球市场进入策略分析
- technology_disruption_analysis - 技术颠覆影响评估
- esg_sustainability_analysis - ESG 与可持续发展市场分析
快速分析与指导
- market_opportunity_scan - 快速识别市场机遇
- competitive_intelligence - 竞争格局分析
- investment_screening - 投资机会筛选
- tool_guidance - TAM MCP Server 工具的交互式指南
- best_practices_guide - 市场分析最佳实践
专为服务于业务分析师、开发者和市场研究人员的 AI 应用设计,提供深入的市场情报和数据访问工具。
开发
测试
本项目采用全面的测试结构,并以 Vitest 作为主要测试框架:
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
运行测试
# 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
使用 Postman 进行 API 测试
导入全面的 Postman 集合,以测试 MCP 端点和后端 API 集成:
MCP 服务测试集合
- 导入集合:
examples/TAM-MCP-Server-Postman-Collection.json - 设置环境变量:
serverUrl:http://localhost:3000sessionId:(初始化后自动设置)
- 运行测试:
- 健康检查和服务状态
- MCP 会话初始化
- 全部 28 个工具(11 个市场分析工具 + 17 个数据访问工具)
- 资源访问端点
- 会话管理和清理
Newman CLI 测试 从命令行自动运行 Postman 测试:
# 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
测试覆盖范围
- 单元级:单个工具功能和业务逻辑
- 集成级:MCP 协议合规性和服务行为
- 系统级:通过真实传输完成完整工作流
- API 级:REST 端点和会话管理
- 性能:响应时间和资源使用情况监控
代码覆盖率报告会生成在 coverage/ 目录中。
项目结构
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 测试
使用随附的 Postman 集合:
# Import collection
examples/TAM-MCP-Server-Postman-Collection.json
# Or run with Newman
npm run test:postman
技术栈
- 语言:TypeScript 5.x
- 协议:MCP 2025-03-26
- 框架:Express.js 4.x
- 验证:Zod schemas
- 测试:Vitest + Postman
- 缓存:NodeCache(Redis 可选)
- 日志记录:Winston
故障排查
常见问题
尽管已配置 API 密钥,服务仍显示为已禁用
- 确保
.env文件位于项目根目录 - 检查 API 密钥变量名称是否完全匹配
- 添加密钥后重启服务
- 确认启动日志显示服务已初始化
MCP Inspector 连接问题
- 使用:
npx @modelcontextprotocol/inspector node dist/stdio-simple.js - 确保没有 console.log 语句污染 stdout
- 检查 Winston logger 是否使用 stderr 输出
构建错误
- 运行
npm install更新依赖项 - 检查 Node.js 版本(建议使用 20.x)
- 清除构建缓存:
rm -rf dist && npm run build
工具未返回数据
- 检查启动日志中的服务状态
- 确认未超出 API 配额
- 使用
generic_data_query工具进行测试 - 检查网络连接
获取帮助
- 查看 GitHub Issues
- 查阅 Release Notes
- 提交问题时附上错误日志和环境详情
文档
完整文档
- 文档中心 - 所有项目文档的完整指南
- 入门指南 - 快速设置和首次使用说明
- 配置指南 - 环境设置和 API 密钥管理
- 工具参考 - 完整的工具文档和使用示例
- 提示词指南 - 业务分析提示词模板和场景
- API 参考 - 完整的 API 文档和集成指南
- 默认值指南 - 智能默认值文档
- MCP 集成指南 - MCP 资源和协议用法
开发文档
测试文档
- 集成测试 - 集成测试脚本文档
示例和脚本
- 示例目录 - API 示例和集成资源
- Postman 集合 - 完整的 API 测试集合
- 开发脚本 - 构建和设置自动化脚本
实现指南
访问 MCP 资源
所有文档也可通过 MCP 协议访问:
// Discover all available documentation
{
"method": "resources/list",
"params": {}
}
// Read specific documentation
{
"method": "resources/read",
"params": {
"uri": "file:///README.md"
}
}
可用文档资源:
- README.md - 完整的项目概览和功能文档
- 入门指南 - 快速设置和首次使用说明
- 配置指南 - 环境设置和 API 密钥管理
- 工具参考 - 完整的工具文档和使用示例
- 提示词指南 - 业务分析提示词模板和场景
- API 参考 - 完整的 API 文档和集成指南
- 安全策略 - 安全指南和最佳实践
- 贡献指南 - 开发和贡献说明
贡献
欢迎贡献!要求请参阅贡献指南。
许可证
MIT 许可证 - 详情请参阅 LICENSE 文件。
由 Vaibhav Gupta 创建
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。