DocketBird MCP服务器
MCP服务器,用于通过DocketBird API搜索和下载法庭文件。使用Docker部署在DigitalOcean上,使用OAuth 2.0,因此每个用户都有自己的DocketBird API密钥。
工具
| 工具 | 说明 |
|---|---|
docketbird_get_case_details | 获取案件信息、当事人和分页文件 |
docketbird_search_documents | 按关键字搜索案例中的文档 |
docketbird_list_cases | 列出公司或用户范围的案例 |
docketbird_list_courts | 获取法院代码和案件类型 |
docketbird_download_document | 按ID下载单个文档 |
docketbird_download_files | 下载案件的所有可用文件 |
需求
- Python 3.11
- uv包管理器
设置
- 安装紫外线:
curl -LsSf https://astral.sh/uv/install.sh | sh- 创建并激活虚拟环境:
uv venv
source .venv/bin/activate- 安装依赖项:
uv pip install -r requirements.txt运行服务器
# stdio transport (uses DOCKETBIRD_API_KEY env var, no OAuth)
DOCKETBIRD_API_KEY="your-key" python docketbird_mcp.py --transport stdio
# HTTP transport with OAuth (Streamable HTTP at /mcp)
python docketbird_mcp.py --transport http
# Then visit http://localhost:8080/signup to create an account连接到已部署的服务器
看 DocketBird_MCP_安装指南.pdf 查看完整的截图演练。
快速版本
- 注册地址: https://app.docketbird-mcp.com/signup 使用您的电子邮件、密码和DocketBird API密钥
- 在Claude.ai或Claude Desktop中,添加一个带有URL的远程MCP服务器
https://app.docketbird-mcp.com/mcp - Claude自动发现OAuth,重定向您登录并连接
Stdio(地方发展)
适用于克劳德桌面(~/Library/Application Support/Claude/claude_desktop_config.json)或光标(~/.cursor/mcp.json):
{
"mcpServers": {
"docketbird-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/docketbird-mcp-plus",
"python",
"docketbird_mcp.py"
],
"env": {
"DOCKETBIRD_API_KEY": "YOUR_KEY"
}
}
}
}认证
服务器使用OAuth 2.0和PKCE进行HTTP模式。每个用户都使用自己的DocketBird API密钥注册,该密钥存储在服务器端并附加到OAuth令牌。SDK自动处理协议端点:
/.well-known/oauth-authorization-server-OAuth元数据发现/register-动态客户端注册/authorize-授权端点(重定向到/login)/token-代币交换和刷新
在stdio模式下 DOCKETBIRD_API_KEY env-var是直接使用的(没有OAuth)。
安全
- 带PKCE的OAuth 2.0(服务器上没有共享的API密钥)
- 使用bcrypt-hashed密码存储在SQLite中的Per-user DocketBird API密钥
- 速率限制:每个IP每60秒30个请求
- 仅使用SSRF域分配列表进行HTTPS下载
- 文件下载时的路径遍历保护
- 容器以非根目录运行
mcpuser - GitHub操作被固定以提交SHA
- 依赖关系被固定到精确的版本
部署
通过Docker和GitHub Actions部署。推到 main 触发自动部署。
- 域名:
app.docketbird-mcp.com - Docker卷:
docketbird-data在/app/data(SQLite身份验证数据库) - 健康检查:
https://app.docketbird-mcp.com/health - Caddy反向代理处理HTTPS(Let's Encrypt)
本地Docker构建
docker build -t docketbird-mcp:latest .
docker run -d \
--name docketbird-mcp \
--restart=always \
-e SERVER_URL="http://localhost:8040" \
-v docketbird-data:/app/data \
-p 8040:8080 \
docketbird-mcp:latest参考数据
courts.json-法院代码和名称case_types.json-案例类型缩写和示例
致谢
这个项目是建立在原来的基础上的 docketbird mcp 与@federicoburman和Gravix共同开发。AI团队。
