Search / io.github.ebmurha/odoo-mcp
Odoo MCP
L0· runs locallyWorkflow-native MCP server for safe Odoo Enterprise back-office operations
v0.3.0 · active · repository · website · descriptor JSON · versions
Search / io.github.ebmurha/odoo-mcp
L0· runs locallyWorkflow-native MCP server for safe Odoo Enterprise back-office operations
v0.3.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"odoo-mcp": {
"command": "uvx",
"args": [
"odoo-erp-mcp==0.3.0",
"--config"
],
"env": {
"ODOO_MCP_ODOO_URL": "${ODOO_MCP_ODOO_URL}",
"ODOO_MCP_ODOO_DATABASE": "${ODOO_MCP_ODOO_DATABASE}",
"ODOO_MCP_ODOO_USERNAME": "${ODOO_MCP_ODOO_USERNAME}",
"ODOO_MCP_ODOO_API_KEY": "${ODOO_MCP_ODOO_API_KEY}",
"ODOO_MCP_ALLOWED_COMPANY_IDS": "${ODOO_MCP_ALLOWED_COMPANY_IDS}",
"ODOO_MCP_DEFAULT_COMPANY_ID": "${ODOO_MCP_DEFAULT_COMPANY_ID}"
}
}
}
}claude mcp add odoo-mcp -e "ODOO_MCP_ODOO_URL=${ODOO_MCP_ODOO_URL}" -e "ODOO_MCP_ODOO_DATABASE=${ODOO_MCP_ODOO_DATABASE}" -e "ODOO_MCP_ODOO_USERNAME=${ODOO_MCP_ODOO_USERNAME}" -e "ODOO_MCP_ODOO_API_KEY=${ODOO_MCP_ODOO_API_KEY}" -e "ODOO_MCP_ALLOWED_COMPANY_IDS=${ODOO_MCP_ALLOWED_COMPANY_IDS}" -e "ODOO_MCP_DEFAULT_COMPANY_ID=${ODOO_MCP_DEFAULT_COMPANY_ID}" -- uvx odoo-erp-mcp==0.3.0 --config[mcp_servers.odoo-mcp]
command = "uvx"
args = ["odoo-erp-mcp==0.3.0", "--config"]
env = { "ODOO_MCP_ODOO_URL" = "${ODOO_MCP_ODOO_URL}", "ODOO_MCP_ODOO_DATABASE" = "${ODOO_MCP_ODOO_DATABASE}", "ODOO_MCP_ODOO_USERNAME" = "${ODOO_MCP_ODOO_USERNAME}", "ODOO_MCP_ODOO_API_KEY" = "${ODOO_MCP_ODOO_API_KEY}", "ODOO_MCP_ALLOWED_COMPANY_IDS" = "${ODOO_MCP_ALLOWED_COMPANY_IDS}", "ODOO_MCP_DEFAULT_COMPANY_ID" = "${ODOO_MCP_DEFAULT_COMPANY_ID}" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"odoo-mcp": {
"type": "local",
"command": [
"uvx",
"odoo-erp-mcp==0.3.0",
"--config"
],
"enabled": true,
"environment": {
"ODOO_MCP_ODOO_URL": "{env:ODOO_MCP_ODOO_URL}",
"ODOO_MCP_ODOO_DATABASE": "{env:ODOO_MCP_ODOO_DATABASE}",
"ODOO_MCP_ODOO_USERNAME": "{env:ODOO_MCP_ODOO_USERNAME}",
"ODOO_MCP_ODOO_API_KEY": "{env:ODOO_MCP_ODOO_API_KEY}",
"ODOO_MCP_ALLOWED_COMPANY_IDS": "{env:ODOO_MCP_ALLOWED_COMPANY_IDS}",
"ODOO_MCP_DEFAULT_COMPANY_ID": "{env:ODOO_MCP_DEFAULT_COMPANY_ID}"
}
}
}
}{
"mcpServers": {
"odoo-mcp": {
"command": "uvx",
"args": [
"odoo-erp-mcp==0.3.0",
"--config"
],
"env": {
"ODOO_MCP_ODOO_URL": "${ODOO_MCP_ODOO_URL}",
"ODOO_MCP_ODOO_DATABASE": "${ODOO_MCP_ODOO_DATABASE}",
"ODOO_MCP_ODOO_USERNAME": "${ODOO_MCP_ODOO_USERNAME}",
"ODOO_MCP_ODOO_API_KEY": "${ODOO_MCP_ODOO_API_KEY}",
"ODOO_MCP_ALLOWED_COMPANY_IDS": "${ODOO_MCP_ALLOWED_COMPANY_IDS}",
"ODOO_MCP_DEFAULT_COMPANY_ID": "${ODOO_MCP_DEFAULT_COMPANY_ID}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=odoo-mcp&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJvZG9vLWVycC1tY3A9PTAuMy4wIiwiLS1jb25maWciXSwiZW52Ijp7Ik9ET09fTUNQX09ET09fVVJMIjoiJHtPRE9PX01DUF9PRE9PX1VSTH0iLCJPRE9PX01DUF9PRE9PX0RBVEFCQVNFIjoiJHtPRE9PX01DUF9PRE9PX0RBVEFCQVNFfSIsIk9ET09fTUNQX09ET09fVVNFUk5BTUUiOiIke09ET09fTUNQX09ET09fVVNFUk5BTUV9IiwiT0RPT19NQ1BfT0RPT19BUElfS0VZIjoiJHtPRE9PX01DUF9PRE9PX0FQSV9LRVl9IiwiT0RPT19NQ1BfQUxMT1dFRF9DT01QQU5ZX0lEUyI6IiR7T0RPT19NQ1BfQUxMT1dFRF9DT01QQU5ZX0lEU30iLCJPRE9PX01DUF9ERUZBVUxUX0NPTVBBTllfSUQiOiIke09ET09fTUNQX0RFRkFVTFRfQ09NUEFOWV9JRH0ifX0%3D"
}{
"servers": {
"odoo-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"odoo-erp-mcp==0.3.0",
"--config"
],
"env": {
"ODOO_MCP_ODOO_URL": "${ODOO_MCP_ODOO_URL}",
"ODOO_MCP_ODOO_DATABASE": "${ODOO_MCP_ODOO_DATABASE}",
"ODOO_MCP_ODOO_USERNAME": "${ODOO_MCP_ODOO_USERNAME}",
"ODOO_MCP_ODOO_API_KEY": "${ODOO_MCP_ODOO_API_KEY}",
"ODOO_MCP_ALLOWED_COMPANY_IDS": "${ODOO_MCP_ALLOWED_COMPANY_IDS}",
"ODOO_MCP_DEFAULT_COMPANY_ID": "${ODOO_MCP_DEFAULT_COMPANY_ID}"
}
}
}
}{
"mcpServers": {
"odoo-mcp": {
"command": "uvx",
"args": [
"odoo-erp-mcp==0.3.0",
"--config"
],
"env": {
"ODOO_MCP_ODOO_URL": "${ODOO_MCP_ODOO_URL}",
"ODOO_MCP_ODOO_DATABASE": "${ODOO_MCP_ODOO_DATABASE}",
"ODOO_MCP_ODOO_USERNAME": "${ODOO_MCP_ODOO_USERNAME}",
"ODOO_MCP_ODOO_API_KEY": "${ODOO_MCP_ODOO_API_KEY}",
"ODOO_MCP_ALLOWED_COMPANY_IDS": "${ODOO_MCP_ALLOWED_COMPANY_IDS}",
"ODOO_MCP_DEFAULT_COMPANY_ID": "${ODOO_MCP_DEFAULT_COMPANY_ID}"
}
}
}
}extensions:
"odoo-mcp":
enabled: true
name: "odoo-mcp"
type: stdio
cmd: "uvx"
args:
- "odoo-erp-mcp==0.3.0"
- "--config"
envs:
"ODOO_MCP_ODOO_URL": "${ODOO_MCP_ODOO_URL}"
"ODOO_MCP_ODOO_DATABASE": "${ODOO_MCP_ODOO_DATABASE}"
"ODOO_MCP_ODOO_USERNAME": "${ODOO_MCP_ODOO_USERNAME}"
"ODOO_MCP_ODOO_API_KEY": "${ODOO_MCP_ODOO_API_KEY}"
"ODOO_MCP_ALLOWED_COMPANY_IDS": "${ODOO_MCP_ALLOWED_COMPANY_IDS}"
"ODOO_MCP_DEFAULT_COMPANY_ID": "${ODOO_MCP_DEFAULT_COMPANY_ID}"
timeout: 300
Placeholders to fill from your own secret store: ${ODOO_MCP_ODOO_API_KEY}. The registry never accepts secret values.
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulns2 advisories of lower severity or without a published fix: GHSA-42vr-xj54-vc7v in [email protected] (direct, fixed in 2.15.0), GHSA-x33g-cr3x-6449 in [email protected] (direct, fixed in 2.15.0)deps.mcp_sdk_versionmcp 2.2.0, no known advisorydeps.resolvable[email protected] resolved: 38 packagesNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website ~liveness-unmeasured +updated-22d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
[email protected] PyPI37 dependencies, resolved · MCP SDK mcp 2.2.0 · advisories checked 2026-10-19
| advisory | severity | package | fixed in |
|---|---|---|---|
| GHSA-42vr-xj54-vc7vPyJWT: Unauthenticated RecursionError DoS in pre-verification payload parse (PyJWKClient.get_signing_key_from_jwt / verify_signature=False) | moderate | [email protected]direct | fixed in 2.15.0 |
| GHSA-x33g-cr3x-6449PyJWT accepts inconsistent OKP x/d JWKs, causing public/private key identity confusion | moderate | [email protected]direct | fixed in 2.15.0 |
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
odoo-erp-mcp | pypi | 0.3.0 | uvx | ODOO_MCP_ODOO_API_KEY |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
{
"name": "io.github.ebmurha/odoo-mcp",
"icons": [
{
"src": "https://raw.githubusercontent.com/ebmurha/odoo-mcp/main/assets/odoo-mcp-logo.png",
"sizes": [
"256x256"
],
"mimeType": "image/png"
}
],
"title": "Odoo MCP",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "0.3.0",
"packages": [
{
"version": "0.3.0",
"transport": {
"type": "stdio"
},
"identifier": "odoo-erp-mcp",
"runtimeHint": "uvx",
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org",
"packageArguments": [
{
"name": "--config",
"type": "named",
"format": "filepath",
"isRequired": true,
"description": "Path to the MCP permission configuration"
}
],
"environmentVariables": [
{
"name": "ODOO_MCP_ODOO_URL",
"isRequired": true,
"description": "Base URL of the Odoo Enterprise deployment"
},
{
"name": "ODOO_MCP_ODOO_DATABASE",
"isRequired": true,
"description": "Odoo database name"
},
{
"name": "ODOO_MCP_ODOO_USERNAME",
"isRequired": true,
"description": "Dedicated Odoo technical-user login"
},
{
"name": "ODOO_MCP_ODOO_API_KEY",
"isSecret": true,
"isRequired": true,
"description": "API key for the dedicated Odoo technical user"
},
{
"name": "ODOO_MCP_ALLOWED_COMPANY_IDS",
"isRequired": true,
"description": "Comma-separated authorized Odoo company IDs"
},
{
"name": "ODOO_MCP_DEFAULT_COMPANY_ID",
"isRequired": true,
"description": "Default authorized Odoo company ID"
}
]
}
],
"repository": {
"url": "https://github.com/ebmurha/odoo-mcp",
"source": "github"
},
"websiteUrl": "https://github.com/ebmurha/odoo-mcp",
"description": "Workflow-native MCP server for safe Odoo Enterprise back-office operations"
}