内容
# 法院判决收集器 / 法院判决收集工具
[中文](#) | [英文](#english)
---
## 中文
`karararama.yargitay.gov.tr` 网站提供了一个搜索土耳其最高法院(Yargıtay)判决的工具。该工具可以通过关键词搜索判决,收集并将每10个判决转换为一个PDF文档。该工具既可以作为一个 **网页界面** ,也可以作为一个 **MCP(模型上下文协议)服务器** ,因此可以直接向Claude等助手发出指令,例如“查找20个关于X的判决并转换为PDF”。
### 功能
- 通过关键词进行广泛(任何单词匹配)或精确短语搜索
- 自动收集并将判决打包成PDF(每个文件N个判决)
- 获取单个判决的完整清洁文本
- 处理速率限制(HTTP 429)和机器人/CAPTCHA检测,并进行回退和重试
- 基于FastAPI的轻量级网页界面
### 安装
```bash
git clone https://github.com/RsGoksel/yargitay_mcp.git
cd yargitay_mcp
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
# 可选,用于更高质量的PDF输出:
.venv/bin/pip install -r requirements-optional.txt
```
在Windows上,虚拟环境Python路径为 `.venv\Scripts\python.exe`。
### 使用
**网页界面(本地):**
```bash
.venv/bin/python3 -m uvicorn web.app:app --host 127.0.0.1 --port 8000
```
打开 `http://127.0.0.1:8000`,输入搜索关键词和案件数量,然后启动。生成的PDF文件将被写入 `output/<查询>/<日期>/belge_01.pdf …`。
**MCP服务器(添加到Claude):**
Claude 代码:
```bash
claude mcp add yargitay --scope user -- <项目路径>/.venv/bin/python3 <项目路径>/mcp_server.py
```
Claude 桌面版(`claude_desktop_config.json`):
```json
{
"mcpServers": {
"yargitay": {
"command": "<项目路径>/.venv/bin/python3",
"args": ["<项目路径>/mcp_server.py"]
}
}
}
```
公开的工具:`yargitay_ara`(搜索,仅列出,不生成PDF),`yargitay_belge_uret`(收集并生成PDF),`yargitay_karar_getir`(单个判决的全文)。
示例:只需向Claude发出指令 *“查找20个关于租金评估诉讼的判决并转换为PDF”*。
### 测试
```bash
.venv/bin/python3 -m pytest # 单元测试(无网络)
.venv/bin/python3 -m pytest -m integration # 对真实API进行测试
```
### 需要注意的事项
- 找到的判决数量少于请求的判决数量不是错误 — 摘要通过 `eksik_uyarisi` 报告。
- 网站使用WAF(机器人检测系统);发送太多请求太快可能会触发CAPTCHA。请避免快速重复搜索。
- 生成的PDF文件被写入 `output/` 并通过 `.gitignore` 从存储库中排除。
有关更详细的安装指南,请参阅 [`KULLANIM.md`](KULLANIM.md)(土耳其语)。
## License
目前不包含许可证文件 — 默认保留所有权利。在重复使用之前,请联系存储库所有者。