import type { AppState } from '@features/app-state/AppState';
import type { TextContent } from '@modelcontextprotocol/sdk/types.js';
import { McpToolError } from '@shared/mcp-tool/McpToolError';
type IsoDateMcpToolHandlerParams = {
appState: AppState;
};
/**
* Handler for the isoDate MCP tool
* Returns text content with the current ISO datetime string
*/
export function isoDateMcpToolHandler({
appState: _appState,
}: IsoDateMcpToolHandlerParams): Promise<TextContent[] | McpToolError> {
try {
// Get current date and time in ISO 8601 format
const isoDatetime = new Date().toISOString();
// Return text response
return Promise.resolve([
{
type: 'text',
text: `Current ISO datetime: ${isoDatetime}`,
},
]);
} catch (error) {
// Handle any unexpected errors
console.error('Error in isoDate tool:', error);
if (error instanceof Error) {
return Promise.resolve(new McpToolError(error.message));
}
return Promise.resolve(new McpToolError('An unexpected error occurred in the isoDate tool'));
}
}