@attrove/mcp 0.1.6 → 0.1.8
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.
- package/README.md +101 -3
- package/cjs/index.js +6 -1
- package/cjs/server.js +115 -56
- package/cjs/tools/events.js +134 -0
- package/cjs/tools/index.js +9 -1
- package/cjs/tools/integrations.js +11 -4
- package/cjs/tools/meetings.js +149 -0
- package/cjs/tools/query.js +12 -5
- package/cjs/tools/search.js +21 -7
- package/cjs/transport/http.js +192 -0
- package/esm/index.d.ts +3 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +3 -1
- package/esm/index.js.map +1 -1
- package/esm/server.d.ts +7 -5
- package/esm/server.d.ts.map +1 -1
- package/esm/server.js +116 -57
- package/esm/server.js.map +1 -1
- package/esm/tools/events.d.ts +24 -0
- package/esm/tools/events.d.ts.map +1 -0
- package/esm/tools/events.js +131 -0
- package/esm/tools/events.js.map +1 -0
- package/esm/tools/index.d.ts +6 -69
- package/esm/tools/index.d.ts.map +1 -1
- package/esm/tools/index.js +5 -2
- package/esm/tools/index.js.map +1 -1
- package/esm/tools/integrations.d.ts +3 -10
- package/esm/tools/integrations.d.ts.map +1 -1
- package/esm/tools/integrations.js +11 -4
- package/esm/tools/integrations.js.map +1 -1
- package/esm/tools/meetings.d.ts +26 -0
- package/esm/tools/meetings.d.ts.map +1 -0
- package/esm/tools/meetings.js +146 -0
- package/esm/tools/meetings.js.map +1 -0
- package/esm/tools/query.d.ts +3 -27
- package/esm/tools/query.d.ts.map +1 -1
- package/esm/tools/query.js +12 -5
- package/esm/tools/query.js.map +1 -1
- package/esm/tools/search.d.ts +3 -35
- package/esm/tools/search.d.ts.map +1 -1
- package/esm/tools/search.js +21 -7
- package/esm/tools/search.js.map +1 -1
- package/esm/transport/http.d.ts +63 -0
- package/esm/transport/http.d.ts.map +1 -0
- package/esm/transport/http.js +189 -0
- package/esm/transport/http.js.map +1 -0
- package/package.json +2 -2
package/esm/server.js
CHANGED
|
@@ -8,7 +8,7 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
10
10
|
import { Attrove, isAttroveError, ValidationError, ErrorCodes, } from "@attrove/sdk";
|
|
11
|
-
import { allToolDefinitions, executeQueryTool, executeSearchTool, executeIntegrationsTool, } from "./tools/index.js";
|
|
11
|
+
import { allToolDefinitions, executeQueryTool, executeSearchTool, executeIntegrationsTool, executeEventsTool, executeMeetingsTool, } from "./tools/index.js";
|
|
12
12
|
import { getVersion } from "./version.js";
|
|
13
13
|
/**
|
|
14
14
|
* Validate that a value is an array of strings.
|
|
@@ -41,12 +41,13 @@ function validateQueryInput(args) {
|
|
|
41
41
|
if (typeof input.query !== "string" || input.query.trim() === "") {
|
|
42
42
|
throw new ValidationError('Missing required parameter "query". Please provide a question to ask.', ErrorCodes.VALIDATION_REQUIRED_FIELD, { field: "query" });
|
|
43
43
|
}
|
|
44
|
+
if (input.include_sources !== undefined && typeof input.include_sources !== "boolean") {
|
|
45
|
+
throw new ValidationError(`include_sources must be a boolean, received ${typeof input.include_sources}`, ErrorCodes.VALIDATION_INVALID_FORMAT, { field: "include_sources", received: typeof input.include_sources });
|
|
46
|
+
}
|
|
44
47
|
return {
|
|
45
48
|
query: input.query,
|
|
46
49
|
integration_ids: validateStringArray(input.integration_ids, "integration_ids"),
|
|
47
|
-
include_sources:
|
|
48
|
-
? input.include_sources
|
|
49
|
-
: undefined,
|
|
50
|
+
include_sources: input.include_sources,
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
53
|
/**
|
|
@@ -62,14 +63,79 @@ function validateSearchInput(args) {
|
|
|
62
63
|
if (typeof input.query !== "string" || input.query.trim() === "") {
|
|
63
64
|
throw new ValidationError('Missing required parameter "query". Please provide a search query.', ErrorCodes.VALIDATION_REQUIRED_FIELD, { field: "query" });
|
|
64
65
|
}
|
|
66
|
+
if (input.after_date !== undefined && typeof input.after_date !== "string") {
|
|
67
|
+
throw new ValidationError(`after_date must be a string (ISO 8601), received ${typeof input.after_date}`, ErrorCodes.VALIDATION_INVALID_FORMAT, { field: "after_date", received: typeof input.after_date });
|
|
68
|
+
}
|
|
69
|
+
if (input.before_date !== undefined && typeof input.before_date !== "string") {
|
|
70
|
+
throw new ValidationError(`before_date must be a string (ISO 8601), received ${typeof input.before_date}`, ErrorCodes.VALIDATION_INVALID_FORMAT, { field: "before_date", received: typeof input.before_date });
|
|
71
|
+
}
|
|
72
|
+
if (input.include_body_text !== undefined && typeof input.include_body_text !== "boolean") {
|
|
73
|
+
throw new ValidationError(`include_body_text must be a boolean, received ${typeof input.include_body_text}`, ErrorCodes.VALIDATION_INVALID_FORMAT, { field: "include_body_text", received: typeof input.include_body_text });
|
|
74
|
+
}
|
|
65
75
|
return {
|
|
66
76
|
query: input.query,
|
|
67
|
-
after_date:
|
|
68
|
-
before_date:
|
|
77
|
+
after_date: input.after_date,
|
|
78
|
+
before_date: input.before_date,
|
|
69
79
|
sender_domains: validateStringArray(input.sender_domains, "sender_domains"),
|
|
70
|
-
include_body_text:
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
include_body_text: input.include_body_text,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Validate input for the events tool.
|
|
85
|
+
* All parameters are optional, so validation is light type checking.
|
|
86
|
+
*/
|
|
87
|
+
function validateEventsInput(args) {
|
|
88
|
+
if (args !== undefined && args !== null && typeof args !== "object") {
|
|
89
|
+
throw new ValidationError("Invalid arguments. Expected an object or empty.", ErrorCodes.VALIDATION_INVALID_FORMAT, { expected: "object", received: typeof args });
|
|
90
|
+
}
|
|
91
|
+
const input = (args ?? {});
|
|
92
|
+
if (input.start_date !== undefined && typeof input.start_date !== "string") {
|
|
93
|
+
throw new ValidationError(`start_date must be a string (ISO 8601), received ${typeof input.start_date}`, ErrorCodes.VALIDATION_INVALID_FORMAT, { field: "start_date", received: typeof input.start_date });
|
|
94
|
+
}
|
|
95
|
+
if (input.end_date !== undefined && typeof input.end_date !== "string") {
|
|
96
|
+
throw new ValidationError(`end_date must be a string (ISO 8601), received ${typeof input.end_date}`, ErrorCodes.VALIDATION_INVALID_FORMAT, { field: "end_date", received: typeof input.end_date });
|
|
97
|
+
}
|
|
98
|
+
if (input.limit !== undefined && typeof input.limit !== "number") {
|
|
99
|
+
throw new ValidationError(`limit must be a number, received ${typeof input.limit}`, ErrorCodes.VALIDATION_INVALID_FORMAT, { field: "limit", received: typeof input.limit });
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
start_date: input.start_date,
|
|
103
|
+
end_date: input.end_date,
|
|
104
|
+
limit: input.limit,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Validate input for the meetings tool.
|
|
109
|
+
* All parameters are optional, so validation is light type checking.
|
|
110
|
+
*/
|
|
111
|
+
function validateMeetingsInput(args) {
|
|
112
|
+
if (args !== undefined && args !== null && typeof args !== "object") {
|
|
113
|
+
throw new ValidationError("Invalid arguments. Expected an object or empty.", ErrorCodes.VALIDATION_INVALID_FORMAT, { expected: "object", received: typeof args });
|
|
114
|
+
}
|
|
115
|
+
const input = (args ?? {});
|
|
116
|
+
const validProviders = ["google_meet", "zoom", "teams"];
|
|
117
|
+
let provider;
|
|
118
|
+
if (input.provider !== undefined && input.provider !== null) {
|
|
119
|
+
if (typeof input.provider !== "string" ||
|
|
120
|
+
!validProviders.includes(input.provider)) {
|
|
121
|
+
throw new ValidationError(`Invalid provider "${String(input.provider)}". Must be one of: ${validProviders.join(", ")}`, ErrorCodes.VALIDATION_INVALID_FORMAT, { field: "provider", received: input.provider, valid: validProviders });
|
|
122
|
+
}
|
|
123
|
+
provider = input.provider;
|
|
124
|
+
}
|
|
125
|
+
if (input.start_date !== undefined && typeof input.start_date !== "string") {
|
|
126
|
+
throw new ValidationError(`start_date must be a string (ISO 8601), received ${typeof input.start_date}`, ErrorCodes.VALIDATION_INVALID_FORMAT, { field: "start_date", received: typeof input.start_date });
|
|
127
|
+
}
|
|
128
|
+
if (input.end_date !== undefined && typeof input.end_date !== "string") {
|
|
129
|
+
throw new ValidationError(`end_date must be a string (ISO 8601), received ${typeof input.end_date}`, ErrorCodes.VALIDATION_INVALID_FORMAT, { field: "end_date", received: typeof input.end_date });
|
|
130
|
+
}
|
|
131
|
+
if (input.limit !== undefined && typeof input.limit !== "number") {
|
|
132
|
+
throw new ValidationError(`limit must be a number, received ${typeof input.limit}`, ErrorCodes.VALIDATION_INVALID_FORMAT, { field: "limit", received: typeof input.limit });
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
start_date: input.start_date,
|
|
136
|
+
end_date: input.end_date,
|
|
137
|
+
provider,
|
|
138
|
+
limit: input.limit,
|
|
73
139
|
};
|
|
74
140
|
}
|
|
75
141
|
/**
|
|
@@ -118,7 +184,7 @@ function formatErrorResponse(error) {
|
|
|
118
184
|
};
|
|
119
185
|
}
|
|
120
186
|
/**
|
|
121
|
-
*
|
|
187
|
+
* Wire up tool definitions and dispatch logic for the Attrove MCP server.
|
|
122
188
|
*/
|
|
123
189
|
export function createServer(config) {
|
|
124
190
|
const server = new Server({
|
|
@@ -129,92 +195,82 @@ export function createServer(config) {
|
|
|
129
195
|
tools: {},
|
|
130
196
|
},
|
|
131
197
|
});
|
|
132
|
-
// Create Attrove client
|
|
133
|
-
// Type assertion is safe because startServer validates the apiKey prefix
|
|
134
198
|
const client = new Attrove({
|
|
135
199
|
apiKey: config.apiKey,
|
|
136
200
|
userId: config.userId,
|
|
137
201
|
baseUrl: config.baseUrl,
|
|
138
202
|
});
|
|
139
|
-
// Register tool list handler
|
|
140
203
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
141
204
|
return {
|
|
142
205
|
tools: allToolDefinitions.map((tool) => ({
|
|
143
206
|
name: tool.name,
|
|
144
207
|
description: tool.description,
|
|
145
208
|
inputSchema: tool.inputSchema,
|
|
209
|
+
annotations: tool.annotations,
|
|
146
210
|
})),
|
|
147
211
|
};
|
|
148
212
|
});
|
|
149
|
-
// Register tool call handler
|
|
150
213
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
151
214
|
const { name, arguments: args } = request.params;
|
|
152
|
-
// Validate input outside try-catch so validation errors propagate clearly
|
|
153
|
-
// and programming bugs in validation don't get caught as API errors
|
|
154
|
-
let validatedInput;
|
|
155
|
-
switch (name) {
|
|
156
|
-
case "attrove_query":
|
|
157
|
-
validatedInput = validateQueryInput(args);
|
|
158
|
-
break;
|
|
159
|
-
case "attrove_search":
|
|
160
|
-
validatedInput = validateSearchInput(args);
|
|
161
|
-
break;
|
|
162
|
-
case "attrove_integrations":
|
|
163
|
-
// No input validation needed
|
|
164
|
-
break;
|
|
165
|
-
default:
|
|
166
|
-
return {
|
|
167
|
-
content: [
|
|
168
|
-
{
|
|
169
|
-
type: "text",
|
|
170
|
-
text: `Unknown tool: ${name}. Available tools: attrove_query, attrove_search, attrove_integrations`,
|
|
171
|
-
},
|
|
172
|
-
],
|
|
173
|
-
isError: true,
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
// Execute tool with narrowed try-catch for API/network errors only
|
|
177
215
|
try {
|
|
178
216
|
let result;
|
|
179
217
|
switch (name) {
|
|
180
218
|
case "attrove_query":
|
|
181
|
-
result = await executeQueryTool(client,
|
|
219
|
+
result = await executeQueryTool(client, validateQueryInput(args));
|
|
182
220
|
break;
|
|
183
221
|
case "attrove_search":
|
|
184
|
-
result = await executeSearchTool(client,
|
|
222
|
+
result = await executeSearchTool(client, validateSearchInput(args));
|
|
185
223
|
break;
|
|
186
224
|
case "attrove_integrations":
|
|
187
225
|
result = await executeIntegrationsTool(client);
|
|
188
226
|
break;
|
|
227
|
+
case "attrove_events":
|
|
228
|
+
result = await executeEventsTool(client, validateEventsInput(args));
|
|
229
|
+
break;
|
|
230
|
+
case "attrove_meetings":
|
|
231
|
+
result = await executeMeetingsTool(client, validateMeetingsInput(args));
|
|
232
|
+
break;
|
|
189
233
|
default:
|
|
190
|
-
|
|
191
|
-
|
|
234
|
+
return {
|
|
235
|
+
content: [
|
|
236
|
+
{
|
|
237
|
+
type: "text",
|
|
238
|
+
text: `Unknown tool: ${name}. Available tools: attrove_query, attrove_search, attrove_integrations, attrove_events, attrove_meetings`,
|
|
239
|
+
},
|
|
240
|
+
],
|
|
241
|
+
isError: true,
|
|
242
|
+
};
|
|
192
243
|
}
|
|
193
244
|
return {
|
|
194
|
-
content: [
|
|
195
|
-
{
|
|
196
|
-
type: "text",
|
|
197
|
-
text: result,
|
|
198
|
-
},
|
|
199
|
-
],
|
|
245
|
+
content: [{ type: "text", text: result }],
|
|
200
246
|
};
|
|
201
247
|
}
|
|
202
248
|
catch (error) {
|
|
203
|
-
//
|
|
204
|
-
if (
|
|
249
|
+
// Validation errors = bad input → propagate as JSON-RPC errors (invalid params)
|
|
250
|
+
if (error instanceof ValidationError) {
|
|
251
|
+
throw error;
|
|
252
|
+
}
|
|
253
|
+
if (isAttroveError(error)) {
|
|
254
|
+
if (error.status && error.status >= 500) {
|
|
255
|
+
// prettier-ignore
|
|
256
|
+
console.error("[AttroveMCP]", JSON.stringify({ level: "error", msg: "MCP tool received server error from API", errorId: "MCP_TOOL_API_SERVER_ERROR", tool: name, errorCode: error.code, status: error.status }));
|
|
257
|
+
}
|
|
258
|
+
else if (error.status && error.status >= 400) {
|
|
259
|
+
// prettier-ignore
|
|
260
|
+
console.error("[AttroveMCP]", JSON.stringify({ level: "debug", msg: "MCP tool received client error from API", errorId: "MCP_TOOL_API_CLIENT_ERROR", tool: name, errorCode: error.code, status: error.status }));
|
|
261
|
+
}
|
|
205
262
|
return formatErrorResponse(error);
|
|
206
263
|
}
|
|
207
|
-
// Unexpected errors
|
|
208
|
-
// We catch all errors to keep the MCP server running, but logging ensures visibility.
|
|
264
|
+
// Unexpected errors — log and return to keep the MCP server running
|
|
209
265
|
// prettier-ignore
|
|
210
|
-
console.error(
|
|
266
|
+
console.error("[AttroveMCP]", JSON.stringify({ level: "error", msg: "MCP unexpected error in tool handler", errorId: "MCP_TOOL_UNEXPECTED_ERROR", tool: name, error: error instanceof Error ? error.message : String(error), stack: error instanceof Error ? error.stack : undefined }));
|
|
211
267
|
return formatErrorResponse(error);
|
|
212
268
|
}
|
|
213
269
|
});
|
|
214
270
|
return server;
|
|
215
271
|
}
|
|
216
272
|
/**
|
|
217
|
-
*
|
|
273
|
+
* Connect the MCP server to stdin/stdout and begin serving requests.
|
|
218
274
|
*/
|
|
219
275
|
export async function startServer(config) {
|
|
220
276
|
const server = createServer(config);
|
|
@@ -224,7 +280,7 @@ export async function startServer(config) {
|
|
|
224
280
|
/**
|
|
225
281
|
* Get configuration from environment variables.
|
|
226
282
|
*
|
|
227
|
-
* @throws {Error} If required environment variables are missing
|
|
283
|
+
* @throws {Error} If required environment variables are missing or invalid
|
|
228
284
|
*/
|
|
229
285
|
export function getConfigFromEnv() {
|
|
230
286
|
const apiKey = process.env.ATTROVE_API_KEY;
|
|
@@ -234,12 +290,15 @@ export function getConfigFromEnv() {
|
|
|
234
290
|
throw new Error("ATTROVE_API_KEY environment variable is required. " +
|
|
235
291
|
"Set it to your Attrove API key (sk_...).");
|
|
236
292
|
}
|
|
293
|
+
if (!apiKey.startsWith("sk_")) {
|
|
294
|
+
throw new Error("ATTROVE_API_KEY must start with 'sk_'. Check that you're using a valid API key.");
|
|
295
|
+
}
|
|
237
296
|
if (!userId) {
|
|
238
297
|
throw new Error("ATTROVE_USER_ID environment variable is required. " +
|
|
239
298
|
"Set it to the user ID (UUID) for the user whose context you want to access.");
|
|
240
299
|
}
|
|
241
300
|
return {
|
|
242
|
-
apiKey,
|
|
301
|
+
apiKey: apiKey,
|
|
243
302
|
userId,
|
|
244
303
|
baseUrl,
|
|
245
304
|
};
|
package/esm/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../packages/mcp/src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../packages/mcp/src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Events Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for listing calendar events from connected integrations.
|
|
5
|
+
*/
|
|
6
|
+
import { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
7
|
+
import { Attrove } from "@attrove/sdk";
|
|
8
|
+
/**
|
|
9
|
+
* MCP schema for discovering and filtering calendar events.
|
|
10
|
+
*/
|
|
11
|
+
export declare const eventsToolDefinition: Tool;
|
|
12
|
+
/**
|
|
13
|
+
* Validated input accepted by {@link executeEventsTool}.
|
|
14
|
+
*/
|
|
15
|
+
export interface EventsToolInput {
|
|
16
|
+
start_date?: string;
|
|
17
|
+
end_date?: string;
|
|
18
|
+
limit?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Fetch calendar events via the SDK and format them as a human-readable summary.
|
|
22
|
+
*/
|
|
23
|
+
export declare function executeEventsTool(client: Attrove, input: EventsToolInput): Promise<string>;
|
|
24
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../../packages/mcp/src/tools/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAoC,MAAM,cAAc,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,IAoClC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsCD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,CAAC,CAgEjB"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Events Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool for listing calendar events from connected integrations.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* MCP schema for discovering and filtering calendar events.
|
|
8
|
+
*/
|
|
9
|
+
export const eventsToolDefinition = {
|
|
10
|
+
name: "attrove_events",
|
|
11
|
+
description: `List calendar events from the user's own connected calendar accounts.
|
|
12
|
+
|
|
13
|
+
This read-only tool returns events from the authenticated user's authorized calendar integrations (e.g., Google Calendar). Only calendars the user has explicitly connected are accessed. Use this when the user asks about:
|
|
14
|
+
- "What's on my calendar today/this week?"
|
|
15
|
+
- "Do I have any meetings tomorrow?"
|
|
16
|
+
- "When is my next meeting with Sarah?"
|
|
17
|
+
- "What's my schedule for Friday?"`,
|
|
18
|
+
inputSchema: {
|
|
19
|
+
type: "object",
|
|
20
|
+
properties: {
|
|
21
|
+
start_date: {
|
|
22
|
+
type: "string",
|
|
23
|
+
description: "Start of date range (ISO 8601). If omitted, the server determines the default.",
|
|
24
|
+
},
|
|
25
|
+
end_date: {
|
|
26
|
+
type: "string",
|
|
27
|
+
description: "End of date range (ISO 8601). If omitted, the server determines the default.",
|
|
28
|
+
},
|
|
29
|
+
limit: {
|
|
30
|
+
type: "number",
|
|
31
|
+
description: "Max events to return (default 25, max 100)",
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
required: [],
|
|
35
|
+
},
|
|
36
|
+
annotations: {
|
|
37
|
+
title: "Calendar Events",
|
|
38
|
+
readOnlyHint: true,
|
|
39
|
+
destructiveHint: false,
|
|
40
|
+
idempotentHint: true,
|
|
41
|
+
openWorldHint: true,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Format a calendar event's time range for display (e.g. "Jan 15, 2:00 PM – 3:00 PM").
|
|
46
|
+
* Returns a fallback string when the event contains unparseable dates.
|
|
47
|
+
*/
|
|
48
|
+
function formatEventTime(event) {
|
|
49
|
+
if (event.all_day) {
|
|
50
|
+
const start = new Date(event.start_time);
|
|
51
|
+
if (Number.isNaN(start.getTime())) {
|
|
52
|
+
return "All day";
|
|
53
|
+
}
|
|
54
|
+
return `All day (${start.toLocaleDateString()})`;
|
|
55
|
+
}
|
|
56
|
+
const start = new Date(event.start_time);
|
|
57
|
+
const end = new Date(event.end_time);
|
|
58
|
+
if (Number.isNaN(start.getTime()) || Number.isNaN(end.getTime())) {
|
|
59
|
+
return event.start_time ?? "Unknown time";
|
|
60
|
+
}
|
|
61
|
+
const dateStr = start.toLocaleDateString(undefined, {
|
|
62
|
+
month: "short",
|
|
63
|
+
day: "numeric",
|
|
64
|
+
});
|
|
65
|
+
const startTime = start.toLocaleTimeString(undefined, {
|
|
66
|
+
hour: "numeric",
|
|
67
|
+
minute: "2-digit",
|
|
68
|
+
});
|
|
69
|
+
const endTime = end.toLocaleTimeString(undefined, {
|
|
70
|
+
hour: "numeric",
|
|
71
|
+
minute: "2-digit",
|
|
72
|
+
});
|
|
73
|
+
return `${dateStr}, ${startTime} – ${endTime}`;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Fetch calendar events via the SDK and format them as a human-readable summary.
|
|
77
|
+
*/
|
|
78
|
+
export async function executeEventsTool(client, input) {
|
|
79
|
+
const options = {
|
|
80
|
+
expand: ["attendees", "location", "description"],
|
|
81
|
+
};
|
|
82
|
+
if (input.start_date) {
|
|
83
|
+
options.startDate = input.start_date;
|
|
84
|
+
}
|
|
85
|
+
if (input.end_date) {
|
|
86
|
+
options.endDate = input.end_date;
|
|
87
|
+
}
|
|
88
|
+
options.limit = Math.max(1, Math.min(input.limit ?? 25, 100));
|
|
89
|
+
const response = await client.events.list(options);
|
|
90
|
+
if (!response.data) {
|
|
91
|
+
// prettier-ignore
|
|
92
|
+
console.error("[AttroveMCP]", JSON.stringify({ level: "warn", msg: "Events API returned success but data was nullish", errorId: "MCP_EVENTS_MALFORMED_RESPONSE" }));
|
|
93
|
+
return "The events API returned an unexpected response format. Please try again.";
|
|
94
|
+
}
|
|
95
|
+
if (response.data.length === 0) {
|
|
96
|
+
return "No calendar events found for the specified date range.";
|
|
97
|
+
}
|
|
98
|
+
const events = response.data;
|
|
99
|
+
let result = `Found ${events.length} calendar event(s):\n`;
|
|
100
|
+
for (const event of events) {
|
|
101
|
+
result += `\n### ${event.title}\n`;
|
|
102
|
+
result += `- **When:** ${formatEventTime(event)}\n`;
|
|
103
|
+
if (event.location) {
|
|
104
|
+
result += `- **Where:** ${event.location}\n`;
|
|
105
|
+
}
|
|
106
|
+
if (event.event_link) {
|
|
107
|
+
result += `- **Meeting link:** ${event.event_link}\n`;
|
|
108
|
+
}
|
|
109
|
+
else if (event.html_link) {
|
|
110
|
+
result += `- **Calendar link:** ${event.html_link}\n`;
|
|
111
|
+
}
|
|
112
|
+
if (event.attendees?.length) {
|
|
113
|
+
const attendeeList = event.attendees
|
|
114
|
+
.map((a) => {
|
|
115
|
+
const name = a.name || a.email;
|
|
116
|
+
const status = a.status ? ` (${a.status})` : "";
|
|
117
|
+
return `${name}${status}`;
|
|
118
|
+
})
|
|
119
|
+
.join(", ");
|
|
120
|
+
result += `- **Attendees:** ${attendeeList}\n`;
|
|
121
|
+
}
|
|
122
|
+
if (event.status && event.status !== "confirmed") {
|
|
123
|
+
result += `- **Status:** ${event.status}\n`;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (response.pagination?.has_more) {
|
|
127
|
+
result += `\n_Showing ${events.length} of ${response.pagination.total_count ?? "more"} events. Adjust start_date, end_date, or limit to refine results._\n`;
|
|
128
|
+
}
|
|
129
|
+
return result;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../../packages/mcp/src/tools/events.ts"],"names":[],"mappings":"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"}
|
package/esm/tools/index.d.ts
CHANGED
|
@@ -3,79 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Tool definitions and executors for the Attrove MCP server.
|
|
5
5
|
*/
|
|
6
|
+
import { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
6
7
|
import { queryToolDefinition, executeQueryTool, QueryToolInput } from "./query.js";
|
|
7
8
|
import { searchToolDefinition, executeSearchTool, SearchToolInput } from "./search.js";
|
|
8
9
|
import { integrationsToolDefinition, executeIntegrationsTool } from "./integrations.js";
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
import { eventsToolDefinition, executeEventsTool, EventsToolInput } from "./events.js";
|
|
11
|
+
import { meetingsToolDefinition, executeMeetingsTool, MeetingsToolInput } from "./meetings.js";
|
|
12
|
+
export { queryToolDefinition, executeQueryTool, searchToolDefinition, executeSearchTool, integrationsToolDefinition, executeIntegrationsTool, eventsToolDefinition, executeEventsTool, meetingsToolDefinition, executeMeetingsTool, };
|
|
13
|
+
export type { QueryToolInput, SearchToolInput, EventsToolInput, MeetingsToolInput, };
|
|
11
14
|
/**
|
|
12
15
|
* All tool definitions for registration with MCP.
|
|
13
16
|
*/
|
|
14
|
-
export declare const allToolDefinitions: readonly [
|
|
15
|
-
name: string;
|
|
16
|
-
description: string;
|
|
17
|
-
inputSchema: {
|
|
18
|
-
type: "object";
|
|
19
|
-
properties: {
|
|
20
|
-
query: {
|
|
21
|
-
type: string;
|
|
22
|
-
description: string;
|
|
23
|
-
};
|
|
24
|
-
integration_ids: {
|
|
25
|
-
type: string;
|
|
26
|
-
items: {
|
|
27
|
-
type: string;
|
|
28
|
-
};
|
|
29
|
-
description: string;
|
|
30
|
-
};
|
|
31
|
-
include_sources: {
|
|
32
|
-
type: string;
|
|
33
|
-
description: string;
|
|
34
|
-
default: boolean;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
required: string[];
|
|
38
|
-
};
|
|
39
|
-
}, {
|
|
40
|
-
name: string;
|
|
41
|
-
description: string;
|
|
42
|
-
inputSchema: {
|
|
43
|
-
type: "object";
|
|
44
|
-
properties: {
|
|
45
|
-
query: {
|
|
46
|
-
type: string;
|
|
47
|
-
description: string;
|
|
48
|
-
};
|
|
49
|
-
after_date: {
|
|
50
|
-
type: string;
|
|
51
|
-
description: string;
|
|
52
|
-
};
|
|
53
|
-
before_date: {
|
|
54
|
-
type: string;
|
|
55
|
-
description: string;
|
|
56
|
-
};
|
|
57
|
-
sender_domains: {
|
|
58
|
-
type: string;
|
|
59
|
-
items: {
|
|
60
|
-
type: string;
|
|
61
|
-
};
|
|
62
|
-
description: string;
|
|
63
|
-
};
|
|
64
|
-
include_body_text: {
|
|
65
|
-
type: string;
|
|
66
|
-
description: string;
|
|
67
|
-
default: boolean;
|
|
68
|
-
};
|
|
69
|
-
};
|
|
70
|
-
required: string[];
|
|
71
|
-
};
|
|
72
|
-
}, {
|
|
73
|
-
name: string;
|
|
74
|
-
description: string;
|
|
75
|
-
inputSchema: {
|
|
76
|
-
type: "object";
|
|
77
|
-
properties: {};
|
|
78
|
-
required: never[];
|
|
79
|
-
};
|
|
80
|
-
}];
|
|
17
|
+
export declare const allToolDefinitions: readonly Tool[];
|
|
81
18
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/tools/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/mcp/src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/mcp/src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,GACpB,CAAC;AAEF,YAAY,EACV,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,IAAI,EAM7C,CAAC"}
|
package/esm/tools/index.js
CHANGED
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
import { queryToolDefinition, executeQueryTool, } from "./query.js";
|
|
7
7
|
import { searchToolDefinition, executeSearchTool, } from "./search.js";
|
|
8
8
|
import { integrationsToolDefinition, executeIntegrationsTool, } from "./integrations.js";
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
import { eventsToolDefinition, executeEventsTool, } from "./events.js";
|
|
10
|
+
import { meetingsToolDefinition, executeMeetingsTool, } from "./meetings.js";
|
|
11
|
+
export { queryToolDefinition, executeQueryTool, searchToolDefinition, executeSearchTool, integrationsToolDefinition, executeIntegrationsTool, eventsToolDefinition, executeEventsTool, meetingsToolDefinition, executeMeetingsTool, };
|
|
11
12
|
/**
|
|
12
13
|
* All tool definitions for registration with MCP.
|
|
13
14
|
*/
|
|
@@ -15,5 +16,7 @@ export const allToolDefinitions = [
|
|
|
15
16
|
queryToolDefinition,
|
|
16
17
|
searchToolDefinition,
|
|
17
18
|
integrationsToolDefinition,
|
|
19
|
+
eventsToolDefinition,
|
|
20
|
+
meetingsToolDefinition,
|
|
18
21
|
];
|
|
19
22
|
//# sourceMappingURL=index.js.map
|
package/esm/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/mcp/src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/mcp/src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAElB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAElB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GAEpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,GACpB,CAAC;AASF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,mBAAmB;IACnB,oBAAoB;IACpB,0BAA0B;IAC1B,oBAAoB;IACpB,sBAAsB;CACvB,CAAC"}
|
|
@@ -3,21 +3,14 @@
|
|
|
3
3
|
*
|
|
4
4
|
* MCP tool for listing and managing connected integrations.
|
|
5
5
|
*/
|
|
6
|
+
import { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
6
7
|
import { Attrove } from "@attrove/sdk";
|
|
7
8
|
/**
|
|
8
9
|
* Tool definition for attrove_integrations.
|
|
9
10
|
*/
|
|
10
|
-
export declare const integrationsToolDefinition:
|
|
11
|
-
name: string;
|
|
12
|
-
description: string;
|
|
13
|
-
inputSchema: {
|
|
14
|
-
type: "object";
|
|
15
|
-
properties: {};
|
|
16
|
-
required: never[];
|
|
17
|
-
};
|
|
18
|
-
};
|
|
11
|
+
export declare const integrationsToolDefinition: Tool;
|
|
19
12
|
/**
|
|
20
|
-
*
|
|
13
|
+
* List all connected integrations and format them for MCP display.
|
|
21
14
|
*/
|
|
22
15
|
export declare function executeIntegrationsTool(client: Attrove): Promise<string>;
|
|
23
16
|
//# sourceMappingURL=integrations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../../../../../packages/mcp/src/tools/integrations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAe,MAAM,cAAc,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../../../../../packages/mcp/src/tools/integrations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAe,MAAM,cAAc,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,IAyBxC,CAAC;AAEF;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,CAAC,CAsBjB"}
|