Token导航 LogoToken导航TokenDH.com
Naics MCP Server logo
搜索检索stdio官方级别未说明来源级核验

Naics MCP Server

MCP Server

NAICS MCP Server 是一个基于模型上下文协议(MCP)的智能行业分类服务,提供语义搜索、混合搜索和多级层次结构导航功能,适用于NAICS 2022标准的行业分类。

工具数

20

提示词数

0

GitHub Stars

2

资源数

0
搜索混合搜索Python数据管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mfbaig35r

提供方

mfbaig35r

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install naics-mcp-server

详细介绍

NAICS MCP服务器

![CI](https://github.com/your-org/naics-mcp-server/actions/workflows/ci.yml) ![Python 3.11+](https://www.python.org/downloads/) ![License: MIT](https://opensource.org/licenses/MIT)

基于模型上下文协议(MCP)构建的NAICS 2022智能行业分类服务。

特性

  • 语义搜索 -使用句子嵌入的自然语言搜索
  • 混合搜索 -将语义理解与精确术语匹配相结合
  • 5级层次结构 -从部门(2位)导航到国家工业(6位)
  • 交叉引用集成 -准确分类的关键排除检查
  • 索引词搜索 -20398 NAICS官方索引术语
  • 分类工作簿 -记录和跟踪分类决策
  • 健康监测 -Kubernetes就绪活性和就绪性探针

目录

快速开始

使用Docker(推荐)

# Clone the repository
git clone https://github.com/your-org/naics-mcp-server.git
cd naics-mcp-server

# Start the server
docker compose up

使用pip

# Install
pip install naics-mcp-server

# Initialize database
naics-mcp init

# Generate embeddings
naics-mcp embeddings

# Run the server
naics-mcp-server

安装

来自PyPI

pip install naics-mcp-server

源自

git clone https://github.com/your-org/naics-mcp-server.git
cd naics-mcp-server
pip install -e .

具有发展依赖性

pip install -e ".[dev]"

配置

服务器是通过具有合理默认值的环境变量配置的。

核心设置

变量默认值描述
NAICS_DATABASE_PATH~/.cache/naics-mcp-server/naics.duckdbDuckDB数据库的路径
NAICS_EMBEDDING_MODELall-MiniLM-L6-v2句子转换模型
NAICS_DEBUGfalse启用调试模式

搜索设置

变量默认值描述
NAICS_HYBRID_WEIGHT_SEMANTIC0.7语义搜索权重(0-1)
NAICS_MIN_CONFIDENCE0.3最小置信阈值
NAICS_DEFAULT_LIMIT10默认结果限制
NAICS_QUERY_TIMEOUT_SECONDS5查询超时

功能标志

变量默认值描述
NAICS_ENABLE_QUERY_EXPANSIONtrue使用同义词展开查询
NAICS_ENABLE_CROSS_REFERENCEStrue包括交叉引用检查
NAICS_ENABLE_AUDIT_LOGtrue用于审计的日志搜索查询

日志记录

变量默认值描述
NAICS_LOG_LEVELINFO日志级别(调试、信息、警告、错误)
NAICS_LOG_FORMATtext日志格式(textjson)
NAICS_LOG_FILENone日志的可选文件路径

示例 .env 文件

# Database
NAICS_DATABASE_PATH=/data/naics.duckdb

# Search tuning
NAICS_HYBRID_WEIGHT_SEMANTIC=0.7
NAICS_MIN_CONFIDENCE=0.3

# Logging
NAICS_LOG_LEVEL=INFO
NAICS_LOG_FORMAT=json

# Debug (disable in production)
NAICS_DEBUG=false

码头工人

使用Docker Compose

# Start production server
docker compose up -d

# View logs
docker compose logs -f

# Stop
docker compose down

发展模式

# Start with hot reload and debug logging
docker compose --profile dev up naics-dev

初始化数据库

# Initialize database schema
docker compose --profile init run naics-init

# Generate embeddings (takes a few minutes)
docker compose --profile init run naics-embeddings

塑造形象

# Build production image
docker build -t naics-mcp-server:latest --target runtime .

# Build development image
docker build -t naics-mcp-server:dev --target development .

Docker卷

目的
naics-mcp-data数据库存储
naics-mcp-cache模型缓存(句子转换器)
naics-mcp-logs应用程序日志

Kubernetes

使用Kustomize部署到Kubernetes:

# Deploy base configuration
kubectl apply -k k8s/base/

# Deploy production overlay (scaled resources)
kubectl apply -k k8s/overlays/production/

部署包括:

  • 活力、准备和启动探测
  • 数据库和模型缓存的持久存储
  • 基于ConfigMap的配置
  • Prometheus操作员服务监视器

k8s/README.md 获取完整的Kubernetes部署文档。

MCP工具

搜索工具

工具说明
search_naics_codes具有置信度评分的混合语义/词汇搜索
search_index_terms搜索官方20398术语NAICS索引
find_similar_industries使用嵌入查找与给定代码相似的代码
classify_batch高效地对多个业务描述进行分类

层次结构工具

工具说明
get_code_hierarchy获取完整的祖先链(扇区→ 国家工业)
get_children获取代码的直系子女
get_siblings获取与同一父级处于同一级别的代码

分类工具

工具说明
classify_business用详细的推理对描述进行分类
get_cross_references获取代码的排除项/包含项
validate_classification验证代码是否与描述一致

分析工具

工具说明
get_sector_overview部门/子部门结构摘要
compare_codes多个代码的并排比较

工作簿工具

工具说明
write_to_workbook记录分类决策
search_workbook搜索过去的决策
get_workbook_entry检索特定条目
get_workbook_template获取结构化输入的表单模板

诊断工具

工具说明
ping简单的活性检查
check_readiness检查服务器是否已准备好处理请求
get_server_health所有组件的详细健康状况
get_workflow_guide获取推荐的分类工作流程

CLI使用情况

# Run the MCP server
naics-mcp serve

# Search for NAICS codes
naics-mcp search "retail grocery store"
naics-mcp search "dog food manufacturing" --strategy semantic --limit 5

# View code hierarchy
naics-mcp hierarchy 445110

# Show database statistics
naics-mcp stats

# Initialize/rebuild database
naics-mcp init

# Generate/rebuild embeddings
naics-mcp embeddings
naics-mcp embeddings --rebuild  # Force rebuild

# Batch classify from CSV
naics-mcp classify-batch suppliers.csv
naics-mcp classify-batch suppliers.csv --column "supplier_name"
naics-mcp classify-batch suppliers.csv --top-n 3 --output results.csv

批次分类

在一个命令中对数千个业务描述进行分类。读取CSV,通过混合搜索引擎运行每一行,并使用NAICS代码、标题、级别和置信度评分写入结果。

naics-mcp classify-batch suppliers.csv --column description --top-n 3 --strategy hybrid
选项默认值描述
--columndescription包含业务描述的CSV列
--output_classified.csv输出文件路径
--top-n1每行排名靠前的比赛数量
--strategyhybrid搜索策略(hybrid, semantic, lexical)

输出保留所有原始列并附加分类列。随着 --top-n 3,列带有后缀(naics_code_1, naics_code_2, naics_code_3等等)。每500行报告一次进度,包括速率和预计到达时间。

健康检查

服务器提供HTTP端点和MCP工具用于健康监控。

HTTP端点(端口9090)

端点目的用途
GET /healthLiveness probeKubernetes livessProbe
GET /ready就绪性探测Kubernetes就绪性探测
GET /status详细状态监控仪表板
GET /metrics普罗米修斯指标普罗米修斯抓取
# Check if server is alive
curl http://localhost:9090/health
# {"status": "alive", "timestamp": "2024-01-15T10:30:00Z"}

# Check if ready for traffic
curl http://localhost:9090/ready
# {"status": "ready", "uptime_seconds": 120.5, "timestamp": "..."}

# Get Prometheus metrics
curl http://localhost:9090/metrics

docs/HTTP_ENDPOINTS.md 获取完整的HTTP API文档。

MCP工具

工具目的
ping简单的活性检查
check_readiness准备状态
get_server_health详细的组件运行状况

健康状况值

状态含义
healthy所有组件就绪
degraded某些组件是部分的,但可以运行
unhealthy关键组件出现故障

发展

设置

# Clone and install
git clone https://github.com/your-org/naics-mcp-server.git
cd naics-mcp-server
pip install -e ".[dev]"

# Run tests
pytest

# Run tests with coverage
pytest --cov=naics_mcp_server --cov-report=term-missing

# Lint
ruff check naics_mcp_server/ tests/

# Format
ruff format naics_mcp_server/ tests/

# Type check
mypy naics_mcp_server/

项目结构

naics-mcp-server/
├── naics_mcp_server/
│   ├── __init__.py
│   ├── server.py           # MCP server and tools
│   ├── cli.py              # Command-line interface
│   ├── config.py           # Pydantic configuration
│   ├── core/
│   │   ├── database.py     # DuckDB operations
│   │   ├── embeddings.py   # Sentence transformers
│   │   ├── search_engine.py # Hybrid search
│   │   ├── health.py       # Health checks
│   │   ├── errors.py       # Error handling
│   │   └── validation.py   # Input validation
│   ├── models/
│   │   ├── naics_models.py # NAICS data models
│   │   └── search_models.py # Search result models
│   └── observability/
│       ├── logging.py      # Structured logging
│       └── audit.py        # Audit logging
├── tests/
├── data/                   # Pre-built DuckDB database (included)
├── Dockerfile
├── docker-compose.yml
└── pyproject.toml

建筑

数据流

User Query
    │
    ▼
┌─────────────────┐
│  Input Validation│
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  Query Expansion │ ─── Synonyms, stemming
└────────┬────────┘
         │
         ▼
┌─────────────────────────────────────────┐
│            Hybrid Search                 │
│  ┌─────────────┐    ┌─────────────┐     │
│  │  Semantic   │    │   Lexical   │     │
│  │  (70%)      │    │   (30%)     │     │
│  └──────┬──────┘    └──────┬──────┘     │
│         └────────┬─────────┘            │
└──────────────────┼──────────────────────┘
                   │
                   ▼
         ┌─────────────────┐
         │ Confidence Scoring│
         └────────┬────────┘
                  │
                  ▼
         ┌─────────────────┐
         │ Cross-Ref Check  │
         └────────┬────────┘
                  │
                  ▼
            Results

置信度评分

overall = (
    0.40 × semantic_score +     # Embedding similarity
    0.20 × lexical_score +      # Term overlap
    0.15 × index_term_match +   # Official index hit
    0.15 × specificity_bonus +  # 6-digit preferred
    0.10 × cross_ref_factor     # Classification guidance
)

数据库模式

-- NAICS codes (2,125 total across all levels)
naics_nodes (
    node_code VARCHAR PRIMARY KEY,
    level VARCHAR,              -- sector, subsector, etc.
    title VARCHAR,
    description TEXT,
    sector_code, subsector_code, industry_group_code, naics_industry_code,
    raw_embedding_text TEXT
)

-- Vector embeddings (384 dimensions)
naics_embeddings (node_code, embedding FLOAT[384], embedding_text)

-- Official index terms (20,398 entries)
naics_index_terms (term_id, naics_code, index_term, term_normalized)

-- Cross-references for classification guidance
naics_cross_references (
    ref_id, source_code, reference_type,
    reference_text, target_code, excluded_activity
)

演出

度量目标注释
搜索延迟(冷)\<200ms第一次搜索
搜索延迟(热)\<50ms缓存
批次(100个项目)\<10s混合复杂性
服务器启动\<30s包括模型加载
内存使用量\<1GB稳态

数据源

文件内容
2-6 digit_2022_Codes.xlsx所有NAICS代码和标题
2022_NAICS_Descriptions.xlsx完整的代码描述
2022_NAICS_Index_File.xlsx20398官方索引术语
2022_NAICS_Cross_References.xlsx分类指南

文档

文档描述
api参考完整的MCP工具参考
HTTP端点健康检查和指标API
Kubernetes部署Kubernetes部署指南
更新日志版本历史
生产要求生产准备检查表

许可证

MIT许可证-请参阅 许可证 了解详情。

贡献

欢迎投稿!请看 贡献.md 作为指导方针。

目录标签

目录标签

搜索混合搜索Python数据管理语义搜索本地部署行业分类NAICS

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

20

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP