Skip to main content
Glama
SantipBarber

AI-OdooFinder

by SantipBarber

AI-OdooFinder

Find the perfect Odoo module with AI in seconds.

An MCP (Model Context Protocol) server that enables LLMs to search Odoo modules in OCA repositories using hybrid search (semantic + full-text).

AI-OdooFinder Banner

PyPI version License: MIT Python 3.11+ Odoo MCP Ask DeepWiki

Language: English | Español


The Problem

As an Odoo developer:

  • You build features that already exist in OCA

  • You spend hours searching for the right module on GitHub

  • You install modules incompatible with your version

  • You discover abandoned modules after integration


Related MCP server: Marcus Local MCP Server

The Solution

AI-OdooFinder provides:

  • Hybrid Search: Combines semantic search (embeddings) with BM25 full-text

  • Version Filtering: Only shows compatible modules (12.0 to 19.0)

  • AI Enrichment: Descriptions, tags and keywords generated by Grok-4-fast

  • MCP Integration: Use it from Claude, ChatGPT, Cursor, VS Code, Zed... via a public URL


Architecture

┌──────────────────────────┐         ┌───────────────────────────────────────┐
│  Claude.ai / Desktop     │         │   Eticco infrastructure (Docker)      │
│  Claude Code · ChatGPT   │  HTTPS  │  ┌──────────────┐   ┌─────────────┐   │
│  Cursor · VS Code · Zed  │────────►│  │  MCP Server  │──►│   FastAPI   │   │
│  Windsurf · ...          │         │  │ (Streamable  │   │   backend   │   │
└──────────────────────────┘         │  │    HTTP)     │   └──────┬──────┘   │
   https://addon-finder.eticco.es    │  └──────────────┘          │          │
                                     │                     ┌──────▼──────┐   │
                                     │                     │ PostgreSQL  │   │
                                     │                     │ + pgvector  │   │
                                     │                     └─────────────┘   │
                                     └───────────────────────────────────────┘

Usage modes:

  • Remote MCP (recommended): Point any MCP client to https://addon-finder.eticco.es — nothing to install

  • Local MCP (STDIO): The PyPI package runs locally against your own backend (self-hosting)

Components:

  • MCP Server (Streamable HTTP): public endpoint for MCP clients

  • FastAPI Backend: hybrid search engine (internal)

  • PostgreSQL + pgvector: 19,700+ modules with embeddings

Public instance hosted by Eticco. Search over OCA community modules is open, no login required. Eticco is also extending the service with its own internal modules; that part requires authentication and is for internal use only.


Statistics

Metric

Value

Indexed Modules

19,700+

Odoo Versions

8 (12.0 – 19.0)

With AI Enrichment

100%


Installation

No installation needed. AI-OdooFinder is available as a public remote MCP server:

https://addon-finder.eticco.es

Transport

Streamable HTTP

Authentication

None for OCA community modules

Tool

search_odoo_modules

Add that URL to your MCP client (see below). If your client only supports local STDIO servers, use the mcp-remote bridge (requires Node.js):

{
  "mcpServers": {
    "ai-odoofinder": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://addon-finder.eticco.es"]
    }
  }
}

IDE/Client Configuration

  1. Go to Settings > Connectors

  2. Click "Add custom connector"

  3. Enter the MCP server URL:

    https://addon-finder.eticco.es
  4. Save and start searching

Custom connectors are shared between Claude.ai and Claude Desktop. On older Desktop versions without connectors, use the mcp-remote config above in claude_desktop_config.json.

claude mcp add --transport http ai-odoofinder https://addon-finder.eticco.es

Usage:

claude
> I need an Odoo 17 module for subscriptions
  1. Go to Settings > Apps & Connectors > Advanced and enable Developer Mode

  2. Create a new connector with URL https://addon-finder.eticco.es

  3. Authentication: None

Usage:

Use ai-odoofinder to find Odoo 17 modules for inventory

Create .vscode/mcp.json (project) or add it to your user mcp.json:

{
  "servers": {
    "ai-odoofinder": {
      "type": "http",
      "url": "https://addon-finder.eticco.es"
    }
  }
}

For Business/Enterprise: Admin must enable the "MCP servers in Copilot" policy.

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "ai-odoofinder": {
      "url": "https://addon-finder.eticco.es"
    }
  }
}

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "ai-odoofinder": {
      "serverUrl": "https://addon-finder.eticco.es"
    }
  }
}

Add to ~/.config/zed/settings.json:

{
  "context_servers": {
    "ai-odoofinder": {
      "url": "https://addon-finder.eticco.es"
    }
  }
}

Use the mcp-remote bridge:

{
  "mcpServers": {
    "ai-odoofinder": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://addon-finder.eticco.es"]
    }
  }
}

See full troubleshooting: MCP Client Configurations

The ai-odoofinder-mcp PyPI package runs the MCP server locally and talks to the FastAPI backend REST API. The public instance does not expose that REST API, so this mode is meant for your own deployment (see Deployment & Operations):

{
  "mcpServers": {
    "ai-odoofinder": {
      "command": "uvx",
      "args": ["ai-odoofinder-mcp"],
      "env": {
        "AI_ODOOFINDER_API_URL": "http://localhost:8989"
      }
    }
  }
}

Requires uv.

Full configuration guide: MCP Client Configurations


Client Compatibility Matrix

Client

Remote URL

Via mcp-remote

Notes

Claude.ai Web

✅

—

Custom connector

Claude Desktop

✅

✅

Connector or bridge

Claude Code CLI

✅

✅

--transport http

ChatGPT Dev Mode

✅

—

Developer Mode

VS Code Copilot

✅

✅

type: http

Cursor

✅

✅

Windsurf

✅

✅

serverUrl

Zed

✅

✅

Antigravity

⚠️

✅

Use the bridge

Full details: See MCP Client Configurations


Deploy Your Own Instance

See docs/en/DEPLOYMENT_OPERATIONS.md for Docker deployment instructions.


Usage

Once connected, simply ask in natural language:

"I need a module for Odoo 17 that handles recurring payments"

Your assistant will call search_odoo_modules and show compatible OCA modules with their repository, summary and GitHub link.

Check the service status:

curl https://addon-finder.eticco.es/health

The FastAPI REST API (/search, /stats) is only exposed in self-hosted deployments (http://localhost:8989).


Tech Stack

Component

Technology

Backend

FastAPI (Python 3.14)

Database

PostgreSQL 17 + pgvector

Embeddings

Qwen3-Embedding-4B via OpenRouter

Enrichment

Grok-4-fast via OpenRouter

MCP Server

FastMCP (Python)

Containers

Docker + Docker Compose

Hosting

Eticco infrastructure (Docker + nginx)


Documentation


Development

Requirements

  • Python 3.14+

  • uv (dependency manager)

  • Docker (for local PostgreSQL)

Local Setup

# Clone
git clone https://github.com/SantipBarber/ai-odoo-finder.git
cd ai-odoo-finder

# Install dependencies
uv sync

# Configure variables
cp .env.example .env
# Edit .env with your credentials

# Start PostgreSQL
docker compose up -d db

# Run ETL (index modules)
uv run python scripts/etl_oca_modules.py

# Start API
uv run uvicorn backend.app.main:app --port 8989

License

MIT - See LICENSE


Author

Santiago Pérez Barber


Acknowledgments

Related MCP Connectors

Related MCP Servers