index.ts•1.26 kB
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import dotenv from 'dotenv';
import path from 'path';
const envFile = process.env.NODE_ENV === 'production' ? '.env.production' : '.env.development';
dotenv.config({ path: path.resolve(__dirname, envFile) });
// Fallback to hard-coded token if env var not available
// if (!process.env.APP_TOKEN) {
// process.env.APP_TOKEN = 'XXXXXXX';
// }
// Create MCP server instance
export const mcpServer = new McpServer({
name: 'Thingiverse',
version: '1.0.0',
});
// Import all endpoints
import './endpoints';
// Main function
async function main() {
if (!process.env.APP_TOKEN) {
console.error('Warning: APP_TOKEN environment variable not set. Using default token.');
}
try {
const transport = new StdioServerTransport();
await mcpServer.connect(transport);
if (process.env.NODE_ENV === 'development') {
console.log('Connected to MCP server');
}
} catch (error) {
console.error('Error connecting MCP server:', error);
process.exit(1);
}
}
// Run main function
main().catch(error => {
console.error('Fatal error in main():', error);
process.exit(1);
});