@xiaotaitech/tempo-mcp-server
Version:
MCP server for managing Tempo worklogs in Jira
46 lines (45 loc) • 1.31 kB
JavaScript
/**
* Configuration manager for the MCP server
* Validates required environment variables and exports config settings
*/
import { envSchema } from './types.js';
import { ZodError } from 'zod';
// Validate environment variables
function validateEnv() {
try {
// Parse and validate environment variables
return envSchema.parse(process.env);
}
catch (error) {
// Format and display validation errors
console.error('[ERROR] Environment validation failed:');
if (error instanceof ZodError) {
error.errors.forEach((err) => {
console.error(`- ${err.path.join('.')}: ${err.message}`);
});
}
else {
console.error(error instanceof Error ? error.message : String(error));
}
process.exit(1);
}
}
// Get validated environment variables
const env = validateEnv();
// Application configuration with validated environment variables
const config = {
tempoApi: {
baseUrl: 'https://api.tempo.io/4',
token: env.TEMPO_API_TOKEN,
},
jiraApi: {
baseUrl: env.JIRA_BASE_URL,
token: env.JIRA_API_TOKEN,
email: env.JIRA_EMAIL,
},
server: {
name: 'tempo-mcp-server',
version: '1.0.0',
}
};
export default config;