@jezweb/mcp-integrations 0.1.1

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 (42) hide show
  1. package/README.md +78 -0
  2. package/dist/google/calendar/index.d.ts +29 -0
  3. package/dist/google/calendar/index.d.ts.map +1 -0
  4. package/dist/google/calendar/index.js +33 -0
  5. package/dist/google/calendar/index.js.map +1 -0
  6. package/dist/google/calendar/prompts.d.ts +65 -0
  7. package/dist/google/calendar/prompts.d.ts.map +1 -0
  8. package/dist/google/calendar/prompts.js +88 -0
  9. package/dist/google/calendar/prompts.js.map +1 -0
  10. package/dist/google/calendar/resources.d.ts +9 -0
  11. package/dist/google/calendar/resources.d.ts.map +1 -0
  12. package/dist/google/calendar/resources.js +56 -0
  13. package/dist/google/calendar/resources.js.map +1 -0
  14. package/dist/google/calendar/tools/calendars.d.ts +36 -0
  15. package/dist/google/calendar/tools/calendars.d.ts.map +1 -0
  16. package/dist/google/calendar/tools/calendars.js +77 -0
  17. package/dist/google/calendar/tools/calendars.js.map +1 -0
  18. package/dist/google/calendar/tools/events.d.ts +118 -0
  19. package/dist/google/calendar/tools/events.d.ts.map +1 -0
  20. package/dist/google/calendar/tools/events.js +281 -0
  21. package/dist/google/calendar/tools/events.js.map +1 -0
  22. package/dist/google/calendar/tools/index.d.ts +280 -0
  23. package/dist/google/calendar/tools/index.d.ts.map +1 -0
  24. package/dist/google/calendar/tools/index.js +24 -0
  25. package/dist/google/calendar/tools/index.js.map +1 -0
  26. package/dist/google/index.d.ts +13 -0
  27. package/dist/google/index.d.ts.map +1 -0
  28. package/dist/google/index.js +13 -0
  29. package/dist/google/index.js.map +1 -0
  30. package/dist/helpers.d.ts +84 -0
  31. package/dist/helpers.d.ts.map +1 -0
  32. package/dist/helpers.js +111 -0
  33. package/dist/helpers.js.map +1 -0
  34. package/dist/index.d.ts +21 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +21 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/types.d.ts +179 -0
  39. package/dist/types.d.ts.map +1 -0
  40. package/dist/types.js +2 -0
  41. package/dist/types.js.map +1 -0
  42. package/package.json +70 -0
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Helper functions for defining tools, resources, and prompts
3
+ */
4
+ import type { z } from 'zod';
5
+ import type { ToolDefinition, ResourceDefinition, PromptDefinition, ToolResult } from './types';
6
+ /**
7
+ * Define a tool with proper typing and defaults
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * export const listEvents = defineTool({
12
+ * name: 'google_calendar_list_events',
13
+ * description: 'List upcoming calendar events',
14
+ * category: 'calendar',
15
+ * tags: ['google', 'calendar', 'events', 'read'],
16
+ * alwaysVisible: true,
17
+ * parameters: z.object({
18
+ * maxResults: z.number().default(10),
19
+ * }),
20
+ * handler: async (params, ctx) => {
21
+ * // Implementation
22
+ * },
23
+ * });
24
+ * ```
25
+ */
26
+ export declare function defineTool<T extends z.ZodType>(def: ToolDefinition<T>): ToolDefinition<T>;
27
+ /**
28
+ * Define a resource with proper typing
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * export const calendarInfo = defineResource({
33
+ * name: 'calendar_info',
34
+ * uri: 'mcp://my-server/calendar/info',
35
+ * metadata: {
36
+ * description: 'Current calendar information',
37
+ * mimeType: 'application/json',
38
+ * },
39
+ * category: 'calendar',
40
+ * tags: ['google', 'calendar', 'info'],
41
+ * handler: async (uri, ctx) => {
42
+ * // Implementation
43
+ * },
44
+ * });
45
+ * ```
46
+ */
47
+ export declare function defineResource(def: ResourceDefinition): ResourceDefinition;
48
+ /**
49
+ * Define a prompt with proper typing
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * export const scheduleAssistant = definePrompt({
54
+ * name: 'schedule_assistant',
55
+ * description: 'Help schedule a meeting',
56
+ * category: 'calendar',
57
+ * tags: ['google', 'calendar', 'scheduling'],
58
+ * arguments: z.object({
59
+ * topic: z.string().describe('Meeting topic'),
60
+ * }),
61
+ * handler: async (args, ctx) => {
62
+ * // Implementation
63
+ * },
64
+ * });
65
+ * ```
66
+ */
67
+ export declare function definePrompt<T extends z.ZodType>(def: PromptDefinition<T>): PromptDefinition<T>;
68
+ /**
69
+ * Create a success result
70
+ */
71
+ export declare function successResult(text: string): ToolResult;
72
+ /**
73
+ * Create a JSON success result
74
+ */
75
+ export declare function jsonResult(data: unknown): ToolResult;
76
+ /**
77
+ * Create an error result
78
+ */
79
+ export declare function errorResult(message: string): ToolResult;
80
+ /**
81
+ * Wrap a handler with error handling
82
+ */
83
+ export declare function withErrorHandling<T>(handler: (params: T, ctx: unknown) => Promise<ToolResult>): (params: T, ctx: unknown) => Promise<ToolResult>;
84
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACX,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAC5C,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,GACrB,cAAc,CAAC,CAAC,CAAC,CAKnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,kBAAkB,GAAG,kBAAkB,CAE1E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAC9C,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACvB,gBAAgB,CAAC,CAAC,CAAC,CAErB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAItD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAIpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAKvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,GACxD,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,CASlD"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Define a tool with proper typing and defaults
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * export const listEvents = defineTool({
7
+ * name: 'google_calendar_list_events',
8
+ * description: 'List upcoming calendar events',
9
+ * category: 'calendar',
10
+ * tags: ['google', 'calendar', 'events', 'read'],
11
+ * alwaysVisible: true,
12
+ * parameters: z.object({
13
+ * maxResults: z.number().default(10),
14
+ * }),
15
+ * handler: async (params, ctx) => {
16
+ * // Implementation
17
+ * },
18
+ * });
19
+ * ```
20
+ */
21
+ export function defineTool(def) {
22
+ return {
23
+ alwaysVisible: false,
24
+ ...def,
25
+ };
26
+ }
27
+ /**
28
+ * Define a resource with proper typing
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * export const calendarInfo = defineResource({
33
+ * name: 'calendar_info',
34
+ * uri: 'mcp://my-server/calendar/info',
35
+ * metadata: {
36
+ * description: 'Current calendar information',
37
+ * mimeType: 'application/json',
38
+ * },
39
+ * category: 'calendar',
40
+ * tags: ['google', 'calendar', 'info'],
41
+ * handler: async (uri, ctx) => {
42
+ * // Implementation
43
+ * },
44
+ * });
45
+ * ```
46
+ */
47
+ export function defineResource(def) {
48
+ return def;
49
+ }
50
+ /**
51
+ * Define a prompt with proper typing
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * export const scheduleAssistant = definePrompt({
56
+ * name: 'schedule_assistant',
57
+ * description: 'Help schedule a meeting',
58
+ * category: 'calendar',
59
+ * tags: ['google', 'calendar', 'scheduling'],
60
+ * arguments: z.object({
61
+ * topic: z.string().describe('Meeting topic'),
62
+ * }),
63
+ * handler: async (args, ctx) => {
64
+ * // Implementation
65
+ * },
66
+ * });
67
+ * ```
68
+ */
69
+ export function definePrompt(def) {
70
+ return def;
71
+ }
72
+ /**
73
+ * Create a success result
74
+ */
75
+ export function successResult(text) {
76
+ return {
77
+ content: [{ type: 'text', text }],
78
+ };
79
+ }
80
+ /**
81
+ * Create a JSON success result
82
+ */
83
+ export function jsonResult(data) {
84
+ return {
85
+ content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
86
+ };
87
+ }
88
+ /**
89
+ * Create an error result
90
+ */
91
+ export function errorResult(message) {
92
+ return {
93
+ content: [{ type: 'text', text: `Error: ${message}` }],
94
+ isError: true,
95
+ };
96
+ }
97
+ /**
98
+ * Wrap a handler with error handling
99
+ */
100
+ export function withErrorHandling(handler) {
101
+ return async (params, ctx) => {
102
+ try {
103
+ return await handler(params, ctx);
104
+ }
105
+ catch (error) {
106
+ const message = error instanceof Error ? error.message : 'Unknown error';
107
+ return errorResult(message);
108
+ }
109
+ };
110
+ }
111
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,UAAU,CACxB,GAAsB;IAEtB,OAAO;QACL,aAAa,EAAE,KAAK;QACpB,GAAG,GAAG;KACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,cAAc,CAAC,GAAuB;IACpD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAwB;IAExB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;QACtD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAyD;IAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACzE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @jezweb/mcp-integrations
3
+ *
4
+ * Reusable MCP tools, resources, and prompts for backend service integrations.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { calendarTools } from '@jezweb/mcp-integrations/google/calendar';
9
+ * import { gmailTools } from '@jezweb/mcp-integrations/google/gmail';
10
+ *
11
+ * // Register tools
12
+ * calendarTools.all.forEach(tool => {
13
+ * this.server.tool(tool.name, tool.description, tool.parameters,
14
+ * (params) => tool.handler(params, ctx)
15
+ * );
16
+ * });
17
+ * ```
18
+ */
19
+ export type { ToolContext, ToolResult, ToolDefinition, ResourceDefinition, PromptDefinition, IntegrationMeta, } from './types';
20
+ export { defineTool, defineResource, definePrompt, successResult, jsonResult, errorResult, withErrorHandling, } from './helpers';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,YAAY,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,iBAAiB,GAClB,MAAM,WAAW,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @jezweb/mcp-integrations
3
+ *
4
+ * Reusable MCP tools, resources, and prompts for backend service integrations.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { calendarTools } from '@jezweb/mcp-integrations/google/calendar';
9
+ * import { gmailTools } from '@jezweb/mcp-integrations/google/gmail';
10
+ *
11
+ * // Register tools
12
+ * calendarTools.all.forEach(tool => {
13
+ * this.server.tool(tool.name, tool.description, tool.parameters,
14
+ * (params) => tool.handler(params, ctx)
15
+ * );
16
+ * });
17
+ * ```
18
+ */
19
+ // Helper functions
20
+ export { defineTool, defineResource, definePrompt, successResult, jsonResult, errorResult, withErrorHandling, } from './helpers';
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAYH,mBAAmB;AACnB,OAAO,EACL,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,iBAAiB,GAClB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Core types for MCP integrations
3
+ */
4
+ import type { z } from 'zod';
5
+ /**
6
+ * Context provided to tool handlers
7
+ */
8
+ export interface ToolContext {
9
+ /**
10
+ * Make an authorized API request with automatic token refresh
11
+ */
12
+ authorizedFetch: (url: string, init?: RequestInit) => Promise<Response>;
13
+ /**
14
+ * Current user's ID (from OAuth)
15
+ */
16
+ userId?: string;
17
+ /**
18
+ * Current user's email (from OAuth)
19
+ */
20
+ userEmail?: string;
21
+ }
22
+ /**
23
+ * Result returned from tool handlers
24
+ */
25
+ export interface ToolResult {
26
+ content: Array<{
27
+ type: 'text';
28
+ text: string;
29
+ }>;
30
+ isError?: boolean;
31
+ }
32
+ /**
33
+ * Tool definition with Tool Search metadata
34
+ */
35
+ export interface ToolDefinition<T extends z.ZodType = z.ZodType> {
36
+ /**
37
+ * Unique tool name (snake_case recommended)
38
+ */
39
+ name: string;
40
+ /**
41
+ * Description shown to Claude - be descriptive!
42
+ */
43
+ description: string;
44
+ /**
45
+ * Zod schema for parameters
46
+ */
47
+ parameters: T;
48
+ /**
49
+ * Handler function
50
+ */
51
+ handler: (params: z.infer<T>, ctx: ToolContext) => Promise<ToolResult>;
52
+ /**
53
+ * Category for Tool Search (e.g., 'calendar', 'email', 'files')
54
+ */
55
+ category: string;
56
+ /**
57
+ * Tags for Tool Search (e.g., ['google', 'calendar', 'events', 'read'])
58
+ */
59
+ tags: string[];
60
+ /**
61
+ * If true, tool is always sent to Claude.
62
+ * If false, tool only appears after search_tools finds it.
63
+ * Default: false
64
+ */
65
+ alwaysVisible?: boolean;
66
+ }
67
+ /**
68
+ * Resource definition
69
+ */
70
+ export interface ResourceDefinition {
71
+ /**
72
+ * Unique resource name
73
+ */
74
+ name: string;
75
+ /**
76
+ * URI for the resource (e.g., 'mcp://server/resource-path')
77
+ */
78
+ uri: string;
79
+ /**
80
+ * Resource metadata
81
+ */
82
+ metadata: {
83
+ description: string;
84
+ mimeType: string;
85
+ };
86
+ /**
87
+ * Handler function
88
+ */
89
+ handler: (uri: URL, ctx: ToolContext) => Promise<{
90
+ contents: Array<{
91
+ uri: string;
92
+ mimeType: string;
93
+ text: string;
94
+ }>;
95
+ }>;
96
+ /**
97
+ * Category for organization
98
+ */
99
+ category: string;
100
+ /**
101
+ * Tags for searchability
102
+ */
103
+ tags: string[];
104
+ }
105
+ /**
106
+ * Prompt definition
107
+ */
108
+ export interface PromptDefinition<T extends z.ZodType = z.ZodType> {
109
+ /**
110
+ * Unique prompt name
111
+ */
112
+ name: string;
113
+ /**
114
+ * Description shown in prompt list
115
+ */
116
+ description: string;
117
+ /**
118
+ * Zod schema for arguments
119
+ */
120
+ arguments: T;
121
+ /**
122
+ * Handler function
123
+ */
124
+ handler: (args: z.infer<T>, ctx: ToolContext) => Promise<{
125
+ messages: Array<{
126
+ role: 'user' | 'assistant';
127
+ content: {
128
+ type: 'text';
129
+ text: string;
130
+ };
131
+ }>;
132
+ }>;
133
+ /**
134
+ * Category for organization
135
+ */
136
+ category: string;
137
+ /**
138
+ * Tags for searchability
139
+ */
140
+ tags: string[];
141
+ }
142
+ /**
143
+ * Integration metadata
144
+ */
145
+ export interface IntegrationMeta {
146
+ /**
147
+ * Integration name (e.g., 'google-calendar')
148
+ */
149
+ name: string;
150
+ /**
151
+ * Display name (e.g., 'Google Calendar')
152
+ */
153
+ displayName: string;
154
+ /**
155
+ * Category (e.g., 'calendar', 'email')
156
+ */
157
+ category: string;
158
+ /**
159
+ * OAuth provider (e.g., 'google', 'xero')
160
+ */
161
+ provider: string;
162
+ /**
163
+ * Required OAuth scopes
164
+ */
165
+ scopes: string[];
166
+ /**
167
+ * Total tool count
168
+ */
169
+ toolCount: number;
170
+ /**
171
+ * Total resource count
172
+ */
173
+ resourceCount: number;
174
+ /**
175
+ * Total prompt count
176
+ */
177
+ promptCount: number;
178
+ }
179
+ //# 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "@jezweb/mcp-integrations",
3
+ "version": "0.1.1",
4
+ "description": "Reusable MCP tools, resources, and prompts for backend service integrations",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./google": {
14
+ "types": "./dist/google/index.d.ts",
15
+ "import": "./dist/google/index.js"
16
+ },
17
+ "./google/calendar": {
18
+ "types": "./dist/google/calendar/index.d.ts",
19
+ "import": "./dist/google/calendar/index.js"
20
+ },
21
+ "./google/gmail": {
22
+ "types": "./dist/google/gmail/index.d.ts",
23
+ "import": "./dist/google/gmail/index.js"
24
+ },
25
+ "./google/sheets": {
26
+ "types": "./dist/google/sheets/index.d.ts",
27
+ "import": "./dist/google/sheets/index.js"
28
+ },
29
+ "./google/drive": {
30
+ "types": "./dist/google/drive/index.d.ts",
31
+ "import": "./dist/google/drive/index.js"
32
+ },
33
+ "./xero": {
34
+ "types": "./dist/xero/index.d.ts",
35
+ "import": "./dist/xero/index.js"
36
+ }
37
+ },
38
+ "files": [
39
+ "dist",
40
+ "README.md"
41
+ ],
42
+ "scripts": {
43
+ "build": "tsc",
44
+ "dev": "tsc --watch",
45
+ "prepublishOnly": "npm run build"
46
+ },
47
+ "keywords": [
48
+ "mcp",
49
+ "model-context-protocol",
50
+ "tools",
51
+ "google",
52
+ "calendar",
53
+ "gmail",
54
+ "xero",
55
+ "integrations"
56
+ ],
57
+ "author": "Jezweb <jeremy@jezweb.net>",
58
+ "license": "MIT",
59
+ "repository": {
60
+ "type": "git",
61
+ "url": "git+https://github.com/jezweb/mcp-integrations.git"
62
+ },
63
+ "peerDependencies": {
64
+ "zod": "^3.0.0"
65
+ },
66
+ "devDependencies": {
67
+ "typescript": "^5.7.3",
68
+ "zod": "^3.24.1"
69
+ }
70
+ }