Skip to main content
Glama

Odoo MCP Server

__main__.py1.83 kB
""" Command line entry point for the Odoo MCP Server """ import sys import asyncio import traceback import os from .server import mcp def main() -> int: """ Run the MCP server """ try: print("=== ODOO MCP SERVER STARTING ===", file=sys.stderr) print(f"Python version: {sys.version}", file=sys.stderr) print("Environment variables:", file=sys.stderr) for key, value in os.environ.items(): if key.startswith("ODOO_"): if key == "ODOO_PASSWORD": print(f" {key}: ***hidden***", file=sys.stderr) else: print(f" {key}: {value}", file=sys.stderr) # Check if server instance has the run_stdio method methods = [method for method in dir(mcp) if not method.startswith('_')] print(f"Available methods on mcp object: {methods}", file=sys.stderr) print("Starting MCP server with run() method...", file=sys.stderr) sys.stderr.flush() # Ensure log information is written immediately # Use the run() method directly mcp.run() # If execution reaches here, the server exited normally print("MCP server stopped normally", file=sys.stderr) return 0 except KeyboardInterrupt: print("MCP server stopped by user", file=sys.stderr) return 0 except Exception as e: print(f"Error starting server: {e}", file=sys.stderr) print("Exception details:", file=sys.stderr) traceback.print_exc(file=sys.stderr) print("\nServer object information:", file=sys.stderr) print(f"MCP object type: {type(mcp)}", file=sys.stderr) print(f"MCP object dir: {dir(mcp)}", file=sys.stderr) return 1 if __name__ == "__main__": sys.exit(main())

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/tuanle96/mcp-odoo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server