Skip to main content
Glama
yvanfreitas

MCP Test Server

by yvanfreitas

get_users

Retrieve user data from the mock database with optional role-based filtering for admin, user, or moderator roles.

Instructions

Get all users from the mock database

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
roleNoFilter users by role (admin, user, moderator)

Implementation Reference

  • The static method getAll in UserService that executes the get_users tool logic: filters users by optional role and returns them.
    static getAll(filters = {}) {
      let filteredUsers = users;
      
      if (filters.role) {
        filteredUsers = filteredUsers.filter(user => user.role === filters.role);
      }
    
      return {
        success: true,
        data: filteredUsers,
        total: filteredUsers.length
      };
    }
  • Input/output schema definition for the get_users tool.
    {
      name: 'get_users',
      description: 'Get all users from the mock database',
      inputSchema: {
        type: 'object',
        properties: {
          role: {
            type: 'string',
            description: 'Filter users by role (admin, user, moderator)',
            enum: ['admin', 'user', 'moderator']
          }
        }
      }
    },
  • mcp-server.js:38-46 (registration)
    Registration of available tools list, including the get_users schema via userToolSchemas.
    this.server.setRequestHandler(ListToolsRequestSchema, async () => {
      return {
        tools: [
          ...userToolSchemas,
          ...taskToolSchemas,
          searchToolSchema
        ]
      };
    });
  • mcp-server.js:54-55 (registration)
    Dispatch/handling registration for the get_users tool call, invoking the handler.
    case 'get_users':
      return createMcpResponse(UserService.getAll(args));
  • Import of mock users data used by the get_users handler.
    import { users } from '../data/mockData.js';
    
    export class UserService {
      static getAll(filters = {}) {
        let filteredUsers = users;
        
        if (filters.role) {
          filteredUsers = filteredUsers.filter(user => user.role === filters.role);
        }
    
        return {
          success: true,
          data: filteredUsers,
          total: filteredUsers.length
        };
      }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yvanfreitas/MCP-test'

If you have feedback or need assistance with the MCP directory API, please join our Discord server