Token导航 LogoToken导航

MCP Server · 搜索检索

EASACompliance

用于解析欧盟航空安全局(EASA)法规并支持语义搜索的系统,优化了与检索增强生成(RAG)系统的集成,适用于航空法规合规性验证和自动化审计。

stdio官方级别未说明来源级核验工具 0
安全Python搜索

快速开始

作者 / 组织
dmoraine
提供方
dmoraine

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

EASACompliance 属于搜索检索类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

搜索检索

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

pip install -e .

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

EASA合规性分析器

EASA(欧盟航空安全局)法规的解析器和语义搜索系统。针对与RAG(检索增强生成)系统的集成进行了优化。

✨ 特性

  • ✅ EASA官方基于结构的解析器 :使用EASA eRules XML导出XSD架构
  • ✅ 已提取3357+个主题 :完全访问所有法规(IR、AMC、GM、CS)
  • ✅ 批量处理 :自动解析目录中的所有XML文件
  • ✅ 通用解析器 :自动检测EASA文档位置(item2.xml、item9.xml等)
  • ✅ 语义搜索 :嵌入句子变换器进行相似性搜索
  • ✅ 完整的元数据 :日期、监管来源、内容类型
  • ✅ 优化性能 :O(n)中的SDT索引用于快速解析(约5秒)
  • ✅ MCP服务器 :与LLM的模型上下文协议集成
  • ✅ 聊天客户端 :CLI界面,用于与符合EASA法规的LLM聊天
  • ✅ CrewAI合规性 :人工智能代理团队的自动审计(审计员+QA)

📦 安装

# Clone the repository
git clone https://github.com/dmoraine/easacompliance.git
cd easacompliance

# Install with pip
pip install -e .

# Or with uv (modern and faster)
./install.sh

这 install.sh 脚本使用 uv 用于快速解析和安装依赖关系。

🚀 快速开始

🤖 聊天MCP客户端

交互式CLI界面,用于与通过MCP连接到EASA法规的LLM(OpenAI、Ollama、Hyperbolic)聊天:

# Configuration
cp env.example .env
# Edit .env with your API keys

# Launch chat
python chat_mcp.py --provider ollama  # Local, no API key needed
python chat_mcp.py --provider openai  # With OpenAI
python chat_mcp.py --provider hyperbolic  # With Hyperbolic

特性:

  • 💬 带有流媒体响应的交互式聊天
  • 🔧 自动调用EASA MCP服务器功能
  • 🔍 搜索、检索和法规遵从性验证
  • 🌐 多提供商支持(OpenAI、本地Ollama、Hyperbolic)

👉 完整的聊天MCP指南

🎯 CrewAI合规性验证器(新增!)

由2名AI代理(审计员+QA挑战者)组成的团队进行自动化合规审计,他们相互协作并相互挑战:

# Configuration (same .env as for chat)
cp env.example .env

# Audit a text
python compliance_crew.py \
  --text "Flight crew members must not exceed 900 hours" \
  --output report.md \
  --provider openai

# Audit a file
python compliance_crew.py \
  --file operations_manual.txt \
  --output compliance_report.md \
  --provider openai

# Interactive mode
python compliance_crew.py --interactive --output report.md

特性:

  • 🤖 2名专业代理:专家审核员+QA挑战者
  • ✅ 交叉验证:QA挑战和验证结果
  • 📋 详细的Markdown报告,包含确切的EASA参考
  • 🔍 根据严重程度识别不合规行为
  • 🔧 代理商可以完全访问EASA MCP工具
  • 🌐 多提供商支持(推荐:OpenAI GPT-4)

👉 完整的CrewAI合规指南

📊 构建嵌入数据库

脚本支持两种模式: 单个文件 或 目录批处理.

单文件模式
# Parse a single XML file (3,357 topics)
python build_embeddings.py \
    --xml "Easy Access Rules for Air Operations - February 2025 - xml.xml" \
    --db easa_complete.db \
    --clear

# Parse only a specific category (e.g., ORO.FTL)
python build_embeddings.py \
    --xml "Easy Access Rules for Air Operations - February 2025 - xml.xml" \
    --category "ORO.FTL" \
    --db oro_ftl.db \
    --clear

# Parse only IR (Implementing Rules)
python build_embeddings.py \
    --xml "Easy Access Rules for Air Operations - February 2025 - xml.xml" \
    --types IR \
    --db easa_ir.db \
    --clear
目录批处理模式(新增!)

自动解析目录中的所有XML文件:

# Parse all XML files in easy_access/ (default directory)
python build_embeddings.py \
    --db easa_complete.db \
    --clear

# Parse all XML files in a specific directory
python build_embeddings.py \
    --dir easy_access \
    --db easa_complete.db \
    --clear

# Parse all XML files with filters
python build_embeddings.py \
    --dir easy_access \
    --db easa_ir_only.db \
    --types IR \
    --clear

特性:

  • ✅ 自动检测所有 .xml 目录中的文件
  • ✅ 按顺序处理文件并跟踪进度
  • ✅ 防止重复(对引用的唯一约束)
  • ✅ 每个文件的错误处理(如果失败,则继续)
  • ✅ 详细摘要,包括每个文件的统计数据和最终总计

备注:The build_embeddings.py 根目录下的脚本是中完整实现的方便包装器 easacompliance/scripts/build_embeddings.py。您也可以直接使用该模块: python -m easacompliance.scripts.build_embeddings 或 python easacompliance/scripts/build_embeddings.py

🔍 语义搜索

# Interactive mode
python -m easacompliance.scripts.search_regulations \
    --db "easa_complete.db" \
    --interactive

# Single search
python -m easacompliance.scripts.search_regulations \
    --db "easa_complete.db" \
    --query "flight time limitations" \
    --top-k 5

# Manual compliance validation
python -m easacompliance.scripts.search_regulations \
    --db "easa_complete.db" \
    --manual "operations_manual.txt" \
    --top-k 10 \
    --min-score 0.3

备注:您也可以使用直接路径: python easacompliance/scripts/search_regulations.py

💻 Python用法

from easacompliance import EASAParser, EmbeddingsManager, TopicType

# Parser
parser = EASAParser("regulations.xml")

# Extract a specific topic
topic = parser.get_topic_by_reference("ORO.FTL.110")
print(f"{topic.reference} - {topic.title}")
print(f"Type: {topic.topic_type.value}")
print(f"Content: {topic.content}")

# Extract all topics from a category
oro_ftl_topics = parser.get_all_topics(pattern=r'^ORO\.FTL\.')
print(f"Found {len(oro_ftl_topics)} ORO.FTL topics")

# Semantic search
manager = EmbeddingsManager("easa_complete.db")
results = manager.search("flight time limitations", top_k=5)

for result in results:
    print(f"{result.reference}: {result.title} (score: {result.score:.3f})")

📁 项目结构

EASACompliance/              # Project root
├── build_embeddings.py      # Build embeddings database (root script wrapper)
├── chat_mcp.py              # Chat MCP client (root script)
├── compliance_crew.py        # CrewAI compliance validator (root script)
├── run_mcp_server.py        # MCP server launcher (root script)
├── install.sh               # Installation script (uses uv)
├── env.example              # Environment variables template
├── requirements.txt          # Consolidated dependencies
│
├── easacompliance/          # Main package
│   ├── __init__.py          # Public exports
│   ├── parser.py            # EASA parser (EASAParser, Topic, TopicType)
│   ├── embeddings.py        # Embeddings manager (EmbeddingsManager)
│   └── scripts/             # CLI scripts
│       ├── build_embeddings.py
│       └── search_regulations.py
│
├── mcp_server_easa/          # MCP server package
│   ├── server.py            # MCP server implementation
│   ├── config.py            # Configuration
│   ├── schemas.py           # Data schemas
│   └── tools/               # MCP tools
│       ├── search.py
│       ├── retrieve.py
│       ├── browse.py
│       └── validate.py
│
├── tests/                   # Tests
│   ├── test_embeddings.py
│   ├── test_chat_setup.py
│   └── test_crew_setup.py
│
├── docs/                    # Documentation
│   ├── chat/                # Chat MCP documentation
│   │   ├── README.md
│   │   ├── QUICKSTART.md
│   │   └── IMPLEMENTATION.md
│   ├── crew/                # CrewAI documentation
│   │   ├── README.md
│   │   └── IMPLEMENTATION.md
│   ├── EMBEDDINGS_GUIDE.md
│   └── ...
│
├── data/                    # Reference data
│   └── EASA-eRules-XML-Export-Schema-1.0.0.xsd
│
├── README.md
├── pyproject.toml
└── requirements.txt

📊 统计

解析器提取 3357+结构化主题 来自空中作战文件:

类型计数描述
红外1025实施细则
美国数学竞赛1263可接受的合规方式
GM转IR1026实施细则指导材料
计算机科学7认证规范
GM转CS18认证规范指导材料
其他18便捷访问规则、免责声明等。

备注:使用批处理模式时,从其他EASA文件(机组人员等)中提取其他主题。

🔧 筛选选项

所有过滤选项在这两种情况下都有效 单个文件 和 批处理目录 模式:

按类别

--category "ORO.FTL"     # All ORO.FTL.*
--category "CS FTL"      # All CS FTL.*

按内容类型

--types IR               # Only Implementing Rules
--types IR AMC           # IR + AMC
--types ALL              # All (default)

按监管主体

--subject "Part-ORO"     # All Part-ORO
--subject "Part-CAT"     # All Part-CAT

按正则表达式模式

--pattern "ORO\\.FTL\\." # Custom pattern

备注:使用批处理模式时,过滤器应用于所有文件(--dir).

📚 文档

🧪 测试

# Run tests
python -m pytest tests/

# Or directly
python tests/test_embeddings.py
python tests/test_chat_setup.py
python tests/test_crew_setup.py

📝 更新日志

看 更改日志.md 版本历史。

🤝 贡献

欢迎投稿!请随时打开问题或拉取请求。

📄 许可证

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

🙏 致谢

  • EASA官方XML模式
  • 嵌入语句变换器
  • Python开发工具社区

📧 联系

如有疑问或建议,请在GitHub上发布问题。

______________________________________________________________________

版本: 2.0.0\ 最后更新: 2025

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

法规解析Python本地部署语义搜索航空安全合规验证自动化审计

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
EASACompliance

MCP World · 本页

0stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

EASACompliance 怎么安装?

公开资料给出的安装命令是 pip install -e .,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

EASACompliance 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

EASACompliance 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

EASACompliance 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

EASACompliance 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP