mcpField
O
omni-lpr

omni-lpr

リモート
github.com/habediその他2616 週間前に更新
リポジトリ

omni-lpr について

Omni-LPRは、ナンバープレート認識を行うセルフホスト可能なサーバーです。車両番号の検出やOCRを必要とするアプリやAIエージェント向けに、RESTとMCPのインターフェースを提供し、CPU、Intel OpenVINO、NVIDIA CUDAに対応します。

主な機能

  1. 01画像内のナンバープレートを検出・認識
  2. 02画像データまたは画像パスを処理
  3. 03利用可能な検出・OCRモデルを一覧表示
  4. 04RESTとMCPのインターフェース
  5. 05ONNX、OpenVINO、CUDAに対応

活用シーン

  1. 01アップロード画像のナンバーを認識
  2. 02URLやファイルパスの画像を処理
  3. 03AIエージェントにナンバー認識ツールを提供

MCP 対応

streamable HTTPのエンドポイントを通じて、モデル一覧とナンバー認識ツールをMCPに公開します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://{baseUrl}/mcp/
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Omni-LPR ロゴ

Omni-LPR

Tests Code Coverage Code Quality Python Version PyPI License
Documentation Examples Docker Image (CPU) Docker Image (OpenVINO) Docker Image (CUDA)

自動ナンバープレート認識のためのマルチインターフェース(REST および MCP)サーバー


Omni-LPR は、REST API と Model Context Protocol(MCP)を介して自動ナンバープレート認識(ALPR)機能を提供するセルフホスト可能なサーバーです。単体の ALPR マイクロサービスとしても、AI エージェントや大規模言語モデル(LLM)向けの ALPR ツールボックスとしても使用できます。

なぜ Omni-LPR なのか?

Omni-LPR を使用することで、以下のような利点があります:

  • 分離。 メインアプリケーションは任意のプログラミング言語で構いません。サーバーがすべてを処理するため、Python や特定の ML 依存関係に悩まされる必要はありません。

  • 複数のインターフェース。 通信方法が 1 つに縛られることはありません。任意のアプリから標準の REST API を使用することも、AI エージェント統合のために設計された MCP を使用することもできます。

  • すぐにデプロイ可能。 ゼロから構築する必要はありません。すぐにデプロイして使い始められる、ビルド済みの Docker イメージが用意されています。

  • ハードウェアアクセラレーション。 サーバーはお使いのハードウェアに合わせて最適化されています。汎用 CPU(ONNX)、Intel CPU(OpenVINO)、NVIDIA GPU(CUDA)をサポートしています。

  • 非同期 I/O。 Starlette 上に構築されているため、高性能なノンブロッキング I/O を備えています。遅延することなく多数の同時リクエストを処理できます。

  • スケーラビリティ。 独立したサービスであるため、メインアプリケーションとは別にスケールできます。ALPR の処理能力が急に必要になった場合でも、他の何にも手を加えることなく Omni-LPR をスケールアップできます。

実装済みおよび計画中の機能の一覧については、ROADMAP.md を参照してください。

重要

Omni-LPR は開発の初期段階にあるため、バグや破壊的な API 変更が発生することが予想されます。 バグの報告や機能のリクエストには、issues ページをご利用ください。


クイックスタート

以下の手順に従うことで、数分で Omni-LPR を使い始めることができます。

1. サーバーをインストールする

pip を使用して Omni-LPR をインストールできます:

pip install omni-lpr
2. サーバーを起動する

インストール後、1 つのコマンドでサーバーを起動できます:

omni-lpr

デフォルトでは、サーバーは http://127.0.0.1:8000 で待ち受けます。 ヘルスチェックエンドポイントにアクセスすることで、実行中であることを確認できます:

curl http://127.0.0.1:8000/api/health
# Sample expected output: {"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 は、その機能を 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 インターフェース

サーバーは、AI エージェントや LLM との統合のために、MCP を介してツールを公開しています。MCP エンドポイントは http://127.0.0.1:8000/mcp/ で、ストリーマブル HTTP 経由で利用できます。

MCP Inspector のようなツールを使用して、利用可能な MCP ツールを調べることができます。

MCP Inspector のスクリーンショット
統合

MCP プロトコルをサポートする任意のクライアントをサーバーに接続できます。 以下の例では、LM Studio でサーバーを使用する方法を示します。

LM Studio の設定
{
    "mcpServers": {
        "omni-lpr-local": {
            "url": "http://127.0.0.1:8000/mcp/"
        }
    }
}
ツールの使用例

LM Studio で list_models ツールを使用して、APLR で利用可能なモデルを一覧表示しているスクリーンショットです。

LM Studio のスクリーンショット 1

以下のスクリーンショットは、LM Studio で detect_and_recognize_plate_from_path ツールを使用して、 ウェブ上で利用可能な画像からナンバープレートを検出して認識している様子を示しています。

LM Studio のスクリーンショット 2

ドキュメント

Omni-LPR のドキュメントはこちらで入手できます。

例

使用例については、examples ディレクトリを参照してください。


コントリビューション

コントリビューションはいつでも歓迎します! 始め方の詳細については、CONTRIBUTING.mdを参照してください。

ライセンス

Omni-LPR は MIT ライセンスの下でライセンスされています(LICENSEを参照)。

謝辞
  • このプロジェクトは、素晴らしい fast-plate-ocr および fast-alpr Python ライブラリを使用しています。
  • プロジェクトのロゴは SVG Repo のものです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。