오두 MCP 서버
Odoo ERP 시스템과 통합된 MCP 서버 구현으로, AI 어시스턴트가 Model Context Protocol을 통해 Odoo 데이터 및 기능과 상호 작용할 수 있습니다.
특징
- 포괄적인 Odoo 통합 : Odoo 모델, 레코드 및 방법에 대한 전체 액세스
- XML-RPC 통신 : XML-RPC를 통한 Odoo 인스턴스에 대한 보안 연결
- 유연한 구성 : 구성 파일 및 환경 변수 지원
- 리소스 패턴 시스템 : Odoo 데이터 구조에 대한 URI 기반 액세스
- 오류 처리 : 일반적인 Odoo API 문제에 대한 명확한 오류 메시지
- 무상태 운영 : 안정적인 통합을 위한 깔끔한 요청/응답 주기
도구
- 실행_방법
- Odoo 모델에서 사용자 정의 메서드 실행
- 입력:
model
(문자열): 모델 이름(예: 'res.partner')method
(문자열): 실행할 메서드 이름args
(선택적 배열): 위치 인수kwargs
(선택적 객체): 키워드 인수
- 반환: 메서드 결과 및 성공 표시기가 있는 사전
- 직원 검색
- 이름으로 직원 검색
- 입력:
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 연결 설정
odoo_config.json
이라는 이름의 구성 파일을 만듭니다.
지엑스피1
- 또는 환경 변수를 사용하세요.
ODOO_URL
: Odoo 서버 URLODOO_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"
}
}
}
}
설치
파이썬 패키지
서버 실행
# 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 도구를 사용할 때 다음 매개변수 형식 지침에 주의하세요.
- 도메인 매개변수 :
- 다음 도메인 형식이 지원됩니다.
- 목록 형식:
[["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"]]
- 필드 매개변수 :
- 필드 이름 배열이어야 합니다:
["name", "email", "phone"]
- 서버는 문자열 입력을 JSON으로 구문 분석하려고 시도합니다.
특허
이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여되었습니다.