@get-technology-inc/jamf-docs-mcp-server 0.0.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +189 -29
  3. package/dist/constants.d.ts +260 -0
  4. package/dist/constants.d.ts.map +1 -0
  5. package/dist/constants.js +303 -0
  6. package/dist/constants.js.map +1 -0
  7. package/dist/index.d.ts +9 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +36 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/schemas/index.d.ts +98 -0
  12. package/dist/schemas/index.d.ts.map +1 -0
  13. package/dist/schemas/index.js +110 -0
  14. package/dist/schemas/index.js.map +1 -0
  15. package/dist/services/cache.d.ts +56 -0
  16. package/dist/services/cache.d.ts.map +1 -0
  17. package/dist/services/cache.js +189 -0
  18. package/dist/services/cache.js.map +1 -0
  19. package/dist/services/scraper.d.ts +62 -0
  20. package/dist/services/scraper.d.ts.map +1 -0
  21. package/dist/services/scraper.js +568 -0
  22. package/dist/services/scraper.js.map +1 -0
  23. package/dist/services/tokenizer.d.ts +77 -0
  24. package/dist/services/tokenizer.d.ts.map +1 -0
  25. package/dist/services/tokenizer.js +274 -0
  26. package/dist/services/tokenizer.js.map +1 -0
  27. package/dist/tools/get-article.d.ts +7 -0
  28. package/dist/tools/get-article.d.ts.map +1 -0
  29. package/dist/tools/get-article.js +195 -0
  30. package/dist/tools/get-article.js.map +1 -0
  31. package/dist/tools/get-toc.d.ts +7 -0
  32. package/dist/tools/get-toc.d.ts.map +1 -0
  33. package/dist/tools/get-toc.js +172 -0
  34. package/dist/tools/get-toc.js.map +1 -0
  35. package/dist/tools/list-products.d.ts +7 -0
  36. package/dist/tools/list-products.d.ts.map +1 -0
  37. package/dist/tools/list-products.js +132 -0
  38. package/dist/tools/list-products.js.map +1 -0
  39. package/dist/tools/search.d.ts +7 -0
  40. package/dist/tools/search.d.ts.map +1 -0
  41. package/dist/tools/search.js +212 -0
  42. package/dist/tools/search.js.map +1 -0
  43. package/dist/types.d.ts +197 -0
  44. package/dist/types.d.ts.map +1 -0
  45. package/dist/types.js +28 -0
  46. package/dist/types.js.map +1 -0
  47. package/package.json +68 -6
@@ -0,0 +1,197 @@
1
+ /**
2
+ * Type definitions for Jamf Docs MCP Server
3
+ */
4
+ import { ResponseFormat, ProductId, TopicId } from './constants.js';
5
+ /**
6
+ * Token information for response size management
7
+ */
8
+ export interface TokenInfo {
9
+ tokenCount: number;
10
+ truncated: boolean;
11
+ maxTokens: number;
12
+ }
13
+ /**
14
+ * Pagination information for paginated responses
15
+ */
16
+ export interface PaginationInfo {
17
+ page: number;
18
+ pageSize: number;
19
+ totalPages: number;
20
+ totalItems: number;
21
+ hasNext: boolean;
22
+ hasPrev: boolean;
23
+ }
24
+ /**
25
+ * Article section information for section filtering
26
+ */
27
+ export interface ArticleSection {
28
+ id: string;
29
+ title: string;
30
+ level: number;
31
+ tokenCount: number;
32
+ }
33
+ export interface JamfProduct {
34
+ id: ProductId;
35
+ name: string;
36
+ description: string;
37
+ urlPattern: string;
38
+ bundleId: string;
39
+ latestVersion: string;
40
+ versions: readonly string[];
41
+ }
42
+ export interface ProductListResponse {
43
+ products: Array<{
44
+ id: string;
45
+ name: string;
46
+ description: string;
47
+ currentVersion: string;
48
+ availableVersions: string[];
49
+ }>;
50
+ tokenInfo: TokenInfo;
51
+ }
52
+ export interface SearchParams {
53
+ query: string;
54
+ product?: ProductId | undefined;
55
+ version?: string | undefined;
56
+ topic?: TopicId | undefined;
57
+ limit?: number | undefined;
58
+ page?: number | undefined;
59
+ maxTokens?: number | undefined;
60
+ responseFormat?: ResponseFormat | undefined;
61
+ }
62
+ export interface SearchResult {
63
+ title: string;
64
+ url: string;
65
+ snippet: string;
66
+ product: string;
67
+ version?: string;
68
+ relevance?: number;
69
+ }
70
+ export interface SearchResponse {
71
+ total: number;
72
+ results: SearchResult[];
73
+ query: string;
74
+ filters?: {
75
+ product?: string;
76
+ version?: string;
77
+ topic?: string;
78
+ };
79
+ tokenInfo: TokenInfo;
80
+ pagination: PaginationInfo;
81
+ }
82
+ export interface GetArticleParams {
83
+ url: string;
84
+ includeRelated?: boolean;
85
+ section?: string | undefined;
86
+ maxTokens?: number | undefined;
87
+ responseFormat?: ResponseFormat;
88
+ }
89
+ export interface ParsedArticle {
90
+ title: string;
91
+ content: string;
92
+ url: string;
93
+ product?: string | undefined;
94
+ version?: string | undefined;
95
+ lastUpdated?: string | undefined;
96
+ breadcrumb?: string[] | undefined;
97
+ relatedArticles?: Array<{
98
+ title: string;
99
+ url: string;
100
+ }> | undefined;
101
+ }
102
+ export interface ArticleResponse extends ParsedArticle {
103
+ format: ResponseFormat;
104
+ tokenInfo: TokenInfo;
105
+ sections: ArticleSection[];
106
+ }
107
+ export interface GetTocParams {
108
+ product: ProductId;
109
+ version?: string;
110
+ page?: number | undefined;
111
+ maxTokens?: number | undefined;
112
+ }
113
+ export interface TocEntry {
114
+ title: string;
115
+ url: string;
116
+ children?: TocEntry[];
117
+ }
118
+ export interface TocResponse {
119
+ product: string;
120
+ version: string;
121
+ toc: TocEntry[];
122
+ tokenInfo: TokenInfo;
123
+ pagination: PaginationInfo;
124
+ }
125
+ export interface CacheEntry<T> {
126
+ data: T;
127
+ timestamp: number;
128
+ ttl: number;
129
+ }
130
+ export interface CacheOptions {
131
+ ttl?: number;
132
+ forceRefresh?: boolean;
133
+ }
134
+ export declare class JamfDocsError extends Error {
135
+ readonly code: JamfDocsErrorCode;
136
+ readonly url?: string | undefined;
137
+ readonly statusCode?: number | undefined;
138
+ constructor(message: string, code: JamfDocsErrorCode, url?: string | undefined, statusCode?: number | undefined);
139
+ }
140
+ export declare enum JamfDocsErrorCode {
141
+ NOT_FOUND = "NOT_FOUND",
142
+ RATE_LIMITED = "RATE_LIMITED",
143
+ PARSE_ERROR = "PARSE_ERROR",
144
+ NETWORK_ERROR = "NETWORK_ERROR",
145
+ INVALID_URL = "INVALID_URL",
146
+ INVALID_PRODUCT = "INVALID_PRODUCT",
147
+ CACHE_ERROR = "CACHE_ERROR",
148
+ TIMEOUT = "TIMEOUT"
149
+ }
150
+ export interface HttpRequestOptions {
151
+ timeout?: number;
152
+ headers?: Record<string, string>;
153
+ retries?: number;
154
+ retryDelay?: number;
155
+ }
156
+ export interface ToolResult {
157
+ [key: string]: unknown;
158
+ content: Array<{
159
+ type: 'text';
160
+ text: string;
161
+ }>;
162
+ isError?: boolean;
163
+ }
164
+ export interface ZoominSearchResponse {
165
+ status: string;
166
+ Results: ZoominSearchResultWrapper[];
167
+ Pagination?: ZoominPagination;
168
+ }
169
+ export interface ZoominSearchResultWrapper {
170
+ leading_result: ZoominLeadingResult;
171
+ follower_result?: ZoominLeadingResult[];
172
+ bundle_data?: unknown;
173
+ }
174
+ export interface ZoominLeadingResult {
175
+ title: string;
176
+ url: string;
177
+ snippet: string;
178
+ bundle_id: string;
179
+ page_id: string;
180
+ publication_title: string;
181
+ score?: number;
182
+ labels?: ZoominLabel[];
183
+ }
184
+ export interface ZoominLabel {
185
+ key: string;
186
+ navtitle: string;
187
+ }
188
+ export interface ZoominPagination {
189
+ CurrentPage: number;
190
+ TotalPages: number;
191
+ ResultsPerPage: number;
192
+ TotalResults: number;
193
+ }
194
+ export type DeepPartial<T> = {
195
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
196
+ };
197
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Type definitions for Jamf Docs MCP Server
3
+ */
4
+ // Error types
5
+ export class JamfDocsError extends Error {
6
+ code;
7
+ url;
8
+ statusCode;
9
+ constructor(message, code, url, statusCode) {
10
+ super(message);
11
+ this.code = code;
12
+ this.url = url;
13
+ this.statusCode = statusCode;
14
+ this.name = 'JamfDocsError';
15
+ }
16
+ }
17
+ export var JamfDocsErrorCode;
18
+ (function (JamfDocsErrorCode) {
19
+ JamfDocsErrorCode["NOT_FOUND"] = "NOT_FOUND";
20
+ JamfDocsErrorCode["RATE_LIMITED"] = "RATE_LIMITED";
21
+ JamfDocsErrorCode["PARSE_ERROR"] = "PARSE_ERROR";
22
+ JamfDocsErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
23
+ JamfDocsErrorCode["INVALID_URL"] = "INVALID_URL";
24
+ JamfDocsErrorCode["INVALID_PRODUCT"] = "INVALID_PRODUCT";
25
+ JamfDocsErrorCode["CACHE_ERROR"] = "CACHE_ERROR";
26
+ JamfDocsErrorCode["TIMEOUT"] = "TIMEOUT";
27
+ })(JamfDocsErrorCode || (JamfDocsErrorCode = {}));
28
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8JH,cAAc;AACd,MAAM,OAAO,aAAc,SAAQ,KAAK;IAGpB;IACA;IACA;IAJlB,YACE,OAAe,EACC,IAAuB,EACvB,GAAY,EACZ,UAAmB;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAmB;QACvB,QAAG,GAAH,GAAG,CAAS;QACZ,eAAU,GAAV,UAAU,CAAS;QAGnC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,CAAN,IAAY,iBASX;AATD,WAAY,iBAAiB;IAC3B,4CAAuB,CAAA;IACvB,kDAA6B,CAAA;IAC7B,gDAA2B,CAAA;IAC3B,oDAA+B,CAAA;IAC/B,gDAA2B,CAAA;IAC3B,wDAAmC,CAAA;IACnC,gDAA2B,CAAA;IAC3B,wCAAmB,CAAA;AACrB,CAAC,EATW,iBAAiB,KAAjB,iBAAiB,QAS5B"}
package/package.json CHANGED
@@ -1,10 +1,72 @@
1
1
  {
2
2
  "name": "@get-technology-inc/jamf-docs-mcp-server",
3
- "version": "0.0.1",
4
- "description": "OIDC trusted publishing setup package for @get-technology-inc/jamf-docs-mcp-server",
3
+ "version": "1.0.0",
4
+ "description": "MCP Server for accessing Jamf Documentation (learn.jamf.com)",
5
+ "main": "dist/index.js",
6
+ "type": "module",
7
+ "bin": {
8
+ "jamf-docs-mcp-server": "./dist/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "tsx watch src/index.ts",
13
+ "start": "node dist/index.js",
14
+ "test": "vitest run",
15
+ "test:watch": "vitest",
16
+ "test:unit": "vitest run test/unit",
17
+ "test:integration": "vitest run test/integration",
18
+ "test:coverage": "vitest run --coverage",
19
+ "test:inspector": "npx @modelcontextprotocol/inspector node dist/index.js",
20
+ "lint": "eslint src/**/*.ts",
21
+ "typecheck": "tsc --noEmit",
22
+ "clean": "rm -rf dist",
23
+ "prepublishOnly": "npm run build"
24
+ },
5
25
  "keywords": [
6
- "oidc",
7
- "trusted-publishing",
8
- "setup"
9
- ]
26
+ "mcp",
27
+ "jamf",
28
+ "documentation",
29
+ "model-context-protocol",
30
+ "jamf-pro",
31
+ "jamf-school",
32
+ "jamf-connect",
33
+ "jamf-protect",
34
+ "apple",
35
+ "mdm"
36
+ ],
37
+ "author": "GET Technology Inc.",
38
+ "license": "MIT",
39
+ "dependencies": {
40
+ "@modelcontextprotocol/sdk": "^1.0.0",
41
+ "axios": "^1.7.0",
42
+ "cheerio": "^1.0.0",
43
+ "turndown": "^7.2.0",
44
+ "zod": "^3.23.0"
45
+ },
46
+ "devDependencies": {
47
+ "@eslint/js": "^9.17.0",
48
+ "@types/node": "^25.0.9",
49
+ "@types/turndown": "^5.0.5",
50
+ "@vitest/coverage-v8": "^4.0.17",
51
+ "eslint": "^9.17.0",
52
+ "tsx": "^4.19.0",
53
+ "typescript": "^5.6.0",
54
+ "typescript-eslint": "^8.18.0",
55
+ "vitest": "^4.0.17"
56
+ },
57
+ "engines": {
58
+ "node": ">=20.0.0"
59
+ },
60
+ "files": [
61
+ "dist",
62
+ "README.md"
63
+ ],
64
+ "repository": {
65
+ "type": "git",
66
+ "url": "git+https://github.com/GET-Technology-Inc/jamf-docs-mcp-server.git"
67
+ },
68
+ "homepage": "https://github.com/GET-Technology-Inc/jamf-docs-mcp-server#readme",
69
+ "bugs": {
70
+ "url": "https://github.com/GET-Technology-Inc/jamf-docs-mcp-server/issues"
71
+ }
10
72
  }