返回市场
MCP标准服务器

MCP标准服务器

作者:williamzujkowski1 星标更新:2025-11-24

项目介绍

MCP标准服务器

CI Release Benchmark License: MIT Python 3.10+ PyPI version PyPI - Downloads

一个提供智能上下文感知访问开发标准的模型上下文协议(MCP)服务器。该系统使大语言模型能够根据项目需求自动选择并应用适当的规范。

项目状态

最近改进(2025年1月)

该项目进行了重大修复以恢复功能:

✅ 已解决问题:

  • 修复了关键的CI/CD工作流失败和安全漏洞
  • 解决了Python 3.12兼容性问题(aioredis,类型提示)
  • 将依赖管理整合到pyproject.toml中
  • 修复了数百个代码质量违规(flake8,mypy,black)
  • 优化GitHub工作流性能提高了40%

✅ 核心系统状态:

  • 完整加载并可访问25项全面标准
  • 25条智能选择规则正在运行
  • 配备21种工具的MCP服务器完全可用
  • 多语言代码分析(6种语言)正常工作
  • Redis缓存和性能优化已激活

⚠️ 需要验证的组件:

  • Web UI部署过程和功能
  • 全面的端到端集成测试(跳过了某些测试)
  • 建立性能基准线

详见CLAUDE.md中的详细实施状态。

功能

核心能力

  • 25项全面标准:涵盖整个软件开发生命周期
  • 智能标准选择:基于规则的引擎,具有25条检测规则
  • MCP服务器实现:支持多种工具的完整模型上下文协议
  • 标准生成系统:基于模板创建并保证质量
  • 混合向量存储:ChromaDB + 内存用于语义搜索
  • 多语言分析器:支持Python、JavaScript、Go、Java、Rust、TypeScript

高级功能

  • Redis缓存层:L1/L2架构用于性能优化
  • Web UI:React/TypeScript界面用于浏览和测试标准
  • CLI工具:完整的命令行接口及文档
  • 性能基准测试:持续监控和优化
  • 令牌优化:多种压缩格式提高LLM效率
  • NIST合规性:NIST 800-53r5控制映射和验证
  • 社区功能:审查流程、贡献指南、数据分析

要求

  • Python 3.10或更高版本
  • Redis(可选,用于缓存)
  • Node.js 16+(可选,用于Web UI)

🚀 5分钟快速启动

在5分钟内启动MCP标准服务器:

# 1. 克隆并设置(1分钟)
git clone https://github.com/williamzujkowski/mcp-standards-server.git
cd mcp-standards-server
python -m venv venv && source venv/bin/activate

# 2. 安装核心依赖(2分钟)
pip install -e .

# 3. 验证CLI安装(30秒)
python -m src.cli.main --help
python -m src.cli.main status

# 4. 测试MCP服务器功能(1分钟)
python -m src  # 应加载31项标准并初始化MCP服务器

# 5. 检查可用标准(30秒)
python -m src.cli.main cache --list  # 查看缓存的标准

**🎉 成功!**您的MCP标准服务器现在正在运行。继续阅读完整安装以完成带有Redis缓存和Web UI的完整设置。

完整安装指南

安装

从PyPI安装(推荐)

# 安装最新版本
pip install mcp-standards-server

# 或者安装特定功能集:
pip install "mcp-standards-server[full]"         # 包括Web API的所有功能
pip install "mcp-standards-server[test]"         # 仅测试工具
pip install "mcp-standards-server[dev]"          # 开发工具
pip install "mcp-standards-server[performance]"  # 性能监控工具

从源码安装

# 克隆仓库
git clone https://github.com/williamzujkowski/mcp-standards-server.git
cd mcp-standards-server

# 创建并激活虚拟环境(推荐)
python -m venv venv
source venv/bin/activate  # 在Windows上:venv\Scripts\activate

# 以开发模式安装
pip install -e .

# 或者安装特定功能集:
pip install -e ".[full]"         # 包括Web API的所有功能
pip install -e ".[test]"         # 仅测试工具
pip install -e ".[dev]"          # 开发工具(代码检查、格式化)
pip install -e ".[performance]"  # 性能监控工具

# 安装所有开发依赖
pip install -e ".[dev,test,performance,visualization,full]"

# 安装Redis(可选但推荐用于缓存)
# macOS:
brew install redis
brew services start redis

# Ubuntu/Debian:
sudo apt-get update
sudo apt-get install redis-server
sudo systemctl start redis-server

# Windows(使用WSL2):
wsl --install  # 如果尚未安装
# 然后在WSL中按照Ubuntu的步骤操作

# 或使用Docker:
docker run -d -p 6379:6379 redis:alpine

验证安装

# 运行基本测试以验证核心功能
pytest tests/unit/core/standards/test_rule_engine.py -v

# 检查项目是否正确安装
python -c "import src; print('安装成功')"

# 注意:CLI命令(mcp-standards)需要当前环境中安装了该包。如果看到导入错误,请确保您已经运行:
# pip install -e .

基本用法

from pathlib import Path
from src.core.standards.rule_engine import RuleEngine

# 加载规则引擎
rules_path = Path("data/standards/meta/standard-selection-rules.json")
engine = RuleEngine(rules_path)

# 定义您的项目上下文
context = {
    "project_type": "web_application",
    "framework": "react",
    "language": "javascript",
    "requirements": ["accessibility", "performance"]
}

# 获取适用的标准
result = engine.evaluate(context)
print(f"选定的标准:{result['resolved_standards']}")

运行MCP服务器

# 启动MCP服务器(用于工具集成的stdio模式)
python -m src

# 或使用CLI
mcp-standards --help

# 使用特定选项启动MCP服务器
mcp-standards serve --stdio         # 直接工具集成
mcp-standards serve --port 3000     # HTTP服务器模式
mcp-standards serve --daemon        # 作为后台服务运行

# 启动Web UI(需要单独设置)
cd web && ./start.sh

可用的MCP工具

MCP服务器提供了以下工具供LLM集成:

  • get_applicable_standards:根据项目上下文获取相关标准
  • validate_against_standard:检查代码与特定标准的一致性
  • suggest_improvements:获取改进建议
  • search_standards:跨所有标准进行语义搜索
  • get_compliance_mapping:将标准映射到NIST控制
  • analyze_code:分析代码文件以检查标准一致性
  • get_standard_content:检索完整或压缩的标准内容

MCP集成示例

# 示例:与MCP客户端一起使用
import mcp

# 连接到MCP服务器
async with mcp.Client("stdio://python -m src") as client:
    # 获取项目的适用标准
    result = await client.call_tool(
        "get_applicable_standards",
        context={
            "project_type": "web_application",
            "framework": "react",
            "requirements": ["accessibility", "security"]
        }
    )
    
    # 验证代码与标准的一致性
    validation = await client.call_tool(
        "validate_against_standard",
        code_path="./src",
        standard_id="react-18-patterns"
    )
    
    # 搜索特定指导
    search_results = await client.call_tool(
        "search_standards",
        query="身份验证最佳实践",
        limit=5
    )

使用通用项目启动

# 复制适用于任何LLM的启动提示
cat kickstart.md

同步标准

服务器可以从GitHub仓库自动同步标准:

# 检查更新
mcp-standards sync --check

# 执行同步
mcp-standards sync

# 强制同步所有文件(忽略缓存)
mcp-standards sync --force

# 查看同步状态
mcp-standards status

# 管理缓存
mcp-standards cache --list
mcp-standards cache --clear

data/standards/sync_config.yaml中配置同步。

生成标准

使用内置生成系统创建新标准:

# 列出可用模板
mcp-standards generate list-templates

# 交互式生成新标准
mcp-standards generate --interactive

# 从特定模板生成
mcp-standards generate --template standards/technical.j2 --title "我的新标准"

# 生成领域特定标准
mcp-standards generate --domain ai_ml --title "ML流水线标准"

# 验证现有标准
mcp-standards generate validate path/to/standard.md

Web UI

项目包括一个基于React的Web UI,用于浏览和测试标准:

# 启动Web UI
cd web
./start.sh

# 或分别运行组件:
# 后端API
cd web/backend
pip install -r requirements.txt
python main.py

# 前端
cd web/frontend
npm install
npm start

Web UI提供:

  • 带有搜索和过滤功能的标准浏览器
  • 规则测试界面
  • 通过WebSocket实现实时更新
  • 标准分析仪表板

访问UI:http://localhost:3000(前端)和API:http://localhost:8000(后端)。

额外的CLI命令

增强的CLI提供了额外的功能:

# 根据项目上下文查询标准
mcp-standards query --project-type web --framework react --language javascript

# 验证代码与标准的一致性
mcp-standards validate src/ --format json --severity warning

# 自动修复代码问题(预览模式)
mcp-standards validate src/ --fix --dry-run

# 配置管理
mcp-standards config --init        # 初始化配置
mcp-standards config --show        # 显示当前配置
mcp-standards config --validate    # 验证配置文件

规则配置

规则定义在JSON格式的data/standards/meta/standard-selection-rules.json中。每个规则指定:

  • 当其适用的条件
  • 匹配时应用的标准
  • 冲突解决的优先级
  • 分类标签

示例规则:

{
  "id": "react-web-app",
  "name": "React Web应用程序标准",
  "priority": 10,
  "conditions": {
    "logic": "AND",
    "conditions": [
      {
        "field": "project_type",
        "operator": "equals",
        "value": "web_application"
      },
      {
        "field": "framework",
        "operator": "in",
        "value": ["react", "next.js", "gatsby"]
      }
    ]
  },
  "standards": [
    "react-18-patterns",
    "javascript-es2025",
    "frontend-accessibility"
  ],
  "tags": ["前端", "React", "Web"]
}

可用标准

系统包括25项全面标准:

专业领域(8)

  • AI/ML运营,区块链/Web3,物联网/边缘计算,游戏开发
  • AR/VR开发,高级API设计,数据库优化,绿色计算

测试与质量(3)

  • 高级测试,代码审查,性能优化

安全与合规(3)

  • 安全审查与审计,数据隐私,业务连续性

文档与沟通(4)

  • 技术内容,文档编写,团队协作,项目规划

运营与基础设施(4)

  • 部署与发布,监控与事件响应,SRE,技术债务

用户体验(3)

  • 高级无障碍,国际化,开发者体验

详见STANDARDS_COMPLETE_CATALOG.md中的详情。

架构

mcp-standards-server/
├── src/
│   ├── core/
│   │   ├── mcp/              # MCP服务器实现
│   │   ├── standards/        # 标准引擎及存储
│   │   └── cache/            # Redis缓存层
│   ├── analyzers/            # 语言特定分析器
│   ├── generators/           # 标准生成系统
│   └── cli/                  # CLI接口
├── web/                      # React/TypeScript UI(独立应用)
│   ├── frontend/            # React应用程序
│   └── backend/             # FastAPI后端
├── data/
│   └── standards/            # 25项全面标准
│       ├── meta/            # 规则引擎配置
│       └── cache/           # 本地文件缓存
├── templates/                # 标准生成模板
├── tests/                    # 综合测试套件
├── benchmarks/              # 性能基准测试
└── docs/                    # 文档

测试

运行测试套件:

# 运行所有测试
pytest

# 运行覆盖率测试
pytest --cov=src --cov-report=term-missing

# 运行特定测试类别
pytest tests/unit/          # 仅单元测试
pytest tests/integration/   # 集成测试
pytest tests/e2e/          # 端到端测试

# 运行特定测试文件
pytest tests/unit/core/standards/test_rule_engine.py

# 运行性能测试
python run_performance_tests.py

# 并行运行测试(更快)
python run_tests_parallel.py

开发工作流

设置开发环境

# 克隆仓库
git clone https://github.com/williamzujkowski/mcp-standards-server.git
cd mcp-standards-server

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # 在Windows上:venv\Scripts\activate

# 以开发模式安装所有依赖
pip install -e ".[dev,test,performance,visualization,full]"

# 安装预提交钩子(如果可用)
pre-commit install

运行基准测试

# 运行所有基准测试
python benchmarks/run_benchmarks.py

# 运行特定基准测试套件
python benchmarks/analyzer_performance.py
python benchmarks/semantic_search_benchmark.py
python benchmarks/token_optimization_benchmark.py

# 生成性能报告
python benchmarks/run_benchmarks.py --report

CI/CD集成

该项目使用GitHub Actions进行持续集成:

  • CI徽章:每次推送和拉取请求时运行测试
  • 发布徽章:自动化发布到PyPI
  • 基准徽章:跟踪随时间变化的性能指标

在您的CI/CD管道中使用

# 示例GitHub Actions工作流
- name: 验证标准
  run: |
    pip install mcp-standards-server
    mcp-standards validate . --format sarif --output results.sarif
    
- name: 上传SARIF结果
  uses: github/codeql-action/upload-sarif@v2
  with:
    sarif_file: results.sarif

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 为新功能添加测试
  4. 确保所有测试通过
  5. 提交拉取请求

文档

快速开始

技术文档

  • 实施状态 - 当前项目状态和路线图
  • [Claude集成指南