Skip to main content
Glama
MCP User Profile Management Server

MCP User Profile Management Server

by SLdragon

MCP User Profile Management Server Showcasing Elicitation Capabilities

A demonstration Model Context Protocol (MCP) server showcasing elicitation capabilities.

Demo

https://github.com/user-attachments/assets/ce89872b-a015-48a6-b56f-6be6fee44ff0

Related MCP server: MCP Elicitations Demo Server

Key Point

Ask response from user:

Collect info using command palette:

Success:

Project Overview

This project implements an MCP server with interactive elicitation capabilities, allowing clients to create and manage user profiles. When information is missing, the server uses MCP's elicitation feature to prompt users for required data.

Available Tools

create_user_profile

Creates a new user profile with interactive elicitation support for missing fields.

Parameters (all optional):

  • name (string): User's full name

  • email (string): User's email address

  • age (number): User's age

  • role (string): User's role

Validation Rules:

  • Name: 2-100 characters

  • Email: 5-100 characters, must follow email format

  • Age: Between 13-120 years

  • Role: Select from predefined options (developer, designer, manager, analyst, tester)

list_users

Lists all user profiles currently stored in the system.

Installation & Setup

1. Install Dependencies

npm install

2. Start the Server

Development Mode (with file watching):

npm run dev

Production Mode:

npm start

Direct execution:

node index.js

VS Code Integration

The project comes pre-configured for VS Code MCP integration. Configuration file is located at .vscode/mcp.json:

{
  "servers": {
    "elicitationDemo": {
      "type": "stdio",
      "command": "node",
      "args": ["index.js"],
      "cwd": "${workspaceFolder}",
      "dev": {
        "watch": "*.js",
        "debug": { "type": "node" }
      }
    }
  }
}

Usage Examples

Create Complete Profile

create_user_profile({
  name: "John Doe",
  email: "john@example.com", 
  age: 28,
  role: "developer"
})

Create Profile with Interactive Prompts

// Provide partial information, system will prompt for missing data
create_user_profile({
  name: "Jane Smith"
  // Missing email, age, role - will trigger interactive elicitation
})

List All Users

list_users()

Available Tools

5 tools
create_job_detailsB

Create a new job posting with elicitation support for missing fields

Inputs: no named parameters.

create_user_profileB

Create a new user profile with elicitation support for missing fields

Inputs: no named parameters.

list_jobsB

List all job postings currently stored in the system

Inputs: no named parameters.

list_usersB

List all user profiles currently stored in the system

Inputs: no named parameters.

search_usersB

Search through user profiles using a simple text query

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no ambiguity. The tools are cleanly divided between user profile operations (create_user_profile, list_users, search_users) and job posting operations (create_job_details, list_jobs), with no overlap in functionality.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern throughout. The verbs (create, list, search) are consistently applied to their respective nouns (user_profile, users, job_details, jobs), creating a predictable and readable naming convention.

    Tool Count4/5

    Five tools is reasonable for a user profile management server, though it feels slightly thin. The server covers basic CRUD operations for two resource types (users and jobs), but lacks update and delete operations which would be expected in a complete management system.

    Completeness3/5

    There are notable gaps in the tool surface for a management server. While create and list operations exist for both users and jobs, there are no update or delete tools. Additionally, search exists only for users, not for jobs, creating an asymmetry in functionality.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables management of user health profiles with capabilities to list, retrieve, and add user health information. Provides a sample implementation for testing MCP functionality with ChatGPT and other MCP-compatible tools.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Demonstrates elicitations for collecting structured user input interactively across tools, resources, and prompts in the Model Context Protocol.
      1
      ISC
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI agents to prompt users for input directly within the chat UI using MCP's elicitation capabilities, allowing for interactive multi-turn conversations without leaving the conversation interface.
      1
      11 npm
      1
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server demonstrating Streamable HTTP with Tools, Resources, and Prompts for user registration, login, and profile management via a REST API.
      -