@aot-tech/gmail-mcp-server
Version:
Gmail MCP Server with Bearer Token Authentication - A Model Context Protocol server for Gmail access
52 lines (51 loc) • 1.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.listLabelsTool = void 0;
const email_schemas_1 = require("../validation/email-schemas");
const api_1 = require("../gmail-sdk/api");
exports.listLabelsTool = {
name: 'gmail_list_labels',
description: 'List all available Gmail labels',
parameters: {
type: 'object',
properties: {},
},
handler: async (args) => {
try {
email_schemas_1.ListLabelsSchema.parse(args);
const result = await (0, api_1.listLabels)();
const labels = result.labels || [];
if (labels.length === 0) {
return {
content: [
{
type: 'text',
text: 'No labels found.',
},
],
};
}
const labelList = labels.map(label => `• ${label.name} (ID: ${label.id})`).join('\n');
return {
content: [
{
type: 'text',
text: `Available Gmail Labels:\n\n${labelList}`,
},
],
};
}
catch (error) {
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
return {
content: [
{
type: 'text',
text: `Error listing labels: ${errorMessage}`,
},
],
isError: true,
};
}
},
};