Files
classroomio/packages/mcp/src/index.ts
T
2026-04-27 11:40:38 +01:00

42 lines
1.0 KiB
TypeScript

import { ClassroomIoApiClient, ClassroomIoApiError } from './api-client';
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { getConfig } from './config';
import { registerCourseDraftTools } from './tools/course-drafts';
async function main() {
const config = getConfig();
const apiClient = new ClassroomIoApiClient(config);
const server = new McpServer({
name: 'classroomio-course-authoring',
version: '0.0.1'
});
registerCourseDraftTools(server, apiClient);
const transport = new StdioServerTransport();
await server.connect(transport);
process.stdin.on('close', () => {
void server.close();
});
}
main().catch((error: unknown) => {
if (error instanceof ClassroomIoApiError) {
console.error(
JSON.stringify({
error: error.message,
status: error.status,
code: error.code,
field: error.field
})
);
process.exit(1);
}
console.error(error);
process.exit(1);
});