PP

papamzor/personal-mcp-servicenow

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

26 stars 9 forks 품질 81 트렌드 19MIT

Started as personal project but evolved into something used widely at my workplace and beyond. MCP server for ServiceNow

개요

MCP server for ServiceNow integration. Uses FastMCP over stdio transport, OAuth 2.0 client credentials. Current release: (25 tools). The 5.0.0 "Boron" surface was breaking — culled 39 → 25 with one minimal response contract. If upgrading from v4, read MIGRATION_v4_to_v5.md. Full history in CHANGELOG.md. † The shipped version string went 4.0.0 → 4.3.0 directly. Neither 4.1.0 nor 4.2.0 was ever released or tagged — "4.1.0" labels a body of work in the CHANGELOG, not an installable version. v4.0 was a breaking release. See MIGRATION_v3_to_v4.md if upgrading from v3. Backwards-compat shims kept all v3 import paths and test-patch targets working for one release cycle; they were deleted in 4.1.0. Import from http_layer, oauth, and filter directly. This works on Windows 11 and macOS and takes about 2 minutes. ask your IT department for 3 things: - Your company's ServiceNow address (looks like https://company.service-now.com) - A Client ID - A Client Secret 1.

README

원문 README의 일부입니다. 원문 보기.

Personal MCP ServiceNow Integration

MCP server for ServiceNow integration. Uses FastMCP over stdio transport, OAuth 2.0 client credentials.


Support This Project


Release highlights

Current release: 5.0.2 (25 tools). The 5.0.0 “Boron” surface was breaking — culled 39 → 25 with one minimal response contract. If upgrading from v4, read MIGRATION_v4_to_v5.md. Full history in CHANGELOG.md.

Release What changed
5.0.2 readOnlyHint served on all 25 tools (19 read / 6 write) so hosts can auto-approve reads. Dependencies locked: uv.lock shipped in the .mcpb (uv run --frozen --no-dev), fastmcp<4 ceiling (4.0.x deferred), direct pins pruned 20 → 6, pip-audit clean. No tool-surface change.
5.0.1 Two silent-data-loss fixes in get_kb_articles_by_state, both found live. A draft filter now finds drafts on already-published articles (the priority collapse hid them — live, 1 reported against 48 real); entries carry states_present and the state filter tests membership. The raw scan no longer inherits max_results, which had made a truncated fetch report the wrong current_state; a capped scan now says scan_incomplete instead of guessing.
5.0.0 “Boron” Breaking. Tool surface culled 39 → 25 (5 diagnostics folded into one health_check; the NL/filter and smart-KB/SLA read tools removed — the host model does NL→filter natively). One minimal response contract across every tool: list {result, returned_count, truncated}, single-record {record}, write {record, message}, failure {error:{code, message}} — no more bare-string returns or result-is-sometimes-a-dict. TableSpec makes per-table config one source of truth; tool selection guidance is a structured registry injected into each docstring. ~2000 lines of dead NL-engine code removed. See MIGRATION_v4_to_v5.md.
4.5.0 Tool-selection docstring protocol on all 39 tools (WHEN TO USE / WHEN NOT TO USE / PREFER OVER / TABLES / SIDE EFFECT / EXAMPLE). Non-breaking — no tool added, removed, or re-signatured. The fatal footguns (LIKE-not-CONTAINS, reference fields hold sys_ids) now sit inline on search_records and filter_records. Static tool-selection preferred-hit rose 21/30 → 29/30, ambiguity 66 → 50 plausible paths.
GitHub에서 전체 README 보기

설치

docker run -d \
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "servicenow": { "command": "python", "args": ["/full/path/to/personal-mcp-servicenow/personal_mcp_servicenow_main.py"] } } }