@mweinbach/apple-docs-mcp 1.2.0 → 1.3.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-formatter.d.ts","sourceRoot":"","sources":["../../src/utils/response-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Structured response formatter for MCP tool responses
3
+ * Returns JSON-structured data that AI clients can parse programmatically
4
+ */
5
+ /**
6
+ * Format a structured response as JSON string for MCP
7
+ */
8
+ export function formatStructuredResponse(response) {
9
+ return JSON.stringify(response, null, 2);
10
+ }
11
+ /**
12
+ * Create a documentation response
13
+ */
14
+ export function createDocResponse(opts) {
15
+ return {
16
+ summary: opts.title,
17
+ type: 'documentation',
18
+ url: opts.url,
19
+ content: {
20
+ title: opts.title,
21
+ abstract: opts.abstract,
22
+ declaration: opts.declaration,
23
+ parameters: opts.parameters,
24
+ returns: opts.returns,
25
+ discussion: opts.discussion,
26
+ seeAlso: opts.seeAlso,
27
+ },
28
+ items: opts.relatedApis,
29
+ metadata: {
30
+ ...opts.metadata,
31
+ type: opts.type,
32
+ platforms: opts.platforms,
33
+ },
34
+ };
35
+ }
36
+ /**
37
+ * Create a search results response
38
+ */
39
+ export function createSearchResponse(opts) {
40
+ return {
41
+ summary: `Search results for "${opts.query}"`,
42
+ type: 'search_results',
43
+ count: opts.totalCount ?? opts.results.length,
44
+ items: opts.results,
45
+ metadata: {
46
+ query: opts.query,
47
+ filter: opts.filter,
48
+ },
49
+ };
50
+ }
51
+ /**
52
+ * Create a list response (technologies, samples, etc.)
53
+ */
54
+ export function createListResponse(opts) {
55
+ return {
56
+ summary: opts.title,
57
+ type: 'list',
58
+ count: opts.totalCount ?? opts.items.length,
59
+ items: opts.items,
60
+ metadata: {
61
+ category: opts.category,
62
+ ...opts.metadata,
63
+ },
64
+ };
65
+ }
66
+ /**
67
+ * Create a video response
68
+ */
69
+ export function createVideoResponse(opts) {
70
+ return {
71
+ summary: opts.title,
72
+ type: 'video',
73
+ url: opts.url,
74
+ content: {
75
+ title: opts.title,
76
+ abstract: opts.description,
77
+ discussion: opts.transcript,
78
+ },
79
+ items: opts.relatedVideos,
80
+ metadata: {
81
+ year: opts.year,
82
+ videoId: opts.videoId,
83
+ hasCode: !!opts.codeExamples?.length,
84
+ codeExamples: opts.codeExamples,
85
+ ...opts.metadata,
86
+ },
87
+ };
88
+ }
89
+ /**
90
+ * Create an error response
91
+ */
92
+ export function createErrorResponse(opts) {
93
+ return {
94
+ summary: `Error: ${opts.message}`,
95
+ type: 'error',
96
+ metadata: {
97
+ code: opts.code,
98
+ suggestion: opts.suggestion,
99
+ },
100
+ };
101
+ }
102
+ /**
103
+ * Wrap structured response in MCP format
104
+ */
105
+ export function toMcpResponse(response) {
106
+ return {
107
+ content: [
108
+ {
109
+ type: 'text',
110
+ text: formatStructuredResponse(response),
111
+ },
112
+ ],
113
+ isError: response.type === 'error',
114
+ };
115
+ }
116
+ //# sourceMappingURL=response-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-formatter.js","sourceRoot":"","sources":["../../src/utils/response-formatter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mweinbach/apple-docs-mcp",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "MCP server for Apple Developer Documentation - Search iOS/macOS/SwiftUI/UIKit docs, WWDC videos, Swift/Objective-C APIs & code examples in Claude, Cursor & AI assistants",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",