msteams-mcp 0.3.3 → 0.3.4
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 +6 -6
- package/dist/tools/search-tools.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ This server calls Microsoft's internal Teams APIs directly (Substrate, chatsvc,
|
|
|
10
10
|
1. Run `teams_login` to open a browser and log in
|
|
11
11
|
2. OAuth tokens are extracted and cached
|
|
12
12
|
3. All operations use cached tokens directly (no browser needed)
|
|
13
|
-
4.
|
|
13
|
+
4. Automatic token refresh (~1 hour)
|
|
14
14
|
|
|
15
15
|
## Installation
|
|
16
16
|
|
|
@@ -111,17 +111,17 @@ The search supports Teams' native operators:
|
|
|
111
111
|
|
|
112
112
|
```
|
|
113
113
|
from:sarah@company.com # Messages from person
|
|
114
|
-
sent:
|
|
115
|
-
sent
|
|
114
|
+
sent:2026-01-20 # Messages from specific date
|
|
115
|
+
sent:>=2026-01-15 # Messages since date
|
|
116
116
|
in:project-alpha # Messages in channel
|
|
117
117
|
"Rob Smith" # Find @mentions (name in quotes)
|
|
118
118
|
hasattachment:true # Messages with files
|
|
119
119
|
NOT from:email@co.com # Exclude results
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
-
Combine operators: `from:sarah@co.com sent
|
|
122
|
+
Combine operators: `from:sarah@co.com sent:>=2026-01-18 hasattachment:true`
|
|
123
123
|
|
|
124
|
-
**Note:** `@me`, `from:me`, `to:me` do NOT work. Use `teams_get_me` first to get your email/displayName
|
|
124
|
+
**Note:** `@me`, `from:me`, `to:me` do NOT work. Use `teams_get_me` first to get your email/displayName. Also `sent:lastweek`, `sent:today`, `sent:thisweek` do NOT work - use explicit dates or omit (results are sorted by recency).
|
|
125
125
|
|
|
126
126
|
## MCP Resources
|
|
127
127
|
|
|
@@ -176,7 +176,7 @@ npm run test:mcp -- unread # Check unread counts
|
|
|
176
176
|
## Limitations
|
|
177
177
|
|
|
178
178
|
- **Login required** - Run `teams_login` to authenticate (opens browser)
|
|
179
|
-
- **Token expiry** - Tokens expire after ~1 hour; run `teams_login` again when needed
|
|
179
|
+
- **Token expiry** - Tokens expire after ~1 hour; headless refresh is attempted or run `teams_login` again when needed
|
|
180
180
|
- **Undocumented APIs** - Uses Microsoft's internal APIs which may change without notice
|
|
181
181
|
- **Search limitations** - Full-text search only; thread replies not matching search terms won't appear (use `teams_get_thread` for full context)
|
|
182
182
|
- **Own messages only** - Edit/delete only works on your own messages
|
|
@@ -28,13 +28,13 @@ export const FindChannelInputSchema = z.object({
|
|
|
28
28
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
29
29
|
const searchToolDefinition = {
|
|
30
30
|
name: 'teams_search',
|
|
31
|
-
description: 'Search for messages in Microsoft Teams. Returns matching messages with sender, timestamp, content, conversationId (for replies), and pagination info. Supports search operators: from:email, sent:
|
|
31
|
+
description: 'Search for messages in Microsoft Teams. Returns matching messages with sender, timestamp, content, conversationId (for replies), and pagination info. Supports search operators: from:email, sent:YYYY-MM-DD, in:channel, hasattachment:true, "Name" for @mentions. Combine with NOT to exclude (e.g., NOT from:rob@co.com). Results are sorted by recency.',
|
|
32
32
|
inputSchema: {
|
|
33
33
|
type: 'object',
|
|
34
34
|
properties: {
|
|
35
35
|
query: {
|
|
36
36
|
type: 'string',
|
|
37
|
-
description: 'Search query with optional operators. Examples: "budget report", "from:sarah@co.com
|
|
37
|
+
description: 'Search query with optional operators. Examples: "budget report", "from:sarah@co.com", "\"Rob Smith\" NOT from:rob@co.com" (find @mentions of Rob). For date filtering use sent:YYYY-MM-DD or sent:>=YYYY-MM-DD (e.g., sent:>=2026-01-20). IMPORTANT: "@me", "from:me", "to:me" do NOT work - use teams_get_me first to get actual email/displayName. Also "sent:lastweek" and "sent:today" do NOT work - use explicit dates or omit (results are sorted by recency).',
|
|
38
38
|
},
|
|
39
39
|
maxResults: {
|
|
40
40
|
type: 'number',
|