返回市场
法律抓取器-MCP

法律抓取器-MCP

作者:numikel2 星标更新:2025-11-13

项目介绍

法律抓取器 MCP 📜⚖️

一个全面的模型上下文协议(MCP)服务器,用于访问和分析来自Sejm API的波兰法律文件,支持AI驱动的法律研究和文档分析。

Python 版本 许可证 版本

<a href="https://glama.ai/mcp/servers/@numikel/law-scrapper-mcp"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=1030216408,2060556866&fm=3081&app=3081&f=PNG?w=760&h=400" alt="法律抓取器 MCP 服务器" /> </a>

✨ 功能

  • 全面的法律文件访问 - 完整访问来自《官方公报》和《波兰监测》的波兰法律文件
  • 高级搜索与过滤 - 多条件搜索,按日期、类型、关键词、发布者和状态进行筛选
  • 详细的文档分析 - 完整元数据、结构、引用和内容检索
  • 日期与时间工具 - 专门针对法律文档分析的日期计算功能
  • 系统元数据访问 - 关键词、状态、文档类型和机构数据
  • FastMCP 集成 - 使用 FastMCP 框架构建,遵循最佳实践
  • SSE 传输 - 通过 Server-Sent Events 实现可靠的实时通信
  • 专业文档 - 提供广泛的示例和清晰的参数描述
  • RESTful API 集成 - 直接连接到官方 Sejm API 端点

📋 要求 / 先决条件

  • Python: 3.12 或更高版本
  • 包管理器: uv(推荐)或 pip
  • 互联网连接: 访问 Sejm API 端点所需
  • 兼容 MCP 的工具: Cursor IDE, Claude Code 或其他支持 MCP 的应用程序

🚀 安装

使用 uv(推荐)

# 克隆仓库
git clone https://github.com/numikel/law-scrapper-mcp.git
cd law-scrapper-mcp

# 安装依赖
uv sync

使用 pip

# 克隆仓库
git clone https://github.com/numikel/law-scrapper-mcp.git
cd law-scrapper-mcp

# 安装依赖
pip install -e .

使用 uvx(无需安装)

快速测试或开发,无需克隆仓库:

# 直接从 GitHub 运行服务器
uvx --from git+https://github.com/numikel/law-scrapper-mcp law-scrapper

这将下载并运行服务器,使用 SSE 传输在端口 7683 上运行。

⚙️ 配置

MCP 服务器配置

此服务器使用 Server-Sent Events (SSE) 传输以获得更好的性能和可靠性。服务器运行在 http://localhost:7683/sse 并提供与 MCP 客户端的实时通信。

重要提示:

  • 启动服务器前确保端口 7683 可用
  • 在连接 MCP 客户端前必须先启动服务器
  • SSE 提供比 STDIO 更好的错误处理和连接管理

在您的 MCP 客户端配置文件中添加以下配置:

对于 Cursor IDE(.cursor/mcp.json):

{
  "mcpServers": {
    "law-scrapper-mcp": {
      "url": "http://localhost:7683/sse",
      "transport": "sse"
    }
  }
}

对于 Claude Code:

claude mcp add law-scrapper-mcp uvx '--from' 'git+https://github.com/numikel/law-scrapper-mcp' 'law-scrapper'

注意:Claude Code 将自动运行服务器进程。服务器使用 SSE 传输并在端口 7683 上运行

对于其他 MCP 工具(.mcp.jsonmcp_config.json):

{
  "mcpServers": {
    "law-scrapper-mcp": {
      "url": "http://localhost:7683/sse",
      "transport": "sse"
    }
  }
}

🎯 快速开始 / 使用

配置完成后,您可以开始使用法律研究工具:

基本使用示例

获取当前日期用于法律分析:

"今天的日期是什么?"

搜索特定的法律文件:

"查找所有包含 '环境' 的2020年法规"

分析文档结构:

"显示法规 DU/2020/1 的目录"

获取完整的文档详情:

"给我关于法规 DU/2020/1280 的全部信息"

可用工具类别

服务器提供了14个专业工具,分为4类:

🕒 日期与时间(2个工具)

  • get_current_date - 获取用于法律分析的当前日期
  • calculate_date_offset - 计算法律期间的日期范围

📚 系统元数据(6个工具)

  • get_legal_keywords - 访问所有可用的搜索关键词
  • get_legal_publishers - 列出所有法律发布者(DU, MP)
  • get_publisher_details - 发布者的详细信息
  • get_legal_statuses - 文档状态类型
  • get_legal_types - 法律文档类型
  • get_legal_institutions - 涉及的机构

🔍 法规浏览与搜索(2个工具)

  • search_legal_acts - 高级多条件搜索
  • get_publisher_year_acts - 按发布者和年份浏览法规

📋 法规详情与分析(4个工具)

  • get_act_comprehensive_details - 完整文档元数据
  • get_act_content - PDF/HTML 内容检索
  • get_act_table_of_contents - 文档结构分析
  • get_act_relationships - 法律引用和修正案

📁 项目结构

law-scrapper-mcp/
├── app.py                    # 主 MCP 服务器实现,包含14个法律研究工具
├── pyproject.toml           # 项目配置、依赖项和CLI脚本
├── uv.lock                  # 锁定文件,确保可重复构建
├── README.md               # 项目文档
└── __pycache__/            # Python 字节码缓存(生成)

🛠️ 开发

开发设置

# 安装在开发模式下
uv sync

# 直接运行服务器(SSE 传输在端口 7683 上)
uv run app.py

# 或使用已安装的脚本
law-scrapper

# 或直接使用 uvx(从本地目录)
uvx . --python python

服务器信息:

  • 传输方式: Server-Sent Events (SSE)
  • 主机: 0.0.0.0(可以从任何网络接口访问)
  • 端口: 7683
  • 端点: http://localhost:7683/sse

运行测试

# 运行基本功能测试
uv run python -c "
import app
print('服务器导入成功')
funcs = [name for name in dir(app) if name.startswith('get_')]
print(f'可用工具数量: {len(funcs)}')
"

代码质量

该项目遵循 FastMCP 最佳实践:

  • 标记工具: 所有工具都有描述性标签用于筛选
  • 注释参数: 每个参数都有清晰的描述
  • 全面示例: 每个工具至少有5个示例
  • 专业文档: 详细的文档字符串和使用示例

🤝 贡献

  1. 分叉仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 使用 Conventional Commits 格式提交更改
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开拉取请求

开发指南

  • 遵循 FastMCP 最佳实践定义工具
  • 包含全面的示例和参数描述
  • 添加适当的标签进行工具分类
  • 在提交前测试所有新功能
  • 使用英文编写所有代码注释和文档

📄 许可证

本项目采用 MIT 许可证

👤 作者

@numikel


法律免责声明: 此工具提供访问波兰法律文件的研究目的。始终咨询合格的法律专业人士以获取法律建议和法律解释。