How to Use Odoo MCP with VS Code Copilot


If you’ve ever wished you could just tell an AI assistant “add these three contacts to Odoo” instead of clicking through forms, that’s exactly what Odoo MCP makes possible.

What Is Odoo MCP?

Odoo MCP is a bridge server that exposes your Odoo instance as a set of tools an AI agent can call. Instead of writing custom scripts or clicking through the Odoo UI, you can ask your AI assistant in natural language to search records, read data, or create new entries and it executes those actions against your actual Odoo database through the MCP server.

Why It’s Useful?

  • You can ask your copilot to create contacts, orders, or records in plain English instead of manual form filling.
  • Spin up test data on the fly while working in your editor, without switching windows.
  • Since it plugs into VS Code via Copilot (or other MCP-compatible clients), it fits into a developer’s normal workflow.
  • Good MCP clients show you what tool the AI is calling before/while it runs, so you can see exactly what’s happening under the hood rather than trusting a black box.

Step 1: Install the Odoo MCP Server

Odoo MCP servers are distributed as Python packages and run through uvx (part of the uv Python tool), so you don’t need to manually clone or build anything.

  1. Install uv if you don’t already have it (see the uv docs for your OS, it ships a uvx command alongside it).
  2. That’s it for setup and you don’t need to separately “install” the Odoo MCP package. When VS Code launches the server (Step 4), uvx will automatically fetch and run it on demand the first time it’s needed.

If you want to sanity-check the package works before wiring it into VS Code, you can run it directly from a terminal:

uvx mcp-server-odoo

You should see it start up without errors. Press Ctrl+C to stop it and VS Code will handle starting/stopping it going forward.

Step 2: Set Up Your Odoo Database

Before connecting the MCP server, you need a running Odoo instance with a database you’re happy to test against (don’t point this at production data on your first try).

When creating your database, fill in:

  • Database Name : e.g. TestMCP
  • Email : this becomes your admin login
  • Password : your admin login password
  • Leave Demo Data unchecked unless you want sample records
Example for Creating odoo Database

These same credentials database name, email, and password will be reused directly in your MCP configuration, so keep them handy.

Step 3: Configure mcp.json in VS Code

Next, tell VS Code how to launch the Odoo MCP server. Open the command palette (Ctrl+Shift+P),

search for “MCP: Open User Configuration”, and add an entry like this:

"odoo": {
    "command": "uvx",
    "args": ["mcp-server-odoo"],
    "env": {
        "ODOO_URL": "http://localhost:8070",
        "ODOO_DB": "TestMCP",
        "ODOO_USER": "x@gmail.com",
        "ODOO_PASSWORD": "12345678",
        "ODOO_YOLO": "true"
    }
}

A quick breakdown of the fields:

FieldWhat to put
ODOO_URLThe URL of your running Odoo instance (local or hosted). Be sure to verify that you’re using the correct port configured in your Docker Compose file.
ODOO_DBThe exact database name you created in Step 2
ODOO_USERThe admin email/login you used when creating the database
ODOO_PASSWORDThe matching admin password
ODOO_YOLOEnables write actions (create/update) without extra confirmation gates, it is useful for testing, but be deliberate about turning this on

The credentials in your mcp.json need to match a real, working login on your Odoo instance with same database name, same email, same password. If Odoo is running locally, double check the port (in this example, 8070) matches what your instance is actually bound to.

Step 4: Start the MCP Server

Once your config is saved:

  1. Open the Command Palette (Ctrl+Shift+P)
  2. Search for MCP: Open User Configuration (or just look for your mcp.json file)
  3. VS Code will detect the new server entry and start it, you should see something like :

Step 5: Use It with GitHub Copilot

With the server running, open a Copilot chat in VS Code and just ask for what you want in plain language:

Add 3 contacts with name x, y, z to odoo contact

Watch Copilot’s “thinking” trace as it responds and you should see entries like:

This confirms Copilot isn’t just describing what it would do but it’s actually calling the Odoo MCP tool and writing real records into your database. You can go check your Odoo Contacts app afterward and see the new entries there.

A Few Practical Tips

  • Start on a disposable test database. Since MCP gives an AI agent write access to your data, it’s worth confirming behavior on a sandbox database before pointing it at anything real.
  • Watch the tool-call trace. Good MCP clients surface exactly which tool was called and with what data, use that visibility to sanity-check what the AI is doing, especially before enabling unrestricted write modes.
  • Keep credentials out of shared configs. Since mcp.json holds your Odoo password in plain text, treat it like any other secrets file and don’t commit it to a public repo.

Wrapping Up

Odoo MCP turns your AI copilot from a chat window into something that can genuinely act inside your business systems like searching, reading, and creating records without you touching the Odoo UI. It’s a small setup (install uv, a database, a JSON config, one restart), but it changes how you interact with Odoo day-to-day, instead of navigating menus, you just describe what you need.

If you’re testing this out, start small, stay on a sandbox database, and get comfortable watching what the AI is actually doing before you hand it broader write permissions.

Book a Free Consultation

Haven’t found the right solution yet?
Tell us about your needs, and let’s discuss the best solution together.

Project description.

Built a private marketplace research and purchase planning platform for Shopee. The system tracks product performance over time, estimates sales velocity and gross revenue, analyzes demand across product variants, and turns the research into actionable purchasing plans. It also calculates supplier costs, shipping, platform fees, margins, planned investment, and estimated earnings to support data-driven sourcing decisions.

Skills and deliverables

Full-Stack Development, Web Application Development, Data Analysis, Business Process Automation, Business Intelligence

Shopee Marketplace Research & Purchase Planning Dashboard

We built this application to solve a common problem in marketplace sourcing: finding products is easy, but deciding what is actually worth buying, which variant to prioritize, and how much inventory to purchase requires much more analysis. Instead of relying on a single product snapshot, the system organizes products into research collections and tracks their marketplace performance over time.

Product research & tracking

Products can be added individually or collected from marketplace stores and organized into dedicated research collections. The system keeps historical observations so users can compare changes between captures instead of relying only on the latest marketplace data. This makes it possible to estimate metrics such as: – Sales velocity – Estimated daily gross revenue – Price changes – Product movement over time – Variant-level demand

Variant demand analysis

One of the most important parts of the system is identifying which variants are actually driving sales. Instead of treating a product as a single item, the application analyzes sales movement at variant level and shows each variant’s contribution to recent demand. This helps identify which sizes, models, or variations should be prioritized when purchasing inventory.

Purchase planning

Research data can then be converted directly into a purchasing plan. For every product and variant, the user can enter supplier pricing, shipping costs, purchase quantities, exchange rates, and other operational costs. The system automatically calculates: – Planned inventory investment – Shipping cost – Marketplace/platform fees – Net margin per unit – Net margin percentage – Estimated earnings – Total batch investment This allows purchasing decisions to be evaluated before committing capital.

Why We built it

The goal was to replace a workflow that would normally require multiple spreadsheets, manual marketplace checks, and repeated calculations. The resulting workflow became: Discover products → Track performance → Analyze demand → Select variants → Plan purchasing → Estimate margins Everything is kept in one application, making the research and sourcing process easier to review, repeat, and scale.

Result

The platform turns raw marketplace observations into actionable purchasing information. Instead of choosing products based only on intuition or current sales numbers, users can evaluate sales movement, variant demand, sourcing cost, expected margin, and required investment before making a purchasing decision. Built as an end-to-end internal tool, from data collection and analysis to the final purchasing workflow.

Project description.

Built a browser-based tool that converts Shopee/SPX order exports into clean, print-ready shipping labels. It supports multiple Excel/CSV files, combines orders into one preview, and automatically generates QR codes, barcodes, tracking numbers, and product information for 68 mm thermal printers. All order data is processed locally in the browser for better privacy, eliminating repetitive manual label formatting.

Skills and deliverables

Laravel, Business Automation, CSV, Microsoft Excel

Shopee SPX Order Label Maker for Thermal Printing

This tool was built to simplify the shipping label preparation process for Shopee SPX orders. The existing workflow required order data to be exported from Shopee and manually formatted before it could be printed on a thermal printer. This became repetitive and time-consuming, especially when processing multiple orders at once.

We built a browser-based label generator that reads Shopee Excel/CSV exports and automatically converts the order data into clean, print-ready SPX labels. The tool automatically handles: – Tracking numbers – QR codes – Barcodes – Product names and variants – Order quantities – Multiple order files at once – 68 mm thermal printer formatting Users can review all generated labels before printing, without having to manually copy or reorganize the order information.

The order files are processed directly inside the browser instead of being uploaded to a server. This keeps customer and shipment data private while also making the tool fast and simple to use.