Token导航 LogoToken导航TokenDH.com
MCP Compliance Context logo
开发工具stdio官方级别未说明来源级核验

MCP Compliance Context

MCP Server

提供数据保护法规(GDPR、HIPAA、CCPA、LGPD等)给LLM的MCP服务器,帮助开发者在代码审查和分析时获取实时法规上下文,以创建合规应用。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
代码审查PythonCursorCursor

安装说明

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

作者 / 组织

rlobenwein

提供方

rlobenwein

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

MCP合规性上下文服务器

MCP服务器,为LLM提供数据保护法规(GDPR、HIPAA、CCPA、LGPD等),使AI助手能够在代码审查和分析期间通过实时监管环境帮助开发人员创建合规的应用程序。

概述

此服务器从存储在可配置目录中的JSON文件加载监管数据(通过设置 .env 文件),并提供三个主要工具:

  1. get_regulation -按ID检索完整的法规详细信息
  2. get_region -获取相关法规的地区信息
  3. 搜索规则 -在所有法规中搜索匹配的关键字

需求

  • Python 3.10或更高版本
  • MCP Python SDK
  • pytest和pytest-asyncio(用于测试)

安装

  1. 克隆或下载此存储库
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置法规数据目录:

创建一个 .env 项目根目录中的文件,指定您的法规数据将存储在哪里:

   # Copy the example file
   copy .env.example .env
   # On Linux/Mac: cp .env.example .env

然后编辑 .env 并设置所需的法规数据目录路径:

   REGULATION_DATA_DIR=C:\regulation-data

路径格式:

- Windows:使用双反斜杠(C:\\regulation-data)或正斜杠(C:/regulation-data) - Linux/Mac:使用标准路径(/path/to/regulation-data)

注: 安装脚本和服务器都将从 .env 文件。

  1. 设置法规数据目录:

选项A:使用安装脚本(推荐)

运行提供的安装脚本以自动创建目录并复制示例数据:

   python setup_data.py

这将:

- 阅读 REGULATION_DATA_DIR 来自你的 .env 文件 - 在指定路径创建法规数据目录 - 从以下位置复制所有示例数据文件 sample_data/ 到目标目录 - 创建所需的子目录(eu/, usa/, brazil/)

选项B:手动设置

如果您更喜欢手动设置:

- 在您的 .env 文件 - 从以下位置复制示例数据结构 sample_data/ 到该目录 - 确保目录结构匹配:

     /
     ├── regions.json
     ├── eu/
     │   ├── gdpr.json
     │   └── dora.json
     ├── usa/
     │   ├── hipaa.json
     │   ├── ccpa.json
     │   └── glba.json
     └── brazil/
         └── lgpd.json

运行服务器

要直接运行服务器,请使用入口点脚本:

python run_server.py

或者,您可以将其作为模块运行(要求项目根目录在Python中):

python -m server.main

服务器将通过stdio(标准输入/输出)启动和通信,这是Cursor中MCP服务器的标准传输方式。

数据格式

JSON模式规则

每个监管文件必须遵循以下结构:

{
  "id": "gdpr",
  "name": "General Data Protection Regulation",
  "region": "EU",
  "risk_category": "high",
  "summary": "Overall summary of the regulation",
  "articles": [
    {
      "article": "32",
      "title": "Security of Processing",
      "summary": "Article summary text",
      "notes": "Additional notes about the article"
    }
  ],
  "developer_guidance": [
    "Encrypt sensitive data at rest and in transit",
    "Implement role-based access control"
  ]
}

区域JSON模式

regions.json 文件应包含:

[
  {
    "id": "eu",
    "name": "European Union",
    "regulations": ["gdpr", "dora"],
    "notes": "Optional notes about the region"
  },
  {
    "id": "brazil",
    "name": "Brazil",
    "regulations": ["lgpd"],
    "notes": "Optional notes about the region"
  }
]

工具

1.get_regulation

通过其ID检索完整的法规JSON。

输入:

  • regulation_id (string):法规的ID(例如,“gdpr”、“hipaa”)

输出:

  • 包含所有字段的完整法规词典,如果找不到,则显示错误消息

例子:

get_regulation("gdpr")
# Returns: {
#   "id": "gdpr",
#   "name": "General Data Protection Regulation",
#   "region": "EU",
#   "risk_category": "high",
#   "articles": [...],
#   "developer_guidance": [...],
#   "summary": "..."
# }

笔记:

  • 输入是标准化的(不区分大小写),因此“GDPR”、“GDPR”和“GDPR”都有效
  • 如果找不到规则,则返回结构化错误消息

2.获取区域

检索有关地区及其相关法规的信息。

输入:

  • region_id (string):该地区的ID(例如,“eu”、“usa”、“brazil”)

输出:

  • 填充了法规列表的地区词典,如果找不到,则显示错误消息

例子:

get_region("eu")
# Returns: {
#   "id": "eu",
#   "name": "European Union",
#   "regulations": [
#     {"id": "gdpr", "name": "...", ...},
#     {"id": "dora", "name": "...", ...}
#   ],
#   "notes": "..."
# }

笔记:

  • 输入已标准化(不区分大小写)
  • 自动加载和汇总属于该地区的所有法规
  • 将规则作为完整对象返回,而不仅仅是ID

3.搜索规则

在所有法规中搜索匹配的关键字。

输入:

  • keywords (string):搜索关键字(不区分大小写)

输出:

  • 搜索结果排名列表,每个结果包含:

- id:法规ID - name:法规名称 - snippet:显示匹配原因的文本片段 - match_type:匹配类型(名称、摘要、文章标题、文章摘要、开发者指南) - all_matches:找到的匹配项总数

例子:

search_regulations("data protection")
# Returns: [
#   {
#     "id": "gdpr",
#     "name": "General Data Protection Regulation",
#     "snippet": "...data protection...",
#     "match_type": "summary",
#     "all_matches": 3
#   },
#   ...
# ]

搜索字段:

  • 法规名称
  • 法规概述
  • 文章标题
  • 文章摘要
  • 开发人员指导项目

排名: 结果按相关性排序:

  1. 名称匹配(最高优先级)
  2. 摘要匹配
  3. 文章匹配
  4. 开发人员指导匹配

在游标上配置

要在Cursor中使用此MCP服务器,请执行以下步骤:

  1. 在Cursor中打开MCP设置JSON文件
  2. 将配置JSON添加到 mcpServers 对象:

选项1:使用入口点脚本(推荐)

{
  "mcpServers": {
    "regulatory-context": {
      "command": "python",
      "args": ["run_server.py"],
      "cwd": "D:/Projects/mcp",
      "env": {}
    }
  }
}

选项2:在PYTHONPATH中使用模块语法

{
  "mcpServers": {
    "regulatory-context": {
      "command": "python",
      "args": ["-m", "server.main"],
      "cwd": "D:/Projects/mcp",
      "env": {
        "PYTHONPATH": "D:/Projects/mcp"
      }
    }
  }
}
  1. 更新 cwd 现场(以及 PYTHONPATH 在选项2中)使用项目根目录的路径(此README所在的位置)
  2. 重新启动Cursor或重新加载MCP服务器

服务器现在将可供Cursor的AI助手使用,您可以在代码审查或分析任务中使用这些工具。

Cursor应如何与服务器交互

当Cursor的AI助手需要监管背景时:

  1. 代码审查期间:如果审查处理个人数据的代码,AI可以调用 get_regulation("gdpr")search_regulations("data protection") 检索相关要求。
  1. 合规性分析:在分析代码合规性时,AI可以:

- 使用 get_region("eu") 获取所有欧盟法规 - 使用 search_regulations("encryption") 查找涉及加密的法规 - 使用 get_regulation("hipaa") 获取特定的HIPAA要求

  1. 开发者指南:AI可以检索 developer_guidance 从法规上提出具体实施建议。
  1. 文章查询当提及特定的监管条款时,人工智能可以从监管数据中检索完整的条款详细信息。

交互示例:

Prompt: "Does this code comply with GDPR requirements for data encryption?"

Response: [Calls get_regulation("gdpr")]
    [Reviews Article 32 and developer_guidance]
    "Based on GDPR Article 32 (Security of Processing), you need to implement 
     appropriate technical measures including encryption. The developer guidance 
     recommends encrypting sensitive data at rest and in transit using AES-256 
     and TLS 1.3+. Your current implementation..."

测试

运行测试套件:

pytest tests/

要以详细输出运行,请执行以下操作:

pytest tests/ -v

测试包括:

  • 单元测试 RegulationStore (加载、规范化、搜索)
  • 单元测试 RegionStore (加载、聚合)
  • MCP服务器工具的集成测试

备注:测试使用临时目录和样本数据,因此它们不需要实际的法规数据目录存在。

项目结构

mcp/
├── server/
│   ├── __init__.py
│   ├── main.py              # FastMCP server entry point
│   ├── regulation_store.py  # RegulationStore class
│   ├── region_store.py      # RegionStore class
│   └── utils.py             # Helper functions
├── tests/
│   ├── __init__.py
│   ├── test_regulation_store.py
│   ├── test_region_store.py
│   └── test_server.py
├── sample_data/             # Sample JSON files for reference
│   ├── regions.json
│   ├── eu/
│   │   ├── gdpr.json
│   │   └── dora.json
│   ├── usa/
│   │   ├── hipaa.json
│   │   ├── ccpa.json
│   │   └── glba.json
│   └── brazil/
│       └── lgpd.json
├── README.md
└── requirements.txt

主要特点

  • 内存缓存:所有法规数据在服务器启动时加载到内存中,以便快速访问
  • 病例不敏感匹配:所有ID查找都已标准化,便于用户交互
  • 综合搜索:使用相关性排名在多个字段中搜索
  • 结构化输出:所有工具都返回LLM可以安全使用的可预测的结构化对象
  • 错误处理:找不到法规或地区时出现有意义的错误消息
  • 类型安全:整个代码库中的完整类型提示
  • 模块化设计:明确区分关注点,便于扩展

扩展服务器

要添加新规定:

  1. 根据法规模式创建新的JSON文件
  2. 将其放置在法规数据目录中的相应区域子目录中(在中配置 .env)

- 例子: /eu/new-regulation.json

  1. 将法规ID添加到区域的 regulations 在中列出 regions.json
  2. 重新启动服务器(它将自动加载新文件)

要添加新区域,请执行以下操作:

  1. 向添加新条目 regions.json 包含该地区的ID、名称和法规列表
  2. 在法规数据目录中为该地区创建子目录

- 例子: /new-region/

  1. 将法规文件放在该子目录中
  2. 重新启动服务器

许可证

本项目按原样提供,供MCP和Cursor使用。

目录标签

目录标签

代码审查PythonCursor数据保护本地部署法规合规AI辅助开发实时上下文

支持客户端

Cursor

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP