index.ts•1.31 kB
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { InitializeRequestSchema } from '@modelcontextprotocol/sdk/types.js';
import dotenv from 'dotenv';
import { registerTracxnTools } from './handlers/tools.js';
import { registerTracxnResources } from './handlers/resources.js';
// Load environment variables
dotenv.config();
async function main() {
// Create MCP server instance
const server = new Server(
{
name: 'tracxn-mcp',
version: '1.0.0',
},
{
capabilities: {
tools: {},
resources: {},
},
}
);
// Handle initialization
server.setRequestHandler(InitializeRequestSchema, async (request) => {
return {
protocolVersion: "2024-11-05",
capabilities: {
tools: {},
resources: {},
},
serverInfo: {
name: "tracxn-mcp",
version: "1.0.0",
},
};
});
// Register tools and resources
await registerTracxnTools(server);
await registerTracxnResources(server);
// Start the server
const transport = new StdioServerTransport();
await server.connect(transport);
}
main().catch((error) => {
console.error('Failed to start server:', error);
process.exit(1);
});