andrew-dataverse-mcp
Version:
A Model Context Protocol server for Microsoft Dataverse with comprehensive CRUD operations
44 lines (43 loc) • 1.42 kB
JavaScript
import { createLogger } from '../utils/logger.js';
const logger = createLogger('ListTablesTool');
export const listTablesTool = {
name: 'dataverse_list_tables',
description: 'List all available tables in the Dataverse environment',
inputSchema: {
type: 'object',
properties: {},
required: [],
},
};
export async function handleListTables(args, dataverseService) {
try {
logger.info('Processing list tables request');
// Get the list of tables
const tables = await dataverseService.listTables();
const successMessage = `Successfully retrieved ${tables.length} tables from Dataverse:`;
logger.info(successMessage);
// Format the response
const tableList = tables.sort().map(table => `• ${table}`).join('\n');
const resultText = `${successMessage}\n\n${tableList}`;
return {
content: [
{
type: 'text',
text: resultText,
},
],
};
}
catch (error) {
const errorMessage = `Failed to list tables: ${error instanceof Error ? error.message : 'Unknown error'}`;
logger.error(errorMessage, error);
return {
content: [
{
type: 'text',
text: errorMessage,
},
],
};
}
}