@mcp-consultant-tools/sharepoint 21.0.0-beta.2 → 21.0.0-beta.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/build/SharePointService.d.ts +9 -0
- package/build/SharePointService.d.ts.map +1 -1
- package/build/SharePointService.js +13 -0
- package/build/SharePointService.js.map +1 -1
- package/build/http-server.d.ts +3 -0
- package/build/http-server.d.ts.map +1 -0
- package/build/http-server.js +216 -0
- package/build/http-server.js.map +1 -0
- package/build/index.d.ts +6 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +42 -1036
- package/build/index.js.map +1 -1
- package/build/services/FileOperationsService.d.ts +52 -0
- package/build/services/FileOperationsService.d.ts.map +1 -0
- package/build/services/FileOperationsService.js +451 -0
- package/build/services/FileOperationsService.js.map +1 -0
- package/build/tools/prompts.d.ts +11 -0
- package/build/tools/prompts.d.ts.map +1 -0
- package/build/tools/prompts.js +470 -0
- package/build/tools/prompts.js.map +1 -0
- package/build/tools/read-tools.d.ts +13 -0
- package/build/tools/read-tools.d.ts.map +1 -0
- package/build/tools/read-tools.js +271 -0
- package/build/tools/read-tools.js.map +1 -0
- package/build/tools/write-tools.d.ts +14 -0
- package/build/tools/write-tools.d.ts.map +1 -0
- package/build/tools/write-tools.js +137 -0
- package/build/tools/write-tools.js.map +1 -0
- package/build/types/sharepoint-types.d.ts +34 -0
- package/build/types/sharepoint-types.d.ts.map +1 -1
- package/build/utils/tool-examples.d.ts +35 -0
- package/build/utils/tool-examples.d.ts.map +1 -0
- package/build/utils/tool-examples.js +55 -0
- package/build/utils/tool-examples.js.map +1 -0
- package/package.json +5 -2
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SharePoint MCP Prompts
|
|
3
|
+
*
|
|
4
|
+
* All prompt registrations extracted from index.ts for file size management.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import * as spoFormatters from '../utils/sharepoint-formatters.js';
|
|
8
|
+
/**
|
|
9
|
+
* Register all SharePoint prompts with the MCP server
|
|
10
|
+
*/
|
|
11
|
+
export function registerSharePointPrompts(server, getService, getPPService) {
|
|
12
|
+
server.prompt("spo-site-overview", {
|
|
13
|
+
siteId: z.string().describe("Site ID from configuration"),
|
|
14
|
+
}, async ({ siteId }) => {
|
|
15
|
+
try {
|
|
16
|
+
const service = getService();
|
|
17
|
+
const site = await service.getSiteInfo(siteId);
|
|
18
|
+
const drives = await service.listDrives(siteId);
|
|
19
|
+
const sections = [];
|
|
20
|
+
sections.push(spoFormatters.formatSiteOverviewAsMarkdown(site));
|
|
21
|
+
sections.push('');
|
|
22
|
+
sections.push('## Document Libraries');
|
|
23
|
+
sections.push(spoFormatters.formatDrivesAsMarkdown(drives));
|
|
24
|
+
return {
|
|
25
|
+
description: `SharePoint site overview: ${site.displayName}`,
|
|
26
|
+
messages: [
|
|
27
|
+
{ role: "user", content: { type: "text", text: `Show overview of SharePoint site ${siteId}` } },
|
|
28
|
+
{ role: "assistant", content: { type: "text", text: sections.join('\n') } },
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
console.error("Error generating site overview:", error);
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
server.prompt("spo-library-details", {
|
|
38
|
+
siteId: z.string().describe("Site ID"),
|
|
39
|
+
driveId: z.string().describe("Drive (library) ID"),
|
|
40
|
+
}, async ({ siteId, driveId }) => {
|
|
41
|
+
try {
|
|
42
|
+
const service = getService();
|
|
43
|
+
const drive = await service.getDriveInfo(siteId, driveId);
|
|
44
|
+
const recentItems = await service.getRecentItems(siteId, driveId, 10, 30);
|
|
45
|
+
const sections = [];
|
|
46
|
+
sections.push(spoFormatters.formatDriveDetailsAsMarkdown(drive));
|
|
47
|
+
sections.push('');
|
|
48
|
+
sections.push('## Recent Activity (Last 30 days)');
|
|
49
|
+
sections.push(spoFormatters.formatItemsAsMarkdown(recentItems));
|
|
50
|
+
return {
|
|
51
|
+
description: `Document library details: ${drive.name}`,
|
|
52
|
+
messages: [
|
|
53
|
+
{ role: "user", content: { type: "text", text: `Show details for document library ${driveId} in site ${siteId}` } },
|
|
54
|
+
{ role: "assistant", content: { type: "text", text: sections.join('\n') } },
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
console.error("Error generating library details:", error);
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
server.prompt("spo-document-search", {
|
|
64
|
+
siteId: z.string().describe("Site ID"),
|
|
65
|
+
driveId: z.string().describe("Drive ID"),
|
|
66
|
+
query: z.string().describe("Search query (filename or keywords)"),
|
|
67
|
+
}, async ({ siteId, driveId, query }) => {
|
|
68
|
+
try {
|
|
69
|
+
const service = getService();
|
|
70
|
+
const searchResults = await service.searchItems(siteId, driveId, query);
|
|
71
|
+
const sections = [];
|
|
72
|
+
sections.push(`# Search Results: "${query}"`);
|
|
73
|
+
sections.push('');
|
|
74
|
+
sections.push(`Found ${searchResults.items.length} result(s)`);
|
|
75
|
+
sections.push('');
|
|
76
|
+
sections.push(spoFormatters.formatItemsAsMarkdown(searchResults.items));
|
|
77
|
+
return {
|
|
78
|
+
description: `Search results for "${query}"`,
|
|
79
|
+
messages: [
|
|
80
|
+
{ role: "user", content: { type: "text", text: `Search for "${query}" in drive ${driveId} of site ${siteId}` } },
|
|
81
|
+
{ role: "assistant", content: { type: "text", text: sections.join('\n') } },
|
|
82
|
+
],
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
console.error("Error generating search results:", error);
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
server.prompt("spo-recent-activity", {
|
|
91
|
+
siteId: z.string().describe("Site ID"),
|
|
92
|
+
driveId: z.string().describe("Drive ID"),
|
|
93
|
+
days: z.string().optional().describe("Number of days to look back (default: 7)"),
|
|
94
|
+
}, async ({ siteId, driveId, days }) => {
|
|
95
|
+
try {
|
|
96
|
+
const service = getService();
|
|
97
|
+
const daysBack = days ? parseInt(days) : 7;
|
|
98
|
+
const recentItems = await service.getRecentItems(siteId, driveId, 50, daysBack);
|
|
99
|
+
const sections = [];
|
|
100
|
+
sections.push(`# Recent Activity (Last ${daysBack} days)`);
|
|
101
|
+
sections.push('');
|
|
102
|
+
sections.push(`**Document Library:** ${driveId}`);
|
|
103
|
+
sections.push(`**Total Changes:** ${recentItems.length}`);
|
|
104
|
+
sections.push('');
|
|
105
|
+
sections.push(spoFormatters.formatItemsAsMarkdown(recentItems));
|
|
106
|
+
return {
|
|
107
|
+
description: `Recent activity for last ${daysBack} days`,
|
|
108
|
+
messages: [
|
|
109
|
+
{ role: "user", content: { type: "text", text: `Show recent activity in drive ${driveId} for last ${daysBack} days` } },
|
|
110
|
+
{ role: "assistant", content: { type: "text", text: sections.join('\n') } },
|
|
111
|
+
],
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
console.error("Error generating recent activity report:", error);
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
server.prompt("spo-validate-crm-integration", {
|
|
120
|
+
documentLocationId: z.string().describe("Document location ID from PowerPlatform"),
|
|
121
|
+
}, async ({ documentLocationId }) => {
|
|
122
|
+
try {
|
|
123
|
+
const spoService = getService();
|
|
124
|
+
const ppService = getPPService();
|
|
125
|
+
const result = await spoService.validateDocumentLocation(ppService, documentLocationId);
|
|
126
|
+
const sections = [];
|
|
127
|
+
sections.push(spoFormatters.formatValidationResultAsMarkdown(result));
|
|
128
|
+
return {
|
|
129
|
+
description: `Validation result for document location ${documentLocationId}`,
|
|
130
|
+
messages: [
|
|
131
|
+
{ role: "user", content: { type: "text", text: `Validate PowerPlatform document location ${documentLocationId}` } },
|
|
132
|
+
{ role: "assistant", content: { type: "text", text: sections.join('\n') } },
|
|
133
|
+
],
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
console.error("Error validating CRM integration:", error);
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
server.prompt("spo-document-location-audit", {
|
|
142
|
+
entityName: z.string().optional().describe("Entity logical name (e.g., 'account')"),
|
|
143
|
+
recordId: z.string().optional().describe("Record ID (GUID)"),
|
|
144
|
+
}, async ({ entityName, recordId }) => {
|
|
145
|
+
try {
|
|
146
|
+
const spoService = getService();
|
|
147
|
+
const ppService = getPPService();
|
|
148
|
+
const locations = await spoService.getCrmDocumentLocations(ppService, entityName, recordId);
|
|
149
|
+
const analysis = spoFormatters.analyzeCrmDocumentLocations(locations);
|
|
150
|
+
const sections = [];
|
|
151
|
+
sections.push('# Document Location Audit');
|
|
152
|
+
sections.push('');
|
|
153
|
+
if (entityName)
|
|
154
|
+
sections.push(`**Entity:** ${entityName}`);
|
|
155
|
+
if (recordId)
|
|
156
|
+
sections.push(`**Record ID:** ${recordId}`);
|
|
157
|
+
sections.push('');
|
|
158
|
+
sections.push('## Insights');
|
|
159
|
+
analysis.insights.forEach(insight => sections.push(insight));
|
|
160
|
+
sections.push('');
|
|
161
|
+
sections.push('## Document Locations');
|
|
162
|
+
sections.push(spoFormatters.formatCrmDocumentLocationsAsMarkdown(locations));
|
|
163
|
+
if (analysis.recommendations.length > 0) {
|
|
164
|
+
sections.push('');
|
|
165
|
+
sections.push('## Recommendations');
|
|
166
|
+
analysis.recommendations.forEach(rec => sections.push(`- ${rec}`));
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
description: `Document location audit${entityName ? ` for ${entityName}` : ''}`,
|
|
170
|
+
messages: [
|
|
171
|
+
{ role: "user", content: { type: "text", text: `Audit document locations${entityName ? ` for entity ${entityName}` : ''}${recordId ? ` record ${recordId}` : ''}` } },
|
|
172
|
+
{ role: "assistant", content: { type: "text", text: sections.join('\n') } },
|
|
173
|
+
],
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
console.error("Error generating document location audit:", error);
|
|
178
|
+
throw error;
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
server.prompt("spo-migration-verification-report", {
|
|
182
|
+
sourceSiteId: z.string().describe("Source site ID"),
|
|
183
|
+
sourcePath: z.string().describe("Source folder path"),
|
|
184
|
+
targetSiteId: z.string().describe("Target site ID"),
|
|
185
|
+
targetPath: z.string().describe("Target folder path"),
|
|
186
|
+
}, async ({ sourceSiteId, sourcePath, targetSiteId, targetPath }) => {
|
|
187
|
+
try {
|
|
188
|
+
const spoService = getService();
|
|
189
|
+
const ppService = getPPService();
|
|
190
|
+
const result = await spoService.verifyDocumentMigration(ppService, sourceSiteId, sourcePath, targetSiteId, targetPath);
|
|
191
|
+
const analysis = spoFormatters.analyzeMigrationVerification(result);
|
|
192
|
+
const sections = [];
|
|
193
|
+
sections.push(spoFormatters.formatMigrationReportAsMarkdown(result));
|
|
194
|
+
sections.push('');
|
|
195
|
+
sections.push('## Analysis');
|
|
196
|
+
analysis.insights.forEach(insight => sections.push(`- ${insight}`));
|
|
197
|
+
sections.push('');
|
|
198
|
+
sections.push('## Recommendations');
|
|
199
|
+
analysis.recommendations.forEach(rec => sections.push(`- ${rec}`));
|
|
200
|
+
return {
|
|
201
|
+
description: `Migration verification: ${result.status} (${result.successRate}% success)`,
|
|
202
|
+
messages: [
|
|
203
|
+
{ role: "user", content: { type: "text", text: `Verify document migration from ${sourcePath} to ${targetPath}` } },
|
|
204
|
+
{ role: "assistant", content: { type: "text", text: sections.join('\n') } },
|
|
205
|
+
],
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
console.error("Error generating migration verification report:", error);
|
|
210
|
+
throw error;
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
server.prompt("spo-setup-validation-guide", {}, async () => {
|
|
214
|
+
const guide = `# SharePoint Integration Setup Validation Guide
|
|
215
|
+
|
|
216
|
+
## Prerequisites Checklist
|
|
217
|
+
|
|
218
|
+
### 1. Azure AD App Registration
|
|
219
|
+
- App registered in Azure Active Directory
|
|
220
|
+
- Client ID and Client Secret generated
|
|
221
|
+
- Tenant ID noted
|
|
222
|
+
|
|
223
|
+
### 2. API Permissions
|
|
224
|
+
Required Microsoft Graph API permissions (Application permissions):
|
|
225
|
+
- Sites.Read.All or Sites.ReadWrite.All
|
|
226
|
+
- Files.Read.All or Files.ReadWrite.All
|
|
227
|
+
- Admin consent granted
|
|
228
|
+
|
|
229
|
+
### 3. SharePoint Site Access
|
|
230
|
+
- Service principal added to site(s) as Site Collection Admin
|
|
231
|
+
- Site URLs accessible and correct
|
|
232
|
+
|
|
233
|
+
### 4. Configuration
|
|
234
|
+
Environment variables configured:
|
|
235
|
+
- SHAREPOINT_TENANT_ID
|
|
236
|
+
- SHAREPOINT_CLIENT_ID
|
|
237
|
+
- SHAREPOINT_CLIENT_SECRET
|
|
238
|
+
- SHAREPOINT_SITES (JSON array) or SHAREPOINT_SITE_URL
|
|
239
|
+
|
|
240
|
+
## Testing Steps
|
|
241
|
+
|
|
242
|
+
### Step 1: Test Connection
|
|
243
|
+
\`\`\`
|
|
244
|
+
Use tool: spo-test-connection
|
|
245
|
+
Parameters: { siteId: "your-site-id" }
|
|
246
|
+
Expected: Site information returned with no errors
|
|
247
|
+
\`\`\`
|
|
248
|
+
|
|
249
|
+
### Step 2: List Document Libraries
|
|
250
|
+
\`\`\`
|
|
251
|
+
Use tool: spo-list-drives
|
|
252
|
+
Parameters: { siteId: "your-site-id" }
|
|
253
|
+
Expected: List of document libraries with quota info
|
|
254
|
+
\`\`\`
|
|
255
|
+
|
|
256
|
+
### Step 3: List Files
|
|
257
|
+
\`\`\`
|
|
258
|
+
Use tool: spo-list-items
|
|
259
|
+
Parameters: { siteId: "your-site-id", driveId: "library-id" }
|
|
260
|
+
Expected: List of files and folders
|
|
261
|
+
\`\`\`
|
|
262
|
+
|
|
263
|
+
### Step 4: Test PowerPlatform Integration (Optional)
|
|
264
|
+
\`\`\`
|
|
265
|
+
Use tool: spo-get-crm-doc-locs
|
|
266
|
+
Expected: List of document locations from Dataverse
|
|
267
|
+
\`\`\`
|
|
268
|
+
|
|
269
|
+
## Common Issues
|
|
270
|
+
|
|
271
|
+
### Issue: "Access denied" error
|
|
272
|
+
**Solution:**
|
|
273
|
+
1. Verify API permissions are granted
|
|
274
|
+
2. Ensure admin consent is granted
|
|
275
|
+
3. Check service principal is Site Collection Admin
|
|
276
|
+
|
|
277
|
+
### Issue: "Site not found"
|
|
278
|
+
**Solution:**
|
|
279
|
+
1. Verify site URL is correct (use full URL)
|
|
280
|
+
2. Check site exists and is accessible
|
|
281
|
+
3. Ensure site is in SHAREPOINT_SITES configuration
|
|
282
|
+
|
|
283
|
+
### Issue: "Authentication failed"
|
|
284
|
+
**Solution:**
|
|
285
|
+
1. Verify tenant ID, client ID, and client secret
|
|
286
|
+
2. Check client secret hasn't expired
|
|
287
|
+
3. Ensure app registration is active
|
|
288
|
+
|
|
289
|
+
## Next Steps
|
|
290
|
+
|
|
291
|
+
Once setup is validated:
|
|
292
|
+
1. Configure additional sites in SHAREPOINT_SITES
|
|
293
|
+
2. Set up PowerPlatform integration for document location validation
|
|
294
|
+
3. Use validation tools to audit document locations
|
|
295
|
+
4. Set up migration verification workflows
|
|
296
|
+
|
|
297
|
+
For more help, refer to SETUP.md documentation.
|
|
298
|
+
`;
|
|
299
|
+
return {
|
|
300
|
+
description: "SharePoint integration setup validation guide",
|
|
301
|
+
messages: [
|
|
302
|
+
{ role: "user", content: { type: "text", text: "Show SharePoint integration setup validation guide" } },
|
|
303
|
+
{ role: "assistant", content: { type: "text", text: guide } },
|
|
304
|
+
],
|
|
305
|
+
};
|
|
306
|
+
});
|
|
307
|
+
server.prompt("spo-troubleshooting-guide", {
|
|
308
|
+
errorType: z.string().optional().describe("Type of error (e.g., 'access-denied', 'site-not-found')"),
|
|
309
|
+
}, async ({ errorType }) => {
|
|
310
|
+
const guide = `# SharePoint Integration Troubleshooting Guide
|
|
311
|
+
|
|
312
|
+
## Common Error Scenarios
|
|
313
|
+
|
|
314
|
+
### 1. Access Denied (403 Forbidden)
|
|
315
|
+
|
|
316
|
+
**Symptoms:**
|
|
317
|
+
- "Access denied" errors when accessing sites or files
|
|
318
|
+
- "Insufficient permissions" messages
|
|
319
|
+
|
|
320
|
+
**Causes:**
|
|
321
|
+
- Missing API permissions
|
|
322
|
+
- Admin consent not granted
|
|
323
|
+
- Service principal not added to site
|
|
324
|
+
|
|
325
|
+
**Solutions:**
|
|
326
|
+
1. Verify Microsoft Graph API permissions:
|
|
327
|
+
- Sites.Read.All (or Sites.ReadWrite.All)
|
|
328
|
+
- Files.Read.All (or Files.ReadWrite.All)
|
|
329
|
+
2. Grant admin consent in Azure AD
|
|
330
|
+
3. Add service principal as Site Collection Admin
|
|
331
|
+
|
|
332
|
+
### 2. Site Not Found (404 Not Found)
|
|
333
|
+
|
|
334
|
+
**Symptoms:**
|
|
335
|
+
- "Site not found" errors
|
|
336
|
+
- "Resource does not exist" messages
|
|
337
|
+
|
|
338
|
+
**Causes:**
|
|
339
|
+
- Incorrect site URL
|
|
340
|
+
- Site not in SHAREPOINT_SITES configuration
|
|
341
|
+
- Site deleted or moved
|
|
342
|
+
|
|
343
|
+
**Solutions:**
|
|
344
|
+
1. Verify site URL format: https://tenant.sharepoint.com/sites/sitename
|
|
345
|
+
2. Check site exists by visiting in browser
|
|
346
|
+
3. Add site to SHAREPOINT_SITES configuration
|
|
347
|
+
|
|
348
|
+
### 3. Authentication Failed (401 Unauthorized)
|
|
349
|
+
|
|
350
|
+
**Symptoms:**
|
|
351
|
+
- "Authentication failed" errors
|
|
352
|
+
- "Invalid credentials" messages
|
|
353
|
+
|
|
354
|
+
**Causes:**
|
|
355
|
+
- Incorrect tenant ID, client ID, or client secret
|
|
356
|
+
- Client secret expired
|
|
357
|
+
- App registration disabled
|
|
358
|
+
|
|
359
|
+
**Solutions:**
|
|
360
|
+
1. Verify credentials in environment variables
|
|
361
|
+
2. Check client secret expiration in Azure AD
|
|
362
|
+
3. Generate new client secret if expired
|
|
363
|
+
|
|
364
|
+
### 4. Token Acquisition Failed
|
|
365
|
+
|
|
366
|
+
**Symptoms:**
|
|
367
|
+
- "Failed to acquire access token" errors
|
|
368
|
+
- MSAL errors
|
|
369
|
+
|
|
370
|
+
**Causes:**
|
|
371
|
+
- Network connectivity issues
|
|
372
|
+
- Firewall blocking Azure AD
|
|
373
|
+
- Incorrect tenant ID
|
|
374
|
+
|
|
375
|
+
**Solutions:**
|
|
376
|
+
1. Verify network connectivity to login.microsoftonline.com
|
|
377
|
+
2. Check firewall rules
|
|
378
|
+
3. Verify tenant ID is correct
|
|
379
|
+
|
|
380
|
+
### 5. Folder Not Found
|
|
381
|
+
|
|
382
|
+
**Symptoms:**
|
|
383
|
+
- "Folder not accessible" in validation results
|
|
384
|
+
- "Item not found" errors
|
|
385
|
+
|
|
386
|
+
**Solutions:**
|
|
387
|
+
1. Verify folder path format: /LibraryName/Folder1/Folder2
|
|
388
|
+
2. Check folder exists in SharePoint
|
|
389
|
+
3. Ensure service principal has access
|
|
390
|
+
|
|
391
|
+
### 6. Document Location Validation Fails
|
|
392
|
+
|
|
393
|
+
**Symptoms:**
|
|
394
|
+
- Validation status: "error" or "warning"
|
|
395
|
+
- Missing or inaccessible folders
|
|
396
|
+
|
|
397
|
+
**Solutions:**
|
|
398
|
+
1. Verify absolute URL in PowerPlatform
|
|
399
|
+
2. Add site to SHAREPOINT_SITES configuration
|
|
400
|
+
3. Check folder path matches SharePoint structure
|
|
401
|
+
|
|
402
|
+
## Diagnostic Tools
|
|
403
|
+
|
|
404
|
+
- spo-test-connection: Verify site accessibility and permissions
|
|
405
|
+
- spo-list-sites: Verify configured sites and status
|
|
406
|
+
- spo-validate-doc-loc: Check PowerPlatform integration
|
|
407
|
+
|
|
408
|
+
## Getting Help
|
|
409
|
+
|
|
410
|
+
If issues persist:
|
|
411
|
+
1. Check application logs for detailed error messages
|
|
412
|
+
2. Review audit logs in Azure AD
|
|
413
|
+
3. Test permissions using Microsoft Graph Explorer
|
|
414
|
+
`;
|
|
415
|
+
return {
|
|
416
|
+
description: `SharePoint troubleshooting guide${errorType ? ` for ${errorType}` : ''}`,
|
|
417
|
+
messages: [
|
|
418
|
+
{ role: "user", content: { type: "text", text: `Show SharePoint troubleshooting guide${errorType ? ` for ${errorType}` : ''}` } },
|
|
419
|
+
{ role: "assistant", content: { type: "text", text: guide } },
|
|
420
|
+
],
|
|
421
|
+
};
|
|
422
|
+
});
|
|
423
|
+
server.prompt("spo-powerplatform-integration-health", {
|
|
424
|
+
entityName: z.string().optional().describe("Entity to check (e.g., 'account')"),
|
|
425
|
+
}, async ({ entityName }) => {
|
|
426
|
+
try {
|
|
427
|
+
const spoService = getService();
|
|
428
|
+
const ppService = getPPService();
|
|
429
|
+
const locations = await spoService.getCrmDocumentLocations(ppService, entityName);
|
|
430
|
+
const analysis = spoFormatters.analyzeCrmDocumentLocations(locations);
|
|
431
|
+
const sections = [];
|
|
432
|
+
sections.push('# PowerPlatform-SharePoint Integration Health Check');
|
|
433
|
+
sections.push('');
|
|
434
|
+
if (entityName) {
|
|
435
|
+
sections.push(`**Entity:** ${entityName}`);
|
|
436
|
+
sections.push('');
|
|
437
|
+
}
|
|
438
|
+
sections.push('## Health Summary');
|
|
439
|
+
sections.push('');
|
|
440
|
+
analysis.insights.forEach(insight => sections.push(insight));
|
|
441
|
+
sections.push('');
|
|
442
|
+
sections.push('## Configured Document Locations');
|
|
443
|
+
sections.push(spoFormatters.formatCrmDocumentLocationsAsMarkdown(locations));
|
|
444
|
+
if (analysis.recommendations.length > 0) {
|
|
445
|
+
sections.push('');
|
|
446
|
+
sections.push('## Recommendations');
|
|
447
|
+
analysis.recommendations.forEach(rec => sections.push(`- ${rec}`));
|
|
448
|
+
}
|
|
449
|
+
sections.push('');
|
|
450
|
+
sections.push('## Next Steps');
|
|
451
|
+
sections.push('');
|
|
452
|
+
sections.push('1. Use `spo-validate-doc-loc` to validate individual locations');
|
|
453
|
+
sections.push('2. Check for missing or inaccessible folders');
|
|
454
|
+
sections.push('3. Verify service principal has access to all sites');
|
|
455
|
+
sections.push('4. Review empty folders and upload documents');
|
|
456
|
+
return {
|
|
457
|
+
description: `Integration health check${entityName ? ` for ${entityName}` : ''}`,
|
|
458
|
+
messages: [
|
|
459
|
+
{ role: "user", content: { type: "text", text: `Check PowerPlatform-SharePoint integration health${entityName ? ` for ${entityName}` : ''}` } },
|
|
460
|
+
{ role: "assistant", content: { type: "text", text: sections.join('\n') } },
|
|
461
|
+
],
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
catch (error) {
|
|
465
|
+
console.error("Error checking integration health:", error);
|
|
466
|
+
throw error;
|
|
467
|
+
}
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SharePoint Read Tools
|
|
3
|
+
*
|
|
4
|
+
* 15 existing read-only tools + 1 new spo-download-file tool.
|
|
5
|
+
* Extracted from index.ts for file size management.
|
|
6
|
+
*/
|
|
7
|
+
import type { SharePointService } from '../SharePointService.js';
|
|
8
|
+
import type { FileOperationsService } from '../services/FileOperationsService.js';
|
|
9
|
+
/**
|
|
10
|
+
* Register all read-only SharePoint tools with the MCP server
|
|
11
|
+
*/
|
|
12
|
+
export declare function registerReadTools(server: any, getService: () => SharePointService, getFileOps: () => FileOperationsService, getPPService: () => any): void;
|
|
13
|
+
//# sourceMappingURL=read-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-tools.d.ts","sourceRoot":"","sources":["../../src/tools/read-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAGlF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,MAAM,iBAAiB,EACnC,UAAU,EAAE,MAAM,qBAAqB,EACvC,YAAY,EAAE,MAAM,GAAG,GACtB,IAAI,CAwVN"}
|