Odoo OSI MCP
Provides tools for discovering, evaluating, comparing, and recommending open-source Odoo modules, including search, module inspection, code search, solution finding, and dependency analysis.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Odoo OSI MCPSearch for an OCA module that handles multi-level purchase approval"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Odoo Open Source Intelligence
Odoo Open Source Intelligence, or Odoo OSI, is an enterprise-grade platform for discovering, evaluating, comparing, and recommending open-source Odoo modules before teams write custom code.
The AI-facing interface is Odoo OSI MCP, an unofficial MCP server that lets coding agents search and inspect indexed OCA and trusted open-source Odoo repositories.
Odoo OSI is not affiliated with, endorsed by, or sponsored by the Odoo Community Association (OCA) or Odoo S.A. OCA and Odoo names are used only to identify public open-source repositories and ecosystem references.
Current Build Stage
This repository now has the first working backend and MCP vertical slice:
FastAPI API for health, repositories, modules, search, code search, and solution finding
PostgreSQL schema and Alembic migration for repositories, branches, modules, dependencies, source files, and symbols
GitHub/OCA ingestion for repositories, Odoo version branches, manifests, metadata, dependencies, and selected source files
Odoo-aware Python, XML, CSV security, and README extraction
requirement-to-module search with version, license, manifest, and indexed document signals
source-backed recommendation evidence
cross-version recommendation candidates with migration/backport guidance
live GitHub/OCA fallback for likely modules that are not indexed yet
MCP server with search, solution, code, module, and dependency tools
persisted indexing job ledger surfaced through
/indexing/statuslocal PostgreSQL and Redis configuration
linting and test coverage
Related MCP server: Code Search MCP
Quick Start
Follow these steps to run Odoo OSI locally from a fresh clone.
1. Prerequisites
Install:
Python 3.11 or newer
Docker and Docker Compose
Git
A GitHub personal access token for practical indexing and fallback search
2. Clone The Repository
git clone https://github.com/krishnakantjoshi/odoo-osi-mcp.git
cd odoo-osi-mcp3. Create Local Configuration
cp .env.example .envOpen .env and set your own GitHub token:
ODOO_OSI_GITHUB_TOKEN=YOUR_GITHUB_TOKEN.env is ignored by git. Do not commit real tokens.
4. Start PostgreSQL And Redis
docker compose up -d postgres redis5. Create A Python Environment
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,mcp]"On Windows PowerShell, activate the virtual environment with:
.\.venv\Scripts\Activate.ps16. Run Database Migrations
alembic upgrade head7. Start The API Server
uvicorn odoo_osi.api.app:create_app --factory --reloadCheck the API:
curl http://127.0.0.1:8000/health
curl http://127.0.0.1:8000/indexing/status8. Discover And Index A Small Sample
In another terminal, activate the virtual environment again:
source .venv/bin/activateDiscover module manifests from one OCA repository:
odoo-osi discover-oca \
--repository purchase-workflow \
--odoo-version 18.0 \
--branch-limit 1 \
--module-limit 20 \
--persistIndex source evidence for a small set of modules:
odoo-osi index-source \
--repository purchase-workflow \
--odoo-version 18.0 \
--module-limit 10 \
--file-limit 30Check coverage:
odoo-osi coverage
curl http://127.0.0.1:8000/indexing/coverage9. Search For Modules
curl -X POST http://127.0.0.1:8000/solutions/find \
-H "Content-Type: application/json" \
-d '{"requirement":"multi level purchase approval","odoo_version":"18.0","limit":5}'10. Run The MCP Server
For a local MCP client, use stdio:
odoo-osi run-mcpMost MCP clients use a config like this:
{
"mcpServers": {
"odoo-osi": {
"command": "/absolute/path/to/odoo-osi-mcp/.venv/bin/odoo-osi",
"args": ["run-mcp"],
"cwd": "/absolute/path/to/odoo-osi-mcp",
"env": {
"ODOO_OSI_GITHUB_TOKEN": "REPLACE_WITH_YOUR_OWN_GITHUB_TOKEN"
}
}
}
}The same example is in mcp.json.example. If your MCP client does not support
env, put the token in your local .env instead.
11. Run Tests
python -m ruff check .
python -m pytestExample Prompts
After configuring the MCP server in your AI coding tool, try these prompts.
Check Index Coverage
Use the odoo-osi MCP server.
Before searching for modules, call get_coverage_report and summarize:
1. how many modules are indexed
2. how many modules have source evidence
3. whether results should be treated as complete or partial
4. what indexing step I should run nextFind An Existing Module Before Custom Development
Use the odoo-osi MCP server.
I am developing on Odoo 18 Community.
Requirement:
I need a multi-level purchase approval workflow.
Before writing custom code, check whether an existing open-source Odoo/OCA module satisfies
this requirement.
Return exact-version matches first, then older-version migration candidates, then discovered
but not indexed candidates. Include module name, repository, license warning, evidence level,
version status, migration effort, source evidence, README evidence, security-rule evidence,
and indexing guidance.
Do not generate custom code until I review the MCP result.Inspect A Candidate Module
Use the odoo-osi MCP server.
Inspect the module purchase_request from OCA/purchase-workflow for Odoo 18.0.
Summarize:
1. manifest metadata
2. dependencies
3. license warnings
4. models and inherited models
5. views, actions, and menus
6. security access rules
7. README evidence
8. whether it is safe to use as implementation referenceSearch For A Code Pattern
Use the odoo-osi MCP server.
Search indexed OCA source for modules that extend purchase.order in Odoo 18.0.
Return the repository, module, file path, symbol type, model name, inherited model, and any
useful XML IDs.Prepare A Development Brief
Use the odoo-osi MCP result as the primary reference.
Target:
- Odoo version: 18.0
- Edition: Community
- Organization/developer: Your Org
- Technical module prefix: your_org
- New module technical name: your_org_purchase_approval
Produce a development brief, branding brief, exact file plan, and minimal test plan.
Do not write code until the brief and file plan are approved.For full prompt templates, see AI Development Brief Guide.
Troubleshooting
Database connection fails: run
docker compose up -d postgres redis, then rerunalembic upgrade head.GitHub rate limits: set
ODOO_OSI_GITHUB_TOKENin.env.MCP client cannot find
odoo-osi: use the absolute path to.venv/bin/odoo-osiin your MCP config.Search returns few results: run discovery and source indexing first. A fresh database has no indexed modules.
Local Credentials
There are two different GitHub credentials you may use:
GitHub personal access token: used by Odoo OSI to call the GitHub API for indexing and fallback search.
SSH key: used by git itself when you push or pull repositories over SSH.
GitHub API Token
Create a fine-grained personal access token in GitHub:
Open GitHub.
Go to Settings.
Open Developer settings.
Open Personal access tokens.
Choose Fine-grained tokens.
Generate a new token.
Use the minimum access needed. For public OCA indexing, read-only public repository access is enough.
Put that token in your local .env file:
ODOO_OSI_GITHUB_TOKEN=YOUR_GITHUB_TOKEN.env is ignored by git. If your MCP client uses a private mcp.json, that file is ignored too.
Do not put real tokens in mcp.json.example, docs, tests, or committed source.
GitHub docs:
Git SSH Key
For git push/pull access over SSH, keep your SSH key outside the repo, usually in ~/.ssh, and
add the public key to your Git hosting provider.
On macOS/Linux:
ssh-keygen -t ed25519 -C "your_email@example.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pubCopy the public key output and add it in GitHub under Settings > SSH and GPG keys > New SSH key. Never copy or commit the private key file.
GitHub docs:
API Endpoints
The health endpoint:
GET /healthKey working endpoints:
GET /repositories
GET /modules
POST /search
POST /search/code
POST /solutions/findRoadmap
See ROADMAP.md.
Ingestion
See docs/ingestion.md for GitHub token setup and indexing commands.
MCP
See docs/mcp.md for the Odoo OSI MCP server commands and tools.
Project Status And Notices
This project is unofficial; see NOTICE.md.
Contributions are welcome; see CONTRIBUTING.md.
Security reporting and credential guidance are in SECURITY.md.
Privacy and hosted deployment notes are in PRIVACY.md.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceFacilitates searching and accessing programming resources across platforms like Stack Overflow, MDN, GitHub, npm, and PyPI, aiding LLMs in finding code examples and documentation.642AGPL 3.0
- Flicense-qualityDmaintenanceEnables LLMs to perform high-performance code search and analysis across multiple languages using symbol indexing, regex text search, and structural AST pattern matching. It also provides tools for technology stack detection and dependency analysis with persistent caching for optimized performance.7
- Alicense-qualityDmaintenanceEnables LLMs to search Odoo modules in OCA repositories using hybrid search (semantic + full-text) for finding the perfect module quickly.8MIT
- AlicenseAqualityCmaintenanceEnables AI agents to prospect across GitHub, PyPI, and npm, searching repositories, packages, and code patterns with read-only tools.73MIT
Related MCP Connectors
Evidence-backed open-source project search, recommendations, alternatives, and comparisons.
Open-source SEO manager for coding agents: keyword research, content PRs, rank + Search Console.
Search public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/krishnakantjoshi/odoo-osi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server