ServiceNow MCP 서버
ServiceNow와 연동되는 모델 컨텍스트 프로토콜(MCP) 서버로, AI 에이전트가 안전한 API를 통해 ServiceNow 데이터에 접근하고 조작할 수 있도록 지원합니다. 이 서버는 ServiceNow와의 자연어 상호작용을 지원하여 레코드 검색, 업데이트, 스크립트 관리를 더욱 간편하게 해줍니다.
특징
자원
servicenow://incidents: 최근 인시던트 목록servicenow://incidents/{number}: 번호로 특정 인시던트를 가져옵니다.servicenow://users: 사용자 목록servicenow://knowledge: 지식 문서 목록servicenow://tables: 사용 가능한 테이블 나열servicenow://tables/{table}: 특정 테이블에서 레코드를 가져옵니다.servicenow://schema/{table}: 테이블의 스키마를 가져옵니다.
도구
기본 도구
create_incident: 새로운 인시던트를 생성합니다update_incident: 기존 인시던트 업데이트search_records: 텍스트 쿼리를 사용하여 레코드 검색get_record: sys_id로 특정 레코드 가져오기perform_query: ServiceNow에 대한 쿼리를 수행합니다.add_comment: 사건에 대한 코멘트 추가(고객에게 표시됨)add_work_notes: 인시던트에 작업 메모 추가(내부)
자연어 도구
natural_language_search: 자연어를 사용하여 레코드를 검색합니다(예: "SAP에 대한 모든 인시던트 찾기")natural_language_update: 자연어를 사용하여 레코드를 업데이트합니다(예: "INC0010001 사건을 업데이트하여 현재 작업 중임을 알립니다").update_script: ServiceNow 스크립트 파일(스크립트 포함, 비즈니스 규칙 등)을 업데이트합니다.
Related MCP server: SupaUI MCP Server
설치
PyPI에서
지엑스피1
출처에서
git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp
pip install -e .용법
명령줄
Python 모듈을 사용하여 서버를 실행합니다.
python -m mcp_server_servicenow.cli --url "https://your-instance.service-now.com/" --username "your-username" --password "your-password"또는 환경 변수를 사용하세요.
export SERVICENOW_INSTANCE_URL="https://your-instance.service-now.com/"
export SERVICENOW_USERNAME="your-username"
export SERVICENOW_PASSWORD="your-password"
python -m mcp_server_servicenow.cli클라인에서의 구성
Cline과 함께 이 MCP 서버를 사용하려면 MCP 설정 파일에 다음을 추가하세요.
{
"mcpServers": {
"servicenow": {
"command": "/path/to/your/python/executable",
"args": [
"-m",
"mcp_server_servicenow.cli",
"--url", "https://your-instance.service-now.com/",
"--username", "your-username",
"--password", "your-password"
],
"disabled": false,
"autoApprove": []
}
}
}참고: mcp-server-servicenow 패키지가 설치된 Python 실행 파일의 전체 경로를 사용해야 합니다.
자연어 예시
기록 검색
자연어 쿼리를 사용하여 레코드를 검색할 수 있습니다.
find all incidents about email
search for incidents related to network issues
show me all incidents with high priority기록 업데이트
자연어 명령을 사용하여 레코드를 업데이트할 수 있습니다.
Update incident INC0010001 saying I'm working on it
Set incident INC0010002 to in progress
Close incident INC0010003 with resolution: fixed the issue스크립트 관리
로컬 파일에서 ServiceNow 스크립트를 업데이트할 수 있습니다.
Update the ServiceNow script include "HelloWorld" with the contents of hello_world.js
Upload utils.js to ServiceNow as a script include named "UtilityFunctions"
Update @form_validation.js, it's a client script called "FormValidation"인증 방법
서버는 여러 가지 인증 방법을 지원합니다.
기본 인증 : 사용자 이름 및 비밀번호
토큰 인증 : OAuth 토큰
OAuth 인증 : 클라이언트 ID, 클라이언트 비밀번호, 사용자 이름 및 비밀번호
개발
필수 조건
파이썬 3.8 이상
API 액세스가 가능한 ServiceNow 인스턴스
개발 환경 설정
# Clone the repository
git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev]"테스트 실행
pytest기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
저장소를 포크하세요
기능 브랜치를 생성합니다(
git checkout -b feature/amazing-feature)변경 사항을 커밋하세요(
git commit -m 'Add some amazing feature')브랜치에 푸시(
git push origin feature/amazing-feature)풀 리퀘스트 열기
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.