返回 MCP 目录
public公开dns本地运行

omni-lpr

Omni-LPR 是一个可自托管的多接口(REST 和 MCP)服务器,提供自动车牌识别(ALPR)功能,可作为独立的微服务或AI代理的工具箱使用。

article

README

🚀 Omni-LPR

Omni-LPR 是一个可自托管的服务器,它通过 REST API 和模型上下文协议(MCP)提供自动车牌识别(ALPR)功能。它既可以作为独立的 ALPR 微服务使用,也可以作为 AI 代理和大语言模型(LLM)的 ALPR 工具箱。

🚀 快速开始

你可以按照以下步骤在几分钟内开始使用 Omni-LPR。

1. 安装服务器

你可以使用 pip 安装 Omni-LPR:

pip install omni-lpr

2. 启动服务器

安装完成后,使用以下命令启动服务器:

omni-lpr

默认情况下,服务器将监听 http://127.0.0.1:8000。你可以通过访问健康检查端点来确认服务器是否正在运行:

curl http://127.0.0.1:8000/api/health
# 示例预期输出: {"status": "ok", "version": "0.3.4"}

3. 识别车牌

现在你可以发送请求来识别图像中的车牌。以下示例使用了一个公开可用的图像 URL。

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"path": "https://www.olavsplates.com/foto_n/n_cx11111.jpg"}' \
  http://127.0.0.1:8000/api/v1/tools/detect_and_recognize_plate_from_path/invoke

你应该会收到一个包含检测到的车牌信息的 JSON 响应。

✨ 主要特性

使用 Omni-LPR 具有以下好处:

  • 解耦:你的主应用程序可以使用任何编程语言。它无需与 Python 或特定的机器学习依赖项纠缠在一起,因为服务器会处理所有这些。
  • 多接口:你不会局限于一种通信方式。你可以从任何应用程序使用标准的 REST API,也可以使用专为 AI 代理集成设计的 MCP。
  • 即开即用:你无需从头开始构建。有预构建的 Docker 镜像,易于部署并立即开始使用。
  • 硬件加速:服务器针对你拥有的硬件进行了优化。它支持通用 CPU(ONNX)、英特尔 CPU(OpenVINO)和 NVIDIA GPU(CUDA)。
  • 异步 I/O:它基于 Starlette 构建,这意味着它具有高性能的非阻塞 I/O。它可以处理许多并发请求而不会陷入困境。
  • 可扩展性:因为它是一个独立的服务,所以可以独立于你的主应用程序进行扩展。如果你突然需要更多的 ALPR 处理能力,可以扩展 Omni-LPR 而无需触及其他任何内容。

查看 ROADMAP.md 以获取已实现和计划实现的功能列表。

⚠️ 重要提示

Omni-LPR 处于早期开发阶段,因此预计会出现错误和 API 重大变更。请使用 问题页面 报告错误或请求功能。

📚 详细文档

使用方法

Omni-LPR 将其功能作为“工具”公开,可以通过 REST API 或 MCP 调用。

可用工具

服务器提供了用于列出模型、从图像数据识别车牌以及从路径识别车牌的工具。

  • list_models:列出可用的检测器和 OCR 模型。
  • 处理图像数据的工具(以 Base64 或文件上传形式提供):
    • recognize_plate:从预裁剪的车牌图像中识别文本。
    • detect_and_recognize_plate:检测并识别完整图像中的所有车牌。
  • 处理图像路径的工具(URL 或本地文件路径):
    • recognize_plate_from_path:从给定路径的预裁剪车牌图像中识别文本。
    • detect_and_recognize_plate_from_path:检测并识别给定路径的完整图像中的车牌。

有关如何使用不同工具和提供图像数据的更多详细信息,请参阅 API 文档

REST API

REST API 提供了与服务器交互的标准方式。所有工具端点都在 /api/v1 前缀下可用。服务器启动后,你可以在 Swagger UI(http://127.0.0.1:8000/api/v1/apidoc/swagger)中访问交互式 API 文档。

MCP 接口

服务器还通过 MCP 公开其工具,以便与 AI 代理和 LLM 集成。MCP 端点可通过可流式传输的 HTTP 在 http://127.0.0.1:8000/mcp/ 访问。

你可以使用 MCP Inspector 等工具来探索可用的 MCP 工具。

集成

你可以将任何支持 MCP 协议的客户端连接到服务器。以下示例展示了如何在 LM Studio 中使用该服务器。

LM Studio 配置

{
    "mcpServers": {
        "omni-lpr-local": {
            "url": "http://127.0.0.1:8000/mcp/"
        }
    }
}

工具使用示例

以下是在 LM Studio 中使用 list_models 工具列出 APLR 可用模型的截图(文档中未提供截图,此处可根据实际情况补充)。

以下截图展示了在 LM Studio 中使用 detect_and_recognize_plate_from_path 工具从 网络上的图像 中检测并识别车牌的情况(文档中未提供截图,此处可根据实际情况补充)。

文档

Omni-LPR 文档可在 此处 查看。

示例

查看 示例 目录以获取使用示例。

🤝 贡献

欢迎贡献代码!有关如何开始的详细信息,请参阅 CONTRIBUTING.md

📄 许可证

Omni-LPR 采用 MIT 许可证(请参阅 LICENSE)。

🙏 致谢

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端