政府技术标准推荐服务

一个提供102项英国政府技术标准访问的MCP服务器,支持上下文感知推荐、混合搜索和多种访问方式,适用于AI助手和政府服务开发。

  • by Version1
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 Version1/uk-gov-tech-standards-mcp

使用说明

英国政府技术标准MCP服务器

一种模型上下文协议(MCP)服务器,提供对 102项精心策划的英国政府技术标准 AI助手。获取关于可访问性、API、安全性、云战略等方面的上下文感知建议。

这提供了什么

  • 102个标准:精心挑选的英国政府技术标准网址
  • 情境感知建议:根据您的工作类型和项目阶段获取标准
  • 混合搜索:将精确的关键字匹配与语义理解相结合
  • 多种访问方法:MCP协议、HTTP API和命令行工具
  • 实时更新:通过自动刷新功能保持标准最新

快速开始

先决条件

  • Node.js 18+
  • npm (附带Node.js)

安装

# Clone the repository
git clone <repository-url>
cd uk-gov-tech-standards-mcp

# Install dependencies
npm install

# Build the project
npm run build

# Setup database with curated standards (takes 2-3 minutes)
npm run setup

用法

启动MCP服务器:

npm run serve

启动HTTP API服务器:

npm run serve:http
# API available at http://localhost:3001

Docker部署

先决条件

  • 码头工人 和 Docker Compose

Docker快速入门

# Clone the repository
git clone <repository-url>
cd uk-gov-tech-standards-mcp

# Copy environment template
cp docker.env.template .env

# Build and start services
docker-compose up -d

# Check status
docker-compose ps

设置包括:

  • MCP服务器: localhost:3000
  • HTTP API: localhost:8080
  • 色度数据库: localhost:8000 (矢量数据库)

Docker服务

MCP服务器(默认):

docker-compose up -d uk-gov-standards-mcp

HTTP服务器(备选):

docker-compose --profile http-only up -d

两台服务器:

docker-compose up -d uk-gov-standards-mcp uk-gov-standards-http

数据持久层

Docker卷将数据保存在:

  • ./data/ -SQLite数据库
  • ./logs/ -应用程序日志
  • ./models/ -ML模型缓存
  • chromadb_data -矢量嵌入

Docker配置

环境变量 (.env 文件):

NODE_ENV=production
LOG_LEVEL=info
DB_PATH=/app/data/standards.db
CHROMA_HOST=chromadb
CHROMA_PORT=8000

健康检查:

# Check MCP server health
curl http://localhost:3000/health

# Check HTTP API health  
curl http://localhost:8080/health

# Check ChromaDB health
curl http://localhost:8000/api/v1/heartbeat

日志:

# View all logs
docker-compose logs -f

# View specific service logs
docker-compose logs -f uk-gov-standards-mcp
docker-compose logs -f chromadb

MCP客户端配置

克劳德桌面版

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "uk-gov-standards": {
      "command": "node",
      "args": ["/absolute/path/to/uk-gov-tech-standards-mcp/dist/index.js"],
      "env": {
        "DATABASE_URL": "sqlite:/absolute/path/to/uk-gov-tech-standards-mcp/standards.db",
        "NODE_ENV": "production",
        "LOG_LEVEL": "info"
      }
    }
  }
}

其他MCP客户端

服务器实现了完整的MCP规范。使用以下连接详细信息:

  • 命令: node
  • 参数: ["/path/to/dist/index.js"]
  • 工作目录:项目根
  • 环境:设置 DATABASE_URL 到数据库路径

🛠 MCP工具

服务器提供8个上下文感知工具:

核心搜索工具

search_uk_gov_standards

  • 搜索所有102个精选标准
  • 混合搜索:精确关键词+语义理解
  • 参数: query (必填), category, organisation

get_standard_by_id

  • 获取特定标准的详细信息
  • 参数: standardId (必填)

list_categories

  • 获取所有可用类别及其计数
  • 无需参数

get_recent_updates

  • 获取最近更新的标准
  • 参数: daysBack (默认值:30)

上下文感知工具

get_applicable_standards

  • 获取特定工作环境的标准
  • 参数: workType[], serviceType[], developmentPhase[]

get_mandatory_standards

  • 获取所有强制性/关键标准
  • 无需参数

get_standards_by_priority

  • 按优先级筛选
  • 参数: priority (临界、高、中、低)

get_category_hierarchy

  • 获取分层类别结构
  • 参数: categoryId (可选)

合规工具

check_compliance

  • 为您的服务生成合规检查表
  • 参数: serviceDescription (必填)

HTTP API

跑步时 npm run serve:http,访问这些端点:

搜索与发现

GET /api/search?q=<query>&category=<category>&org=<organisation>
GET /api/standards/<id>
GET /api/categories
GET /api/recent?days=<days>

上下文感知端点

POST /api/applicable
{
  "workType": ["frontend", "backend"],
  "serviceType": ["citizen-facing"],
  "developmentPhase": ["development", "testing"]
}

GET /api/mandatory
GET /api/priority/<level>
GET /api/hierarchy?categoryId=<id>

POST /api/compliance
{
  "serviceDescription": "Description of your service"
}

整理标准类别

11个重点类别的102个标准:

类别 计数 何时使用
设计和建造政府服务 30 任何政府服务开发
标准 21 一般合规性和最佳实践
设计安全 14 以安全为重点的发展
无障碍 10 前端/UI开发
开源和开放标准 8 技术选择和架构
应用程序编程接口 5 REST、SOAP、GraphQL开发
传统技术 3 现代化项目
本地或混合应用程序 3 移动应用开发
云战略 2 云采用和迁移
数据 2 数据管理和GDPR
应用程序开发 1 总体发展指导

🔍 搜索功能

混合搜索系统

  • FTS搜索:快速精确/部分关键字匹配
  • 语义搜索:理解含义和上下文(如果可用)
  • 优雅的后退:即使语义特征不可用,也能工作

情境感知建议

根据您的具体工作获取相关标准:

工作环境 示例结果
前端+面向公民 无障碍标准,WCAG指南
后端+API API技术标准、安全指南
移动+原生应用 iOS/Android安全,应用商店指南
云+数据 GDPR合规,云优先政策

高级用法

自定义数据库路径

DATABASE_URL="sqlite:/custom/path/standards.db" npm run setup

更新现有数据库

npm run update  # Refresh standards content

发展模式

npm run dev     # Run with hot reload
npm test        # Run test suite

日志记录配置

集 LOG_LEVEL 环境变量:

  • error:仅错误
  • warn:警告和错误
  • info:常规信息(默认)
  • debug:详细调试

系统架构

专注的方法

该系统使用 精心策划的方法 而不是广泛的发现:

  • ✅ 102个特定URL 根据精心挑选的英国政府标准
  • ✅ 11个重点类别 具有明确的适用性背景
  • ✅ 情境感知建议 根据你的工作环境
  • ✅ 基于优先级的过滤 (临界、高、中、低)
  • ✅ 强制性与可选性 明确标识
  • ✅ 更快、可预测的设置 (2-3分钟vs 10+分钟)

技术栈

  • 数据库:带FTS5全文搜索的SQLite
  • 搜索:混合FTS+语义相似度(可选)
  • 网络爬虫:具有智能内容处理功能的木偶
  • API:Express.js HTTP服务器
  • 主控程序:完整的模型上下文协议实现
  • 嵌入:带本地模型的Transformers.js(可选)

数据源

所有102项标准均来自英国政府官方网站:

  • GDS服务手册:设计和无障碍标准
  • NCSC指导:安全和网络安全标准
  • 内阁办公室:数字服务和开放标准
  • 英国政府指南:API、云和技术标准
  • ICO资源:数据保护和GDPR合规性

故障排除

常见问题

数据库损坏:

rm -f standards.db*
npm run setup

端口已在使用中:

# Change port in src/http-server.ts or kill existing process
pkill -f "http-server"

语义搜索不可用:

  • 这很正常——系统会优雅地回退到FTS搜索
  • 完整的语义搜索需要额外的矢量数据库设置

获取帮助

  1. 检查登录 logs/server.log
  2. 验证Node.js版本: node --version (要求18+)
  3. 确保数据库存在: ls -la standards.db
  4. 测试基本功能: npm test

##� 许可证

MIT许可证-有关详细信息,请参阅许可证文件。

贡献

  1. 复刻仓库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

更新

系统会自动跟踪标准何时更新。跑 npm run update 定期刷新内容。


专为AI助手设计,提供准确、最新的英国政府技术指导。