teams-mcp-server
Version:
Microsoft Teams MCP server with direct messaging support
61 lines (60 loc) • 2.24 kB
JavaScript
export function createSendMessageTool(teamsClient) {
return {
name: 'teams_send_message',
description: 'Send a message to a Teams chat',
inputSchema: {
type: 'object',
properties: {
chatId: {
type: 'string',
description: 'ID of the chat to send message to'
},
content: {
type: 'string',
description: 'Message content (text or HTML)'
},
contentType: {
type: 'string',
enum: ['text', 'html'],
description: 'Content type of the message',
default: 'text'
}
},
required: ['chatId', 'content']
},
handler: async (args) => {
try {
await teamsClient.ensureAuthenticated();
const request = {
chatId: args.chatId,
content: args.content,
contentType: args.contentType || 'text'
};
const message = await teamsClient.sendMessage(request);
return {
content: [{
type: 'text',
text: JSON.stringify({
success: true,
message: {
id: message.id,
content: message.body.content,
contentType: message.body.contentType,
sent: new Date(message.createdDateTime).toLocaleString(),
sender: message.from?.user?.displayName || 'You'
}
}, null, 2)
}]
};
}
catch (error) {
return {
content: [{
type: 'text',
text: `Failed to send message: ${error.message}`
}]
};
}
}
};
}