odoo-mcp-connector について
odoo-mcp-connector は Odoo ERP を Claude などの MCP クライアントに接続し、自然言語でのデータ検索やレポート作成を可能にします。任意の Odoo モデルに対応し、標準では読み取り専用で、書き込みは明示的な設定後に利用できます。
主な機能
- 01任意のモデルのレコード検索、読み取り、件数取得
- 02モデル一覧とフィールド情報の確認
- 03期限超過請求書、売上、在庫の照会
- 04請求売上に基づく顧客ランキング
- 05レコードの作成、更新、削除を任意で有効化
活用シーン
- 01特定の Odoo モデルのレコードを検索
- 02期間を指定して売上概要を作成
- 03期限超過請求書や在庫不足の商品を特定
- 04書き込みを有効にして ERP レコードを変更
MCP 対応
MCP サーバーとして、Odoo モデルの検索、読み取り、件数取得、業務レポートのツールをクライアントに提供します。書き込みを有効にすると、レコードの作成、更新、削除も可能です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y odoo-mcp-connectorODOO_URLOdoo base URL, e.g. https://your-company.odoo.comODOO_DBOdoo database nameODOO_USERNAMEOdoo login (email)ODOO_API_KEYシークレットOdoo API key (or password)ODOO_ENABLE_WRITESSet to 'true' to allow create/update/delete. Default false (read-only).ODOO_TIMEOUT_MSPer-request timeout in milliseconds (default 30000).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
9掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 最大レコード数(デフォルト:50)。 |
| model | string | はい | モデルの技術名。例:'res.partner'、'sale.order'、'account.move'。 |
| order | string | いいえ | 並べ替え指定。例:'create_date desc'。 |
| domain | array | いいえ | Odoo の検索ドメイン。例:[["is_company","=",true]]。省略するとすべてのレコードが対象になります。 |
| fields | array | いいえ | 返すフィールド名。省略するとすべてのフィールドが返されます。 |
| offset | integer | いいえ | スキップするレコード数(デフォルト:0)。 |
詳細
Odoo MCP サーバー
Odoo 向けの Model Context Protocol サーバーです。Claude(または任意の MCP クライアント)をご自身の Odoo ERP に接続し、自然言語でデータを検索、レポート作成したり、必要に応じて変更したりできます。
あらゆる Odoo モデルで動作します。デフォルトでは安全のため読み取り専用で、書き込みは明示的に有効にした場合に限られます。認証情報はお使いのマシン内に保持されます。ご自身の Odoo インスタンス以外にデータが保存されたり、送信されたりすることはありません。
機能
- あらゆるモデルへの汎用アクセス:検索、読み取り、件数確認、フィールドのイントロスペクション、モデル一覧の取得
- すぐに使えるビジネスツール:期限超過の請求書、売上概要、在庫不足の商品、上位顧客
- デフォルトで読み取り専用:オプトインした場合のみ作成、更新、削除が可能です(
ODOO_ENABLE_WRITES=true) - ご自身のデータをご自身のマシンで:環境変数だけで設定できます
インストール
MCP クライアントの設定に追加してください(例:Claude Desktop または Claude Code)。
{
"mcpServers": {
"odoo": {
"command": "npx",
"args": ["-y", "odoo-mcp-connector"],
"env": {
"ODOO_URL": "https://your-company.odoo.com",
"ODOO_DB": "your-database",
"ODOO_USERNAME": "[email protected]",
"ODOO_API_KEY": "your-odoo-api-key"
}
}
}
}
Odoo API キーの取得
Odoo で、設定、ユーザー、ご自身のユーザー、アカウントセキュリティ、新しい API キーを選択します。生成されたキーを ODOO_API_KEY に貼り付けてください。(パスワードも使用できますが、API キーのほうが安全で、失効させることもできます。)
書き込みの有効化
デフォルトは読み取り専用です。モデルによるレコードの作成、更新、削除を許可するには、次を追加してください。
"ODOO_ENABLE_WRITES": "true"
Odoo には実際のビジネスデータが保存されています。モデルがレコードを作成、変更、削除できることを了承した場合にのみ、書き込みを有効にしてください。操作は常に、Odoo ユーザー自身の権限の範囲内で行われます。
ツール
常に利用可能(読み取り専用)
| ツール | 用途 |
|---|---|
odoo_search_read | あらゆるモデルのレコードを検索して読み取ります |
odoo_read | ID を指定してレコードを読み取ります |
odoo_count | ドメインに一致するレコードの件数を確認します |
odoo_fields | モデルのフィールドをイントロスペクションします(名前、型、ラベル) |
odoo_list_models | 利用可能なモデルを一覧表示します |
odoo_overdue_invoices | 支払期限を過ぎた未払いの顧客請求書を取得します |
odoo_sales_summary | 期間内の売上と注文数を集計します |
odoo_low_stock | 数量のしきい値以下の商品を取得します |
odoo_top_customers | 請求済み売上高で上位の顧客を取得します |
ODOO_ENABLE_WRITES=true の場合のみ利用可能
| ツール | 用途 |
|---|---|
odoo_create | レコードを作成します |
odoo_write | ID を指定してレコードを更新します |
odoo_unlink | ID を指定してレコードを削除します(取り消し不可) |
odoo_call | 任意のモデルメソッドを呼び出します |
設定リファレンス
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
ODOO_URL | はい | Odoo のベース URL | |
ODOO_DB | はい | データベース名 | |
ODOO_USERNAME | はい | ログイン名(メールアドレス) | |
ODOO_API_KEY | はい | API キー(またはパスワード) | |
ODOO_ENABLE_WRITES | いいえ | false | 書き込みを許可するには "true" を設定します |
ODOO_TIMEOUT_MS | いいえ | 30000 | リクエストごとのタイムアウト(ミリ秒) |
開発
npm install
npm test # vitest, fully mocked, no live Odoo needed
npm run build
ライセンス
MIT、Falak Sarhan Saade
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。