Odoo MCP Server

Integrations

  • Optional dependency that can be included when running the server to support numerical computing operations when processing Odoo data.

  • Provides comprehensive access to Odoo ERP systems, enabling interaction with models, records, and methods. Includes tools for searching, reading, creating, updating, and deleting records, executing custom methods, and retrieving model metadata through an XML-RPC connection to Odoo instances.

  • Optional dependency that can be included when running the server to support data manipulation and analysis of Odoo records and datasets.

오두 MCP 서버

Odoo ERP 시스템과 통합된 MCP 서버 구현으로, AI 어시스턴트가 Model Context Protocol을 통해 Odoo 데이터 및 기능과 상호 작용할 수 있습니다.

특징

  • 포괄적인 Odoo 통합 : Odoo 모델, 레코드 및 방법에 대한 전체 액세스
  • XML-RPC 통신 : XML-RPC를 통한 Odoo 인스턴스에 대한 보안 연결
  • 유연한 구성 : 구성 파일 및 환경 변수 지원
  • 리소스 패턴 시스템 : Odoo 데이터 구조에 대한 URI 기반 액세스
  • 오류 처리 : 일반적인 Odoo API 문제에 대한 명확한 오류 메시지
  • 무상태 운영 : 안정적인 통합을 위한 깔끔한 요청/응답 주기

도구

  • 검색_레코드
    • 모든 Odoo 모델에서 레코드 검색
    • 입력:
      • model (문자열): 모델 이름(예: 'res.partner')
      • domain (배열): 도메인 검색(예: [['is_company', '=', true]])
      • fields (선택적 배열): 가져올 선택적 필드
      • limit (선택적 숫자): 반환할 최대 레코드 수
    • 반환: 요청된 필드와 일치하는 레코드
  • 읽기_레코드
    • 특정 레코드의 세부 정보 읽기
    • 입력:
      • model (문자열): 모델 이름(예: 'res.partner')
      • id (숫자): 레코드 ID
      • fields (선택적 배열): 가져올 선택적 필드
    • 반환: 요청된 필드가 있는 레코드 데이터
  • 레코드 생성
    • Odoo에서 새 레코드 만들기
    • 입력:
      • model (문자열): 모델 이름(예: 'res.partner')
      • values (객체): 필드 값의 사전
    • 반환: 새 레코드 ID가 있는 사전
  • 업데이트_레코드
    • 기존 레코드 업데이트
    • 입력:
      • model (문자열): 모델 이름(예: 'res.partner')
      • id (숫자): 레코드 ID
      • values (객체): 업데이트할 필드 값의 사전
    • 반환: 성공을 나타내는 사전
  • 삭제_레코드
    • Odoo에서 레코드 삭제
    • 입력:
      • model (문자열): 모델 이름(예: 'res.partner')
      • id (숫자): 레코드 ID
    • 반환: 성공을 나타내는 사전
  • 실행_방법
    • Odoo 모델에서 사용자 정의 메서드 실행
    • 입력:
      • model (문자열): 모델 이름(예: 'res.partner')
      • method (문자열): 실행할 메서드 이름
      • args (선택적 배열): 위치 인수
      • kwargs (선택적 객체): 키워드 인수
    • 반환: 메서드 결과가 있는 사전
  • get_model_fields
    • 모델에 대한 필드 정의 가져오기
    • 입력:
      • model (문자열): 모델 이름(예: 'res.partner')
    • 반환: 필드 정의가 있는 사전
  • 직원 검색
    • 이름으로 직원을 검색하세요.
    • 입력:
      • name (문자열): 검색할 이름(또는 이름의 일부).
      • limit (선택적 숫자): 반환할 결과의 최대 개수(기본값 20).
    • 반환값: 일치하는 직원 이름과 ID 목록입니다.
  • 검색_휴일
    • 지정된 날짜 범위 내의 휴일을 검색합니다.
    • 입력:
      • start_date (문자열): YYYY-MM-DD 형식의 시작 날짜.
      • end_date (문자열): YYYY-MM-DD 형식의 종료 날짜.
      • employee_id (선택적 숫자): 휴일을 필터링하기 위한 선택적 직원 ID입니다.
    • 반환: 찾은 휴일 목록입니다.

자원

  • 오두://모델
    • Odoo 시스템에서 사용 가능한 모든 모델을 나열합니다.
    • 반환: 모델 정보의 JSON 배열
  • 오두://모델/{모델_이름}
    • 필드를 포함한 특정 모델에 대한 정보를 얻으세요
    • 예: odoo://model/res.partner
    • 반환: 모델 메타데이터 및 필드 정의가 포함된 JSON 객체
  • odoo://record/{모델_이름}/{레코드_아이디}
    • ID로 특정 레코드 가져오기
    • 예: odoo://record/res.partner/1
    • 반환: 레코드 데이터가 포함된 JSON 객체
  • odoo://search/{모델_이름}/{도메인}
    • 도메인과 일치하는 레코드 검색
    • 예: odoo://search/res.partner/[["is_company","=",true]]
    • 반환: 일치하는 레코드의 JSON 배열(기본적으로 10개로 제한됨)

구성

Odoo 연결 설정

  1. odoo_config.json 이라는 이름의 구성 파일을 만듭니다.

지엑스피1

  1. 또는 환경 변수를 사용하세요.
    • ODOO_URL : Odoo 서버 URL
    • ODOO_DB : 데이터베이스 이름
    • ODOO_USERNAME : 로그인 사용자 이름
    • ODOO_PASSWORD : 비밀번호 또는 API 키
    • ODOO_TIMEOUT : 연결 시간 초과(초) (기본값: 30)
    • ODOO_VERIFY_SSL : SSL 인증서를 검증할지 여부(기본값: true)
    • HTTP_PROXY : ODOO 연결이 HTTP 프록시를 사용하도록 강제합니다.

Claude Desktop과 함께 사용

claude_desktop_config.json 에 다음을 추가하세요:

{ "mcpServers": { "odoo": { "command": "python", "args": [ "-m", "odoo_mcp" ], "env": { "ODOO_URL": "https://your-odoo-instance.com", "ODOO_DB": "your-database-name", "ODOO_USERNAME": "your-username", "ODOO_PASSWORD": "your-password-or-api-key" } } } }

도커

{ "mcpServers": { "odoo": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "ODOO_URL", "-e", "ODOO_DB", "-e", "ODOO_USERNAME", "-e", "ODOO_PASSWORD", "mcp/odoo" ], "env": { "ODOO_URL": "https://your-odoo-instance.com", "ODOO_DB": "your-database-name", "ODOO_USERNAME": "your-username", "ODOO_PASSWORD": "your-password-or-api-key" } } } }

설치

파이썬 패키지

pip install odoo-mcp

서버 실행

# Using the installed package odoo-mcp # Using the MCP development tools mcp dev odoo_mcp/server.py # With additional dependencies mcp dev odoo_mcp/server.py --with pandas --with numpy # Mount local code for development mcp dev odoo_mcp/server.py --with-editable .

짓다

Docker 빌드:

docker build -t mcp/odoo:latest -f Dockerfile .

매개변수 형식 지침

Odoo용 MCP 도구를 사용할 때 다음 매개변수 형식 지침에 주의하세요.

  1. 도메인 매개변수 :
    • 다음 도메인 형식이 지원됩니다.
      • 목록 형식: [["field", "operator", value], ...]
      • 객체 형식: {"conditions": [{"field": "...", "operator": "...", "value": "..."}]}
      • 두 가지 형식의 JSON 문자열
    • 예:
      • 목록 형식: [["is_company", "=", true]]
      • 객체 형식: {"conditions": [{"field": "date_order", "operator": ">=", "value": "2025-03-01"}]}
      • 여러 조건: [["date_order", ">=", "2025-03-01"], ["date_order", "<=", "2025-03-31"]]
  2. 필드 매개변수 :
    • 필드 이름 배열이어야 합니다: ["name", "email", "phone"]
    • 서버는 문자열 입력을 JSON으로 구문 분석하려고 시도합니다.

특허

이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여되었습니다.

-
security - not tested
F
license - not found
-
quality - not tested

Odoo ERP 시스템과 통합된 구현으로, AI 어시스턴트가 Model Context Protocol을 통해 Odoo 데이터 및 기능과 상호 작용할 수 있습니다.

  1. Features
    1. Tools
      1. Resources
        1. Configuration
          1. Odoo Connection Setup
          2. Usage with Claude Desktop
          3. Docker
        2. Installation
          1. Python Package
          2. Running the Server
        3. Build
          1. Parameter Formatting Guidelines
            1. License
              ID: 142dbb6v2m