o

omni-lpr

@habedi/omni-lpr
Hosted
0 Stars 6 次浏览 habedi 更新于 2026-08-23

An MCP server for automatic license plate recognition

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "omni-lpr": {
      "args": [
        "omni-lpr@0.3.4"
      ],
      "command": "uvx"
    }
  }
}

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

Tests
Code Coverage
Code Quality
Python Version
PyPI
License

Documentation
Examples
Docker Image (CPU)
Docker Image (OpenVINO)
Docker Image (CUDA)

A multi-interface (REST and MCP) server for automatic license plate recognition


Omni-LPR is a self-hostable server that provides automatic license plate recognition (ALPR) capabilities via a REST API
and the Model Context Protocol (MCP). It can be used both as a standalone ALPR microservice and as an ALPR toolbox for
AI agents and large language models (LLMs).

# # Why Omni-LPR?

Using Omni-LPR can have the following benefits:

  • Decoupling. Your main application can be in any programming language. It doesn't need to be tangled up with Python
    or specific ML dependencies because the server handles all of that.

  • Multiple Interfaces. You aren't locked into one way of communicating. You can use a standard REST API from any
    app, or you can use MCP, which is designed for AI agent integration.

  • Ready-to-Deploy. You don't have to build it from scratch. There are pre-built Docker images that are easy to
    deploy and start using immediately.

  • Hardware Acceleration. The server is optimized for the hardware you have. It supports generic CPUs (ONNX), Intel
    CPUs (OpenVINO), and NVIDIA GPUs (CUDA).

  • Asynchronous I/O. It's built on Starlette, which means it has high-performance, non-blocking I/O. It can handle
    many concurrent requests without getting bogged down.

  • Scalability. Because it's a separate service, it can be scaled independently of your main application. If you
    suddenly need more ALPR power, you can scale Omni-LPR up without touching anything else.

See the ROADMAP.md for the list of implemented and planned features.

[!IMPORTANT]
Omni-LPR is in early development, so bugs and breaking API changes are expected.
Please use the issues page to report bugs or request features.


# # Quickstart

You can get started with Omni-LPR in a few minutes by following the steps described below.

# # # 1. Install the Server

You can install Omni-LPR using pip:

pip install omni-lpr

# # # 2. Start the Server

When installed, start the server with a single command:

omni-lpr

By default, the server will be listening on http://127.0.0.1:8000.
You can confirm it's running by accessing the health check endpoint:

curl http://127.0.0.1:8000/api/health
#  Sample expected output: {"status": "ok", "version": "0.3.4"}

# # # 3. Recognize a License Plate

Now you can make a request to recognize a license plate from an image.
The example below uses a publicly available image 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

You should receive a JSON response with the detected license plate information.

# # Usage

Omni-LPR exposes its capabilities as "tools" that can be called via a REST API or over the MCP.

# # # Available Tools

The server provides tools for listing models, recognizing plates from image data, and recognizing plates from a path.

  • list_models: Lists the available detector and OCR models.

  • Tools that process image data (provided as Base64 or file upload):

    • recognize_plate: Recognizes text from a pre-cropped license plate image.
    • detect_and_recognize_plate: Detects and recognizes all license plates in a full image.
  • Tools that process an image path (a URL or local file path):

    • recognize_plate_from_path: Recognizes text from a pre-cropped license plate image at a given path.
    • detect_and_recognize_plate_from_path: Detects and recognizes plates in a full image at a given path.

For more details on how to use the different tools and provide image data, please see the
API Documentation.

# # # REST API

The REST API provides a standard way to interact with the server. All tool endpoints are available under the /api/v1
prefix. Once the server is running, you can access interactive API documentation in the Swagger UI
at http://127.0.0.1:8000/api/v1/apidoc/swagger.

# # # MCP Interface

The server also exposes its tools over the MCP for integration with AI agents and LLMs. The MCP endpoint is available at
http://127.0.0.1:8000/mcp/, via streamable HTTP.

You can use a tool like MCP Inspector to explore the available MCP
tools.

# # Integration

You can connect any client that supports the MCP protocol to the server.
The following examples show how to use the server with LM Studio.

# # # LM Studio Configuration

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

# # # Tool Usage Examples

The screenshot of using the list_models tool in LM Studio to list the available models for the APLR.

The screenshot below shows using the detect_and_recognize_plate_from_path tool in LM Studio to detect and recognize
the license plate from an image available on the web.


# # Documentation

Omni-LPR documentation is available here.

# # # Examples

Check out the examples directory for usage examples.


# # Contributing

Contributions are always welcome!
Please see CONTRIBUTING.md for details on how to get started.

# # License

Omni-LPR is licensed under the MIT License (see LICENSE).

# # Acknowledgements

<!- - Need to add this line for MCP registry publication - ->
<!- - mcp-name: io.github.habedi/omni-lpr - ->

相关 MCP 服务