@mcp-consultant-tools/teams 27.0.0 → 28.0.0-beta.2

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/build/index.d.ts CHANGED
@@ -3,28 +3,16 @@
3
3
  * @mcp-consultant-tools/teams
4
4
  *
5
5
  * MCP server for Microsoft Teams integration.
6
- * Send messages and adaptive cards to Teams channels for release announcements.
7
- *
8
- * Authentication: Client Credentials (app-only) - no user interaction required.
9
- */
10
- import { TeamsService } from "./TeamsService.js";
11
- /**
12
- * Register Teams tools and prompts to an MCP server
13
- * @param server - The MCP server instance
14
- * @param teamsService - Optional pre-configured service (for testing)
15
- */
16
- export declare function registerTeamsTools(server: any, teamsService?: TeamsService): void;
17
- /**
18
- * Export service class for direct usage
19
- */
20
- export { TeamsService } from "./TeamsService.js";
21
- export type { TeamsConfig } from "./TeamsService.js";
22
- /**
23
- * Export types
6
+ * Entry point: MCP server startup + backward-compatible registerTeamsTools().
24
7
  */
25
- export * from "./types.js";
26
8
  /**
27
- * Export card templates
9
+ * Register Teams tools to an MCP server.
10
+ * Backward-compatible API for the meta package.
28
11
  */
29
- export { getCardFromTemplate, AVAILABLE_TEMPLATES } from "./cards/templates.js";
12
+ export declare function registerTeamsTools(server: any): void;
13
+ export { TeamsService } from './services/teams-service.js';
14
+ export type { TeamsConfig } from './types.js';
15
+ export type { ServiceContext } from './types.js';
16
+ export * from './types.js';
17
+ export { getCardFromTemplate, AVAILABLE_TEMPLATES } from './cards/templates.js';
30
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWjD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAmFjF;AAED;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,cAAc,YAAY,CAAC;AAE3B;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAwEH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,CAGpD;AAGD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
package/build/index.js CHANGED
@@ -3,41 +3,24 @@
3
3
  * @mcp-consultant-tools/teams
4
4
  *
5
5
  * MCP server for Microsoft Teams integration.
6
- * Send messages and adaptive cards to Teams channels for release announcements.
7
- *
8
- * Authentication: Client Credentials (app-only) - no user interaction required.
6
+ * Entry point: MCP server startup + backward-compatible registerTeamsTools().
9
7
  */
10
8
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
11
9
  import { pathToFileURL } from "node:url";
12
10
  import { realpathSync } from "node:fs";
13
11
  import { createMcpServer, createEnvLoader } from "@mcp-consultant-tools/core";
14
- import { TeamsService } from "./TeamsService.js";
15
- import { registerSendMessageTool } from "./tools/send-message.js";
16
- import { registerSendCardTool } from "./tools/send-card.js";
17
- import { registerListChannelsTool, registerListTeamsTool } from "./tools/list-channels.js";
18
- import { registerAuthenticateTool, registerAuthStatusTool, registerLogoutTool, } from "./tools/authenticate.js";
12
+ import { TeamsService } from './services/teams-service.js';
13
+ import { registerAllTools } from './tools/index.js';
19
14
  /**
20
- * Register Teams tools and prompts to an MCP server
21
- * @param server - The MCP server instance
22
- * @param teamsService - Optional pre-configured service (for testing)
15
+ * Build a ServiceContext from environment variables (lazy service initialization).
23
16
  */
24
- export function registerTeamsTools(server, teamsService) {
25
- let service = teamsService || null;
26
- /**
27
- * Lazy initialization - service created on first use
28
- * Supports two auth modes:
29
- * - client-credentials: Requires TEAMS_CLIENT_SECRET (for automation)
30
- * - device-code: No secret needed, authenticates via browser (default)
31
- */
32
- function getTeamsService() {
17
+ function createServiceContext() {
18
+ let service = null;
19
+ function getService() {
33
20
  if (!service) {
34
- // Determine auth mode
35
21
  const authMode = process.env.TEAMS_AUTH_MODE === "client-credentials"
36
22
  ? "client-credentials"
37
23
  : "device-code";
38
- // TEAMS_CLIENT_ID is required - must be a custom app registration
39
- // The previously used "Microsoft Graph Command Line Tools" client ID was retired March 2025
40
- // See: https://devblogs.microsoft.com/microsoft365dev/microsoft-graph-cli-retirement/
41
24
  const clientId = process.env.TEAMS_CLIENT_ID;
42
25
  const tenantId = process.env.TEAMS_TENANT_ID;
43
26
  if (!clientId) {
@@ -52,11 +35,9 @@ export function registerTeamsTools(server, teamsService) {
52
35
  throw new Error("TEAMS_TENANT_ID is required. Set it to your Azure AD tenant ID.\n" +
53
36
  "Find it in Azure Portal → Azure Active Directory → Overview → Tenant ID");
54
37
  }
55
- if (authMode === "client-credentials") {
56
- if (!process.env.TEAMS_CLIENT_SECRET) {
57
- throw new Error("TEAMS_CLIENT_SECRET is required for client-credentials auth mode. " +
58
- "For interactive authentication, use TEAMS_AUTH_MODE=device-code (default).");
59
- }
38
+ if (authMode === "client-credentials" && !process.env.TEAMS_CLIENT_SECRET) {
39
+ throw new Error("TEAMS_CLIENT_SECRET is required for client-credentials auth mode. " +
40
+ "For interactive authentication, use TEAMS_AUTH_MODE=device-code (default).");
60
41
  }
61
42
  const config = {
62
43
  authMode,
@@ -71,33 +52,22 @@ export function registerTeamsTools(server, teamsService) {
71
52
  }
72
53
  return service;
73
54
  }
74
- // ========================================
75
- // TOOLS
76
- // ========================================
77
- // Authentication tools (call these first for device-code mode)
78
- registerAuthenticateTool(server, getTeamsService);
79
- registerAuthStatusTool(server, getTeamsService);
80
- registerLogoutTool(server, getTeamsService);
81
- // Messaging tools
82
- registerSendMessageTool(server, getTeamsService);
83
- registerSendCardTool(server, getTeamsService);
84
- registerListChannelsTool(server, getTeamsService);
85
- registerListTeamsTool(server, getTeamsService);
86
- console.error("Teams tools registered: authenticate, auth-status, logout, " +
87
- "send-channel-message, send-adaptive-card, list-channels, list-teams");
55
+ return {
56
+ get teams() { return getService(); },
57
+ };
88
58
  }
89
59
  /**
90
- * Export service class for direct usage
91
- */
92
- export { TeamsService } from "./TeamsService.js";
93
- /**
94
- * Export types
60
+ * Register Teams tools to an MCP server.
61
+ * Backward-compatible API for the meta package.
95
62
  */
96
- export * from "./types.js";
97
- /**
98
- * Export card templates
99
- */
100
- export { getCardFromTemplate, AVAILABLE_TEMPLATES } from "./cards/templates.js";
63
+ export function registerTeamsTools(server) {
64
+ const ctx = createServiceContext();
65
+ registerAllTools(server, ctx);
66
+ }
67
+ // Backward-compatible exports
68
+ export { TeamsService } from './services/teams-service.js';
69
+ export * from './types.js';
70
+ export { getCardFromTemplate, AVAILABLE_TEMPLATES } from './cards/templates.js';
101
71
  /**
102
72
  * Standalone CLI server (when run directly)
103
73
  * Uses realpathSync to resolve symlinks created by npx
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Services barrel export
3
+ */
4
+ export { TeamsService } from './teams-service.js';
5
+ export type { TeamsConfig } from './teams-service.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Services barrel export
3
+ */
4
+ export { TeamsService } from './teams-service.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Teams Service - Microsoft Graph API client for Teams operations
3
+ *
4
+ * Supports two authentication modes:
5
+ * - Client Credentials (app-only) - for automation, requires client secret
6
+ * - Device Code (user auth) - for interactive use, authenticates via browser
7
+ *
8
+ * For device-code mode, use the authenticate() method first, which returns
9
+ * the URL and code for the user to complete authentication.
10
+ */
11
+ import type { TeamsConfig, AdaptiveCard, TeamInfo, ChannelInfo, SendMessageResult, MessageImportance, AuthStatusResponse, DeviceCodeResponse, AuthResult } from "../types.js";
12
+ export declare class TeamsService {
13
+ private config;
14
+ private msalConfidentialClient;
15
+ private msalPublicClient;
16
+ private graphClient;
17
+ private accessToken;
18
+ private tokenExpirationTime;
19
+ private pendingAuth;
20
+ constructor(config: TeamsConfig);
21
+ /**
22
+ * Load stored token from disk (device-code mode)
23
+ */
24
+ private loadStoredToken;
25
+ /**
26
+ * Save token to disk (device-code mode)
27
+ */
28
+ private saveToken;
29
+ /**
30
+ * Get access token - handles both auth modes
31
+ */
32
+ private getAccessToken;
33
+ /**
34
+ * Get token using client credentials flow
35
+ */
36
+ private getTokenClientCredentials;
37
+ /**
38
+ * Get token using device code flow
39
+ * This method checks for existing/cached tokens or waits for pending auth.
40
+ * It does NOT start a new auth flow - use startAuthentication() for that.
41
+ */
42
+ private getTokenDeviceCode;
43
+ /**
44
+ * Check if authenticated (device-code mode)
45
+ */
46
+ isAuthenticated(): boolean;
47
+ /**
48
+ * Get current authentication status
49
+ */
50
+ getAuthStatus(): AuthStatusResponse;
51
+ /**
52
+ * Start device-code authentication flow
53
+ * Returns immediately with the URL and code for the user
54
+ * Polls in background and resolves when complete
55
+ */
56
+ startAuthentication(): Promise<DeviceCodeResponse | AuthResult>;
57
+ /**
58
+ * Wait for pending authentication to complete
59
+ * @param timeoutMs Maximum time to wait (default 5 minutes)
60
+ */
61
+ waitForAuthentication(timeoutMs?: number): Promise<AuthResult>;
62
+ /**
63
+ * Require authentication before proceeding
64
+ * Throws a helpful error if not authenticated
65
+ */
66
+ requireAuth(): void;
67
+ /**
68
+ * Clear stored authentication (device-code mode)
69
+ */
70
+ logout(): void;
71
+ /**
72
+ * Get or create Graph client with current access token
73
+ */
74
+ private getGraphClient;
75
+ /**
76
+ * Get the effective team ID (from parameter or default)
77
+ */
78
+ private getTeamId;
79
+ /**
80
+ * Get the effective channel ID (from parameter or default)
81
+ */
82
+ private getChannelId;
83
+ /**
84
+ * List teams the user/app has access to
85
+ */
86
+ listTeams(): Promise<TeamInfo[]>;
87
+ /**
88
+ * List channels in a team
89
+ */
90
+ listChannels(teamId?: string): Promise<ChannelInfo[]>;
91
+ /**
92
+ * Send a text or HTML message to a channel
93
+ */
94
+ sendChannelMessage(content: string, options?: {
95
+ teamId?: string;
96
+ channelId?: string;
97
+ contentType?: "text" | "html";
98
+ importance?: MessageImportance;
99
+ }): Promise<SendMessageResult>;
100
+ /**
101
+ * Send an Adaptive Card to a channel
102
+ */
103
+ sendAdaptiveCard(card: AdaptiveCard, options?: {
104
+ teamId?: string;
105
+ channelId?: string;
106
+ importance?: MessageImportance;
107
+ }): Promise<SendMessageResult>;
108
+ }
109
+ export type { TeamsConfig };
110
+ //# sourceMappingURL=teams-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams-service.d.ts","sourceRoot":"","sources":["../../src/services/teams-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EAEjB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACX,MAAM,aAAa,CAAC;AAoBrB,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,WAAW,CAA4B;gBAEnC,MAAM,EAAE,WAAW;IA8B/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB;;OAEG;YACW,cAAc;IAe5B;;OAEG;YACW,yBAAyB;IA2BvC;;;;OAIG;YACW,kBAAkB;IAiDhC;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,aAAa,IAAI,kBAAkB;IAgEnC;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,GAAG,UAAU,CAAC;IAuHrE;;;OAGG;IACG,qBAAqB,CAAC,SAAS,GAAE,MAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IA6C5E;;;OAGG;IACH,WAAW,IAAI,IAAI;IAsBnB;;OAEG;IACH,MAAM,IAAI,IAAI;IAed;;OAEG;YACW,cAAc;IAY5B;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IA0BtC;;OAEG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAsB3D;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC9B,UAAU,CAAC,EAAE,iBAAiB,CAAC;KAC3B,GACL,OAAO,CAAC,iBAAiB,CAAC;IA+B7B;;OAEG;IACG,gBAAgB,CACpB,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,iBAAiB,CAAC;KAC3B,GACL,OAAO,CAAC,iBAAiB,CAAC;CAqC9B;AAED,YAAY,EAAE,WAAW,EAAE,CAAC"}