Odoo MCP サーバー
Odoo ERP システムと統合する MCP サーバー実装。AI アシスタントがモデル コンテキスト プロトコルを通じて Odoo のデータや機能と対話できるようになります。
特徴
包括的なOdoo統合:Odooモデル、レコード、メソッドへのフルアクセス
XML-RPC 通信: XML-RPC 経由の Odoo インスタンスへの安全な接続
柔軟な構成: 構成ファイルと環境変数のサポート
リソースパターンシステム: Odooデータ構造へのURIベースのアクセス
エラー処理: 一般的な Odoo API の問題に関する明確なエラーメッセージ
ステートレス操作: 信頼性の高い統合のためのクリーンなリクエスト/レスポンス サイクル
Related MCP server: MCP-Odoo
ツール
検索レコード
任意のOdooモデルのレコードを検索する
入力:
model(文字列): モデル名 (例: 'res.partner')domain(配列):検索ドメイン(例:[['is_company', '=', true]])fields(オプション配列): 取得するオプションフィールドlimit(オプションの数値): 返されるレコードの最大数
戻り値: 要求されたフィールドと一致するレコード
レコード読み取り
特定のレコードの詳細を読む
入力:
model(文字列): モデル名 (例: 'res.partner')id(数値): レコードIDfields(オプション配列): 取得するオプションフィールド
戻り値: 要求されたフィールドを持つレコードデータ
レコード作成
Odooで新しいレコードを作成する
入力:
model(文字列): モデル名 (例: 'res.partner')values(オブジェクト): フィールド値の辞書
戻り値: 新しいレコードIDを持つ辞書
更新レコード
既存のレコードを更新する
入力:
model(文字列): モデル名 (例: 'res.partner')id(数値): レコードIDvalues(オブジェクト): 更新するフィールド値の辞書
戻り値: 成功を示す辞書
レコードの削除
Odooからレコードを削除する
入力:
model(文字列): モデル名 (例: 'res.partner')id(数値): レコードID
戻り値: 成功を示す辞書
実行メソッド
Odoo モデルでカスタムメソッドを実行する
入力:
model(文字列): モデル名 (例: 'res.partner')method(文字列): 実行するメソッド名args(オプション配列): 位置引数kwargs(オプションオブジェクト): キーワード引数
戻り値: メソッドの結果を含む辞書
get_model_fields
モデルのフィールド定義を取得する
入力:
model(文字列): モデル名 (例: 'res.partner')
戻り値: フィールド定義を含む辞書
従業員検索
名前で従業員を検索します。
入力:
name(文字列): 検索する名前 (または名前の一部)。limit(オプションの数値): 返される結果の最大数 (デフォルトは 20)。
返される値: 一致する従業員名と ID のリスト。
検索休日
指定された日付範囲内の休日を検索します。
入力:
start_date(文字列): YYYY-MM-DD 形式の開始日。end_date(文字列): YYYY-MM-DD 形式の終了日。employee_id(オプションの数値): 休日をフィルタリングするためのオプションの従業員 ID。
返される値: 見つかった休日のリスト。
リソース
odoo://モデル
Odoo システムで利用可能なすべてのモデルを一覧表示します
戻り値: モデル情報のJSON配列
odoo://model/{モデル名}
フィールドを含む特定のモデルに関する情報を取得する
例:
odoo://model/res.partner戻り値: モデルメタデータとフィールド定義を含むJSONオブジェクト
odoo://record/{モデル名}/{レコードID}
IDで特定のレコードを取得する
例:
odoo://record/res.partner/1戻り値: レコードデータを含むJSONオブジェクト
odoo://search/{モデル名}/{ドメイン}
ドメインに一致するレコードを検索する
例:
odoo://search/res.partner/[["is_company","=",true]]戻り値: 一致するレコードの JSON 配列 (デフォルトでは 10 に制限されます)
構成
Odoo接続設定
odoo_config.jsonという名前の設定ファイルを作成します。
{
"url": "https://your-odoo-instance.com",
"db": "your-database-name",
"username": "your-username",
"password": "your-password-or-api-key"
}あるいは、環境変数を使用します。
ODOO_URL: Odoo サーバーの URLODOO_DB: データベース名ODOO_USERNAME: ログインユーザー名ODOO_PASSWORD: パスワードまたはAPIキーODOO_TIMEOUT: 接続タイムアウト(秒)(デフォルト: 30)ODOO_VERIFY_SSL: SSL証明書を検証するかどうか(デフォルト: true)HTTP_PROXY: ODOO 接続に HTTP プロキシを使用するように強制します
Claude Desktopでの使用
これをclaude_desktop_config.jsonに追加します:
{
"mcpServers": {
"odoo": {
"command": "python",
"args": [
"-m",
"odoo_mcp"
],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_DB": "your-database-name",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password-or-api-key"
}
}
}
}ドッカー
{
"mcpServers": {
"odoo": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ODOO_URL",
"-e",
"ODOO_DB",
"-e",
"ODOO_USERNAME",
"-e",
"ODOO_PASSWORD",
"mcp/odoo"
],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_DB": "your-database-name",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password-or-api-key"
}
}
}
}インストール
Pythonパッケージ
pip install odoo-mcpサーバーの実行
# Using the installed package
odoo-mcp
# Using the MCP development tools
mcp dev odoo_mcp/server.py
# With additional dependencies
mcp dev odoo_mcp/server.py --with pandas --with numpy
# Mount local code for development
mcp dev odoo_mcp/server.py --with-editable .建てる
Dockerビルド:
docker build -t mcp/odoo:latest -f Dockerfile .パラメータのフォーマットガイドライン
Odoo 用の MCP ツールを使用する場合は、次のパラメータ書式設定ガイドラインに注意してください。
ドメインパラメータ:
次のドメイン形式がサポートされています。
リスト形式:
[["field", "operator", value], ...]オブジェクト形式:
{"conditions": [{"field": "...", "operator": "...", "value": "..."}]}いずれかの形式のJSON文字列
例:
リスト形式:
[["is_company", "=", true]]オブジェクト形式:
{"conditions": [{"field": "date_order", "operator": ">=", "value": "2025-03-01"}]}複数の条件:
[["date_order", ">=", "2025-03-01"], ["date_order", "<=", "2025-03-31"]]
フィールドパラメータ:
フィールド名の配列である必要があります:
["name", "email", "phone"]サーバーは文字列入力をJSONとして解析しようとします
ライセンス
この MCP サーバーは MIT ライセンスに基づいてライセンスされます。
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.