article
README
🚀 法律抓取器MCP 📜⚖️
法律抓取器MCP是一个全面的模型上下文协议(MCP)服务器,用于从众议院API访问和分析波兰法律法案,支持基于人工智能的法律研究和文档分析。
✨ 主要特性
- ✅ 全面的法律法案访问:可全面访问《法律公报》(Dziennik Ustaw)和《波兰公报》(Monitor Polski)中的波兰法律法案。
- ✅ 高级搜索与过滤:支持按日期、类型、关键词、发布者和状态进行多标准搜索。
- ✅ 详细的文档分析:可检索完整的元数据、结构、引用和内容。
- ✅ 日期和时间实用工具:提供专门用于法律文档分析的日期计算功能。
- ✅ 系统元数据访问:可获取关键词、状态、文档类型和机构数据。
- ✅ FastMCP集成:基于FastMCP框架构建,遵循最佳实践。
- ✅ 专业文档:提供丰富的示例和清晰的参数说明。
- ✅ RESTful API集成:可直接连接到官方众议院API端点。
📋 要求/先决条件
- Python:3.12或更高版本
- 包管理器:推荐使用uv,也可使用pip
- 互联网连接:访问众议院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 .
🔧 配置
MCP服务器配置
将以下配置添加到您的MCP客户端配置文件中:
对于Cursor IDE(.cursor/mcp.json):
{
"mcpServers": {
"law-scrapper-mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/numikel/law-scrapper-mcp",
"law-scrapper"
],
"transport": "stdio"
}
}
}
对于Claude Code:
claude mcp add law-scrapper-mcp uvx '--from' 'git+https://github.com/numikel/law-scrapper-mcp' 'law-scrapper'
对于其他MCP工具(.mcp.json或mcp_config.json):
{
"mcpServers": {
"law-scrapper-mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/numikel/law-scrapper-mcp",
"law-scrapper"
],
"transport": "stdio"
}
}
}
💻 使用示例
基础用法示例
- 获取用于法律分析的当前日期:
"今天的日期是什么?"
- 搜索特定法律法案:
"查找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 # 包含14个法律研究工具的主要MCP服务器实现
├── pyproject.toml # 项目配置、依赖项和CLI脚本
├── uv.lock # 确保可重复构建的锁文件
├── README.md # 项目文档
└── __pycache__/ # Python字节码缓存(自动生成)
开发
开发设置
# 以开发模式安装
uv sync
# 直接运行服务器
uv run app.py
# 或使用安装的脚本
law-scrapper
运行测试
# 运行基本功能测试
uv run python -c "
import app
print('服务器导入成功')
funcs = [name for name in dir(app) if name.startswith('get_')]
print(f'可用工具数量: {len(funcs)}')
"
代码质量
项目遵循FastMCP最佳实践:
- 标记工具:所有工具都有描述性标签,便于过滤。
- 参数注释:每个参数都有清晰的描述。
- 丰富示例:每个工具至少有5个示例。
- 专业文档:提供详细的文档字符串和使用示例。
贡献
- 分叉仓库
- 创建您的功能分支 (
git checkout -b feature/amazing-feature) - 使用规范提交格式提交更改
- 推送到分支 (
git push origin feature/amazing-feature) - 打开拉取请求
开发指南
- 遵循FastMCP工具定义的最佳实践。
- 提供丰富的示例和参数说明。
- 为工具分类添加适当的标签。
- 在提交前测试所有新功能。
- 所有代码注释和文档使用英语。
📄 许可证
本项目采用MIT许可证。
👤 作者
法律免责声明:本工具仅用于研究目的,提供对波兰法律文档的访问。如需法律建议和法律解释,请始终咨询合格的法律专业人士。
微信扫一扫