mcpField
O
odoo

odoo

github.com/marcfargasその他44175 回インストール2 日前に更新
リポジトリ

odoo について

odoo は、CLI または TypeScript ライブラリで Odoo を操作、自動化するスキルです。レコード管理やスキーマ探索、業務モジュールに対応し、読み取り・書き込み・破壊的操作を区別します。

主な機能

  1. 01CLI によるレコード CRUD
  2. 02モデルとフィールドのスキーマ探索
  3. 03モジュールのライフサイクル管理
  4. 04会計・勤怠・タイムシート操作
  5. 05TypeScript クライアントライブラリ

活用シーン

  1. 01CLI で Odoo レコードを検索、更新
  2. 02スクリプトで Odoo データ処理を自動化
  3. 03フィールドやインストール済みモジュールを確認
  4. 04勤怠やタイムシートの記録を管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/marcfargas/odoo-toolbox --skill odoo

インストール後、Claude Code で/odooを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.env.example
CHANGES_V17.md
LICENSE
base/
connection.md
context-keys.md
crud.md
domains.md
field-types.md
introspection.md
modules.md
multi-company.md
properties.md
search.md
translations.md
urls.md
cli/
config.md
records.md
state.md
mail/
activities.md
chatter.md
discuss.md
modules/
accounting.md
attendance.md
contracts.md
product-configurator.md
timesheets.md
oca/
mis-builder-dev.md
mis-builder.md

詳細

/odoo

Odoo ERP 統合。作業方法は 2 通りあります。CLI(ほとんどのタスクで最速)とライブラリ(スクリプトや自動化向け)です。

Odoo を使った 2 通りの作業方法

CLI — ほとんどのタスクで最速

odoo CLI を使うと、コードを書かずにレコードを検索、作成、更新、削除できます。

# 1. Verify connection (always do this first)
odoo config check

# 2. Search records
odoo records search res.partner --fields name,email --limit 5

# 3. Create a record
odoo records create res.partner --data '{"name":"Acme Corp"}' --confirm

# 4. Post a note on a record
odoo mail note crm.lead 42 "Called customer" --confirm
ライブラリ — スクリプトや自動化向け
import { createClient } from '@marcfargas/odoo-client';

const client = await createClient();  // reads ODOO_URL, ODOO_DB, ODOO_USER, ODOO_PASSWORD

const partners = await client.searchRead('res.partner', [['is_company', '=', true]], {
  fields: ['name', 'email'],
  limit: 10,
});

await client.mail.postInternalNote('crm.lead', 42, '<p>Called customer.</p>');
await client.modules.isModuleInstalled('sale');

クイックスタート

ステップ 1:環境を設定する
export ODOO_URL=https://mycompany.odoo.com
export ODOO_DB=mycompany
export ODOO_USER=admin
export ODOO_PASSWORD=yourpassword
ステップ 2:接続を確認する
odoo config check
# ✓ Connected to https://mycompany.odoo.com (db: mycompany)
#   User: Administrator (admin) [id: 2]
#   Installed modules: 143
ステップ 3:内容を確認する
# Search for records
odoo records search res.partner --fields name,email --limit 10

# Introspect schema
odoo schema fields crm.lead --type many2one

# Check installed modules
odoo modules list --filter installed --search sale

CLI の終了コード

すべての odoo CLI コマンドでは、次の標準終了コードが使われます。

コード意味
0成功
1使用方法のエラー(不正なフラグ、--confirm の指定漏れ、無効な引数)
2認証/ネットワークエラー(認証情報が間違っている、Odoo に接続できない)
3見つかりません
4権限がありません
5検証エラー(Odoo が値を受け付けませんでした)
6競合(例:すでに出勤打刻済み)
10部分的な成功

スクリプトでの使用例:

odoo records get crm.lead 42 || echo "Exit code: $?"

CLI コマンドリファレンス

CLI コマンドスキルドキュメント説明
odoo config check/showcli/config.md接続を確認し、解決済みの設定を表示
odoo records search/get/create/write/delete/count/callcli/records.md任意のモデルに対する汎用 CRUD
odoo schema models/fields/describe/codegenbase/introspection.mdモデルとフィールドを確認
odoo modules list/install/uninstall/upgrade/info/statusbase/modules.mdOdoo モジュールを管理
odoo url record/portalbase/urls.mdバージョンに依存しないレコード URL を生成
odoo mail note/postmail/chatter.mdチャターにメモやメッセージを投稿
odoo attendance clock-in/clock-out/status/listmodules/attendance.md従業員の出退勤を打刻
odoo timesheets start/stop/running/log/listmodules/timesheets.md時間を記録
odoo accounting cash-accounts/cash-balance/posted-moves/trace-recon/days-to-paymodules/accounting.md読み取り専用の会計クエリ
odoo state plan/apply/diff ⚠cli/state.md試験的機能:状態管理

ライブラリ API

サービスアクセサー

ドメイン固有のヘルパーは、クライアントの遅延ゲッターから利用できます。

アクセサーCLI コマンド説明スキルドキュメント
client.mail.*odoo mailチャターにメモやメッセージを投稿mail/chatter.md
client.modules.*odoo modulesモジュールのインストール、アンインストール、確認base/modules.md
client.urls.*odoo urlバージョンに依存しないレコード URL を生成base/urls.md
client.properties.*—プロパティフィールドの安全な操作base/properties.md
client.cdc.*—Change Data Capture — mail.tracking.value を使用したフィールド変更履歴modules/cdc.md
client.accounting.*odoo accounting現金の確認、照合、取引先の解決modules/accounting.md
client.attendance.*odoo attendance出退勤の打刻、在席状況の追跡modules/attendance.md
client.timesheets.*odoo timesheetsタイマーの開始/停止、時間の記録modules/timesheets.md

コア CRUD(searchRead、create、write、unlink など)は、引き続き client から直接利用できます。

安全モデル
操作レベル備考
client.search(), searchRead(), read(), searchCount()読み取り
client.create()書き込み
client.write()書き込み
client.unlink()破壊的完全に削除します
client.call()変動メソッドによって異なります。スキルごとのドキュメントを確認してください
client.mail.postInternalNote()書き込み内部のみで、メールは送信されません
client.mail.postOpenMessage()破壊的フォロワーにメールを送信します(外部の宛先が含まれる場合があります)
client.modules.isModuleInstalled()読み取り
client.modules.installModule()破壊的スキーマが変更され、ロールバックが困難です
client.modules.uninstallModule()破壊的モジュールのデータを削除します。元に戻せません
client.properties.*書き込みデータ損失を防ぐ安全なプロパティ更新です
client.accounting.*読み取り会計関連のヘルパーはすべて読み取り専用です
client.timesheets.logTime(), startTimer(), stopTimer()書き込み
client.attendance.*書き込み出勤/退勤を記録します
client.urls.*読み取りURLを構築するだけで、RPCは発生しません

前提条件(最初に必ずお読みください)

Odoo を操作する前に、以下の基礎モジュールを読み込んでください。

  1. base/connection.md — createClient()、認証、環境変数
  2. base/field-types.md — Odoo の型システム(読み取り/書き込みの非対称性)
  3. base/domains.md — クエリフィルターの構文

追加モジュール

必要に応じて、base/{name}.md を読んで読み込んでください。

モジュールCLI 対応説明
イントロスペクションodoo schemaモデルとフィールドを検出します
CRUDodoo records作成、読み取り、更新、削除のパターン
検索odoo records search検索とフィルタリングのパターン
プロパティ—動的なユーザー定義フィールド
モジュールodoo modulesモジュールのライフサイクル管理
URLodoo urlバージョンに依存しないレコード URL の生成
複数会社odoo records search --context複数会社のコンテキスト、allowed_company_ids、よくある注意点
翻訳—フィールド翻訳の読み取りと書き込み(Odoo 17 以降では ir.translation は削除済み)
コンテキストキー--context フラグメール/チャターのコンテキストキー:tracking_disable、mail_notrack、mail_create_nolog など

メールとメッセージング

Odoo のメールシステム向けスキルです。mail/{name}.md を読んで読み込んでください。

モジュールCLI 対応説明
チャターodoo mailレコードにメッセージやメモを投稿します(client.mail.*)
アクティビティ—アクティビティ/タスクのスケジュール設定と管理
ディスカス—チャットチャンネルとダイレクトメッセージ

注: mail モジュールは Odoo の基本機能の一部で、通常は常にインストールされています。

モジュール固有のスキル

特定の Odoo モジュールのインストールが必要なスキルです。読み込む前に、必要なモジュールが存在することを確認してください。

# CLI: check a module is installed
odoo modules status hr_attendance
// Library: check a module is installed
await client.modules.isModuleInstalled('hr_attendance')

以下に示すパスを読み込んでください。

スキルパスCLI コマンド必要なモジュール説明
accountingmodules/accounting.mdodoo accountingaccount会計のパターン、キャッシュフロー、照合、損益、検証
contractsmodules/contracts.md—contract (OCA)継続契約、請求スケジュール、収益予測
attendancemodules/attendance.mdodoo attendancehr_attendance出退勤の打刻、在席状況の追跡(client.attendance.*)
timesheetsmodules/timesheets.mdodoo timesheetshr_timesheetタイマーの開始/停止、プロジェクトの作業時間記録(client.timesheets.*)
mis-builderoca/mis-builder.md—mis_builder, date_range, report_xlsxMIS Builder — レポートの読み取り、計算、エクスポート
mis-builder-devoca/mis-builder-dev.md—mis_builder, date_range, report_xlsxMIS Builder — レポートテンプレートの作成と編集
product-configuratormodules/product-configurator.md—sale_product_configurator販売明細の製品属性とバリアント — no_variant、price_extra、カスタム値

コメント