Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
MCP server for Odoo 18 with 38 business tools
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
ODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_PASSWORD, ODOO_MCP_DEFAULT_LIMIT, ODOO_MCP_MAX_LIMIT「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"odoo": {
"command": "uvx",
"args": [
"odoo-18-mcp-server"
],
"env": {
"ODOO_URL": "your-value",
"ODOO_DB": "your-value",
"ODOO_USERNAME": "your-value",
"ODOO_PASSWORD": "your-value",
"ODOO_MCP_DEFAULT_LIMIT": "your-value",
"ODOO_MCP_MAX_LIMIT": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add odoo --env ODOO_URL=your-value --env ODOO_DB=your-value --env ODOO_USERNAME=your-value --env ODOO_PASSWORD=your-value --env ODOO_MCP_DEFAULT_LIMIT=your-value --env ODOO_MCP_MAX_LIMIT=your-value -- uvx odoo-18-mcp-server動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"odoo": {
"command": "uvx",
"args": [
"odoo-18-mcp-server"
],
"env": {
"ODOO_URL": "your-value",
"ODOO_DB": "your-value",
"ODOO_USERNAME": "your-value",
"ODOO_PASSWORD": "your-value",
"ODOO_MCP_DEFAULT_LIMIT": "your-value",
"ODOO_MCP_MAX_LIMIT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"odoo": {
"type": "stdio",
"command": "uvx",
"args": [
"odoo-18-mcp-server"
],
"env": {
"ODOO_URL": "your-value",
"ODOO_DB": "your-value",
"ODOO_USERNAME": "your-value",
"ODOO_PASSWORD": "your-value",
"ODOO_MCP_DEFAULT_LIMIT": "your-value",
"ODOO_MCP_MAX_LIMIT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
ODOO_MCP_DEFAULT_LIMIT envODOO_MCP_MAX_LIMIT envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント nicolasramos で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:ODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_PASSWORD
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.0.1)がレジストリに届いたのは7 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Tool Guardian
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Too many MCP servers eating your context? A router that loads each tool's schema only when needed.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Standalone MCP (Model Context Protocol) server for Odoo 18 over stdio.
MCP name: io.github.nicolasramos/odooclaw-mcp PyPI package: odooclaw-mcp Official CLI: odooclaw-mcp
Backward-compatible aliases are also installed:
odoo-mcpodoo-mcp-serverodoo-18-mcp-serverpip install odooclaw-mcp
From source:
git clone https://github.com/nicolasramos/odooclaw-mcp.git
cd odooclaw-mcp pip install -e .
cp .env.example .env
Required:
ODOO_URL=https://yourcompany.odoo.com
ODOO_DB=your_database ODOO_USERNAME=your_username ODOO_PASSWORD=your_password
Optional:
ODOO_MCP_DEFAULT_LIMIT=50
ODOO_MCP_MAX_LIMIT=80 LOG_LEVEL=INFO
odooclaw-mcp --check-config
odooclaw-mcp
Alternative:
python -m odoo_mcp
{
"mcpServers": { "odoo": { "command": "odooclaw-mcp", "env": { "ODOO_URL": "https://yourcompany.odoo.com", "ODOO_DB": "your_database", "ODOO_USERNAME": "your_username", "ODOO_PASSWORD": "your_password", "ODOO_MCP_DEFAULT_LIMIT": "50", "ODOO_MCP_MAX_LIMIT": "80" } } } }
When calling tools through the MCP protocol, arguments must be wrapped in a top-level payload object.
Valid shape:
{
"name": "odoo_search", "arguments": { "payload": { "model": "res.partner", "domain": [["customer_rank", ">", 0]], "limit": 3 } } }
If payload is omitted, validation fails with an error equivalent to Field required: payload.
The server currently exposes 129 MCP tools.
Note: the grouped tables below focus on common/high-value tools. Use MCP
list_toolsto inspect the full live tool catalog for your installed version.
| Tool | Purpose |
|---|---|
odoo_search | Search records in an allowed model using Odoo domain syntax. |
odoo_read | Read selected fields from specific record IDs. |
odoo_search_read | Combined search + read for efficient retrieval. |
odoo_create | Create a new record in an allowed model. |
odoo_write | Update existing records in an allowed model. |
odoo_invoke_action | Invoke an Odoo model method such as action_* or button_*. |
odoo_get_record_summary | Return a compact, human-friendly summary for a record. |
| Tool | Purpose |
|---|---|
odoo_find_partner | Find a customer or vendor by name, VAT, or email. |
odoo_get_partner_summary | Get a partner overview with useful business context. |
odoo_find_sale_order | Search sale orders by name, partner, or state. |
odoo_get_sale_order_summary | Retrieve a sale order summary including lines. |
odoo_create_sale_order | Create a quotation / sale order with product lines. |
odoo_confirm_sale_order | Confirm a quotation into a sale order. |
odoo_create_lead | Create a CRM lead / opportunity. |
| Tool | Purpose |
|---|---|
odoo_create_purchase_order | Create a purchase order from partner and line data. |
odoo_create_vendor_invoice | Create a vendor bill. |
odoo_find_pending_invoices | Find posted invoices or bills pending payment using Odoo 18 semantics. |
odoo_get_invoice_summary | Get a detailed summary of an invoice or bill. |
odoo_register_payment | Register a payment for a specific invoice. |
| Tool | Purpose |
|---|---|
odoo_find_task | Search project tasks by name, project, or stage. |
odoo_create_task | Create a new project task. |
odoo_update_task | Update task stage, assignee, or deadline. |
odoo_create_activity | Schedule an activity on a record. |
odoo_list_pending_activities | List pending activities, optionally filtered by model or assignee. |
odoo_mark_activity_done | Mark an activity as completed. |
odoo_post_chatter_message | Post a chatter message on a record. |
odoo_create_activity_summary | Create a summary-style activity for follow-up. |
odoo_close_activity_with_reason | Close an activity and record the reason. |
odoo_log_timesheet | Log a timesheet entry for a project or task. |
| Tool | Purpose |
|---|---|
odoo_get_capabilities | Report which modules and capabilities are available in the connected instance. |
odoo_create_helpdesk_ticket | Create a helpdesk ticket directly. |
odoo_create_helpdesk_ticket_from_partner | Create a helpdesk ticket linked to a partner. |
odoo_draft_ticket_email | Prepare a draft support email from a ticket context. |
odoo_create_contract_line | Add a line to a contract. |
odoo_replace_contract_line | Replace an existing contract line with a new one. |
odoo_close_contract_line | Close a contract line with a reason and close date. |
odoo_get_product_stock | Inspect stock quantities for a product. |
odoo_create_calendar_event | Create a meeting or appointment with attendees. |
| Tool | Purpose |
|---|---|
odoo_get_model_schema | Inspect the fields and schema of a model such as res.partner or account.move. |
The server also exposes 5 MCP resources for discovery and context:
| Resource | Purpose |
|---|---|
odoo://context/odoo18-fields-reference | Odoo 18 field reference for common model/domain pitfalls such as customer_rank, supplier_rank, and payment_state. |
odoo://models | JSON list of models currently allowed by the security policy. |
odoo://model/{model_name}/schema | Technical schema for a specific Odoo model. |
odoo://record/{model}/{id}/summary | JSON summary of a specific record. |
odoo://record/{model}/{id}/chatter_summary | Summary of the chatter history for a specific record. |
unlink is blocked.ODOO_MCP_DEFAULT_LIMIT, ODOO_MCP_MAX_LIMIT).sender_id is treated as audit/context metadata; execution runs as the authenticated Odoo session user.The server uses standard Odoo JSON-RPC endpoints and executes operations as the configured Odoo session user.
For production, use a dedicated least-privilege Odoo account.
stdio MCP server, not an HTTP API service.ODOO_DB is currently required by the authentication flow.pip install -e .[dev]
ruff check src tests black --check src tests mypy src --ignore-missing-imports pytest tests -v python -m build twine check dist/*
MIT - see LICENSE.