Odoo AI Telegram MCP
Provides tools for interacting with an Odoo instance, enabling management of CRM leads, sales orders, inventory, accounting, and helpdesk tickets through an MCP server.
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 AI Telegram MCPCreate a lead for Northwind Traders, convert to opportunity, and quote 10 units of Product A."
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 AI Telegram Assistant
Drive a full Odoo instance from Telegram, in plain language. Backed by a custom MCP server exposing 104 Odoo tools across CRM, Sales, Inventory, Accounting and Helpdesk.
I built this because the Odoo web client is a lot of clicking for operations that are conceptually one sentence. Creating a lead, converting it, quoting it, confirming, delivering and invoicing is six screens and a dozen clicks. It should be one message.
> Create a lead for Northwind Traders, convert it to an opportunity,
quote 10 units of Product A, confirm it and invoice it.The orchestrator resolves that into a tool sequence, runs it, and reports back with the record IDs:
crm_create_lead → crm_convert_to_opportunity → crm_create_sale_order
→ sale_confirm_order → stock_validate_delivery → account_create_invoiceIf the result is tabular, it renders a styled PNG or PDF instead of dumping text into the chat.
How it works
Telegram
│
├─ bot.py transport, commands, media
│
├─ ai_processor.py planning and multi-step execution
│ ├─ openrouter.py provider abstraction
│ └─ mcp_client.py tool discovery and invocation
│ │
│ ▼
│ odoo_crm_mcp.py ── XML-RPC ──▶ Odoo
│ (104 MCP tools)
│
└─ brand_renderer.py / pdf_generator.py PNG and PDF outputThe MCP server is the part worth looking at. Rather than giving the model one generic "call Odoo" function and hoping it constructs valid domains, every operation is a typed tool with its own schema. crm_create_lead knows what a lead needs. account_invoice_reconcile knows what reconciliation requires. The model selects tools and fills arguments; it never writes raw ORM calls.
Area | Coverage |
CRM | Leads, opportunities, stages, activities, chatter, won/lost, lead→SO conversion |
Sales | Quotations, order confirmation, order lines, pricing |
Inventory | Deliveries, validation, stock moves |
Accounting | Invoices, credit notes, payment terms, reconciliation, payment registration |
Helpdesk | Tickets and ticket workflow |
Related MCP server: MCP Server for Odoo
Authentication
Users log in with their own Odoo credentials, and every tool call executes as that user. Odoo's access rights and record rules apply unchanged, so the bot cannot do anything the user could not do in the web client.
That matters more than it sounds. It means permissions never get reimplemented in the bot, and a compromised session is bounded by one user's access rather than the whole database.
Privileged operations route through a separate admin bot with an approval step, so destructive actions need a human to sign off instead of being one sentence away in normal chat.
LLM providers
Provider | Notes |
OpenRouter, Groq, Gemini, Anthropic | Hosted. Reliable tool calling. |
Ollama | Fully local. No data leaves the network. |
Switching is one environment variable — the tool-calling layer is provider-agnostic.
The Ollama path exists because ERP data is usually the last thing a business wants leaving its network. It works, but tool-calling reliability on small local models is noticeably worse than on hosted ones. Expect more retries and occasional malformed arguments. Use a hosted provider unless you have a reason not to.
Setup
git clone https://github.com/prashantk8ursrvc-ux/odoo-ai-telegram-mcp.git
cd odoo-ai-telegram-mcp
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # fill in your values
python bot.pyPython 3.10+, and an Odoo instance reachable over XML-RPC.
Configuration
Everything is environment variables — see .env.example.
Variable | Purpose |
| The two Telegram bots |
| Model backend |
| Target instance |
| Report branding (optional) |
Report output is branded through brand_config.py. Company name, colours, typography and the signature block all read from environment variables with neutral defaults, so rebranding needs no code changes.
Known limitations
Credentials are stored in a local JSON file. Fine for a personal deployment, not fine for anything else. Encrypt them at rest before putting this in front of real users.
No test suite. Built iteratively against a live Odoo instance.
104 tools is enough that some models pick wrong on ambiguous prompts. Narrowing the exposed set per user role would help.
Only tested against Odoo 18.
Status
Personal project, published as a reference for building MCP integrations against an ERP. No warranty — read the code before deploying it anywhere that matters.
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
- -license-quality-maintenanceEnables AI assistants to interact with Odoo ERP systems through natural language to search records, create entries, update data, and manage business operations. Supports secure authentication and configurable access controls for production environments.
- Alicense-qualityCmaintenanceEnables AI assistants to interact with Odoo ERP systems through natural language, allowing users to search, create, update, and manage business records like customers, products, and invoices across any Odoo instance.1Mozilla Public 2.0
- AlicenseAqualityBmaintenanceEnables AI agents to interact with Odoo ERP as the authenticated user, with tools for discovery, planning, and mutations bounded by user permissions.34372MIT
- Alicense-qualityDmaintenanceEnables AI assistants to fully interact with Odoo ERP instances over XML-RPC, supporting read and write operations on any model without requiring Odoo module installation.4AGPL 3.0
Related MCP Connectors
Odoo ERP for AI agents: hosted OAuth endpoint, gated writes, one endpoint for every instance.
Multi-tenant Telegram gateway for AI agents — HTTP+stdio, 8 tools, MTProto User API
SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.
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/prashantk8ursrvc-ux/odoo-ai-telegram-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server