skills/development/servicenow-docs-mcp/SKILL.md
Add or maintain ServiceNowDocs search capabilities in Happy Platform MCP, including live GitHub lookup, optional local SQLite FTS indexing, and optional vector search
npx skillsauth add happy-technologies-llc/happy-servicenow-skills servicenow-docs-mcpInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill covers adding and maintaining ServiceNow documentation search in Happy Platform MCP using the public ServiceNow/ServiceNowDocs GitHub repository.
Use it when a user asks to:
SN-Docs-* toolsFor installing the MCP server itself, use development/mcp-server-installation. For general MCP server design, use development/mcp-server.
https://github.com/ServiceNow/ServiceNowDocs for live mode or syncbetter-sqlite3 support only when local indexing is enabledThe default docs mode should not require local storage, SQLite, embeddings, or QMD. Agents should be able to list docs families and fetch raw docs directly from GitHub using SN-Docs-Families and SN-Docs-Get.
Default behavior:
localIndexEnabled: false
enableVector: false
embeddingProvider: none
Use live GitHub access for:
npx happy-platform-mcpUse SQLite FTS5 for offline or faster text search, but never make SQLite a startup requirement.
Implementation rules:
better-sqlite3 in optional dependencies.Recommended config shape:
{
"docs": {
"localIndexEnabled": false,
"cacheDir": "~/.happy-platform-mcp/docs/servicenow",
"enableVector": false,
"embeddingProvider": "none"
}
}
Recommended environment variables:
HAPPY_DOCS_ENABLE_LOCAL_INDEX=false
HAPPY_DOCS_CACHE_DIR=
HAPPY_DOCS_ENABLE_VECTOR=false
HAPPY_DOCS_EMBEDDING_PROVIDER=none
Vector search is useful for semantic lookup, but it should be opt-in and provider-gated.
Use this pattern:
enableVector false by default.QMD can be useful for personal experimentation or offline training workflows, but it should not be required by Happy Platform MCP.
Prefer:
Do not add a mandatory QMD dependency to product startup, Docker images, or npm install.
Docs tools should report capability state instead of failing mysteriously.
Expected tool behavior:
| Tool | Local Index Disabled | Local Index Enabled |
|------|----------------------|---------------------|
| SN-Docs-Families | List families from GitHub | List families from GitHub or cache |
| SN-Docs-Get | Fetch raw doc from GitHub | Fetch raw doc from GitHub or cache |
| SN-Docs-Search | Return setup hint | Search SQLite FTS index |
| SN-Docs-Sync | Return setup hint | Sync GitHub docs into SQLite |
| SN-Docs-Status | Report disabled index | Report DB, sync, and vector status |
Before shipping, verify both online and offline-adjacent paths:
npm test
docker build .
Also run a no-SQLite smoke check by temporarily removing or hiding better-sqlite3 from node_modules and confirming that:
SN-Docs-Families worksSN-Docs-Get worksSN-Docs-Status reports SQLite availability accuratelySN-Docs-Search returns an enable-local-index hint instead of crashing| Tool | Purpose | When to Use |
|------|---------|-------------|
| SN-Docs-Families | List available ServiceNow docs families | Discovery and choosing a docs branch/family |
| SN-Docs-Get | Fetch a specific docs markdown file | Direct citation or inspection |
| SN-Docs-Search | Search local FTS docs chunks | Offline or faster text search |
| SN-Docs-Sync | Build or refresh the local docs index | User explicitly enables local docs |
| SN-Docs-Status | Inspect docs config and capability state | Troubleshooting setup |
sys_properties.| Issue | Cause | Resolution |
|-------|-------|------------|
| Docs tools crash on startup | SQLite loaded eagerly | Lazy-load SQLite only when local index is enabled |
| SN-Docs-Search returns setup hint | Local index is disabled | Enable HAPPY_DOCS_ENABLE_LOCAL_INDEX=true or use live SN-Docs-Get |
| Sync fails against GitHub | Rate limit or network issue | Add GitHub token support or retry later |
| Docker image grows unexpectedly | Synced docs or DB copied into image | Keep cache paths outside repo and add generated files to ignore rules |
| Embedding calls happen unexpectedly | Vector provider enabled by default | Default provider to none and require explicit opt-in |
development/mcp-server - General MCP server designdevelopment/mcp-server-installation - Happy Platform MCP installationgenai/ai-search-rag - ServiceNow AI Search and RAG configurationdevelopment/debugging-techniques - Troubleshooting ServiceNow and integration issuestesting
Manage supplier onboarding, qualification, performance monitoring, and offboarding with auditable lifecycle controls
tools
Identify emerging risks, prioritize intake signals, and route candidates into formal GRC risk assessment workflows
documentation
Screen inbound documents for completeness, policy risk, and routing readiness before extraction or case workflows
testing
Generate concise task summaries with status, timeline, blockers, SLA risk, and recommended next actions