import { MCPServer } from '@repo/mcp';
import { z } from 'zod';
// Define resource schemas
const userSchema = z.object({
id: z.string(),
type: z.literal('user'),
attributes: z.object({
name: z.string(),
email: z.string().email(),
role: z.enum(['admin', 'user', 'guest'])
}).optional()
});
// Create server configuration
const serverConfig = {
name: 'UserService',
description: 'Provides user context for AI models',
resources: {
user: MCPServer.createResourceDefinition(userSchema, {
description: 'User resource',
examples: [{
id: 'user-123',
type: 'user',
attributes: {
name: 'John Doe',
email: 'john@example.com',
role: 'admin'
}
}]
})
}
};
// Initialize server
const server = new MCPServer(serverConfig);