Skip to main content
Glama
Password Generator MCP Server

Password Generator MCP Server

by raki0230

Password Generator MCP Server

A simple Model Context Protocol (MCP) server built using the Python MCP SDK to demonstrate the three core MCP Primitives:

  • πŸ› οΈ Tools – Generate a secure password.

  • πŸ“„ Resources – Expose a password policy.

  • πŸ’‘ Prompts – Provide a reusable prompt template for generating secure passwords.

This project accompanies my Medium article on MCP Inspector and MCP Primitives, providing a hands-on example to help you understand how these concepts work together.


Project Structure

MCP-INSPECTOR/
β”‚
β”œβ”€β”€ prompts/
β”‚   β”œβ”€β”€ __init__.py
β”‚   └── password_prompt.py
β”‚
β”œβ”€β”€ resources/
β”‚   β”œβ”€β”€ __init__.py
β”‚   └── password_resource.py
β”‚
β”œβ”€β”€ tools/
β”‚   β”œβ”€β”€ __init__.py
β”‚   └── password_tool.py
β”‚
β”œβ”€β”€ .gitignore
β”œβ”€β”€ .python-version
β”œβ”€β”€ app.py
β”œβ”€β”€ pyproject.toml
β”œβ”€β”€ README.md
β”œβ”€β”€ server.py
└── uv.lock

Project Overview

  • app.py – Creates the FastMCP server instance.

  • server.py – Entry point that registers all MCP primitives and starts the server.

  • tools/password_tool.py – Implements the Password Generator Tool.

  • resources/password_resource.py – Exposes the Password Policy Resource.

  • prompts/password_prompt.py – Defines the reusable Prompt template.

  • pyproject.toml – Project configuration and project dependencies.

  • uv.lock – Lock file generated by UV.

  • README.md – Project documentation.


Clone the Repository

Clone the repository to your local machine.

git clone <YOUR_GITHUB_REPOSITORY_LINK>

Navigate to the project directory.

cd MCP-INSPECTOR

Synchronize and install all project dependencies.

uv sync

Activate the virtual environment.

Windows

.venv\Scripts\activate

Running the MCP Server with MCP Inspector

Start the MCP server using:

mcp dev server.py

This command starts the MCP server and automatically launches MCP Inspector in your browser.

Using MCP Inspector you can:

  • View all registered MCP primitives.

  • Execute Tools.

  • Read Resources.

  • Test Prompt templates.

  • Validate your MCP server before integrating it with an MCP client.

Screenshot: MCP Inspector Home Page


Testing the Tool

Open the Tools section inside MCP Inspector.

Select generate_password and provide the required inputs such as:

  • Password Length

  • Include Special Characters

Execute the Tool to generate a secure password.

Screenshot: Password Generator Tool

Screenshot: Generated Password Output


Testing the Resource

Open the Resources section.

Select the password://policy resource.

The server returns the password policy and security recommendations exposed by the MCP server.

Screenshot: Password Policy Resource


Testing the Prompt

Navigate to the Prompts section.

Select create_secure_password_prompt.

Provide an account type such as:

  • Banking

  • Email

  • Social Media

The Prompt generates a reusable instruction template for creating a secure password.

Screenshot: Prompt Execution


Installing the MCP Server in Claude Desktop

Open a new terminal and run:

mcp install server.py

Once the installation is complete, restart Claude Desktop if it is already running.

Claude Desktop will automatically discover the MCP server and its registered primitives.

You can now interact with the server using natural language.

For example:

Generate a strong password for my email.

or

Show me the password policy.

alt text Claude Desktop Detecting the MCP Server

alt text Claude Desktop Invoking the Password Generator Tool


Creating an MCP Project from Scratch

If you'd like to build your own MCP server from scratch, follow these steps.

1. Initialize a UV Project

uv init

2. Create a Virtual Environment

uv venv

3. Activate the Virtual Environment

Windows

.venv\Scripts\activate

4. Install the MCP SDK

uv add "mcp[cli]"

5. Start MCP Inspector

mcp dev server.py

6. Install the MCP Server in Claude Desktop

Open a new terminal and run:

mcp install server.py

MCP Primitives Included

πŸ› οΈ Tool

generate_password()

Generates a secure password with configurable length and optional special characters.


πŸ“„ Resource

password://policy

Returns the password generation policy and recommended password security practices.


πŸ’‘ Prompt

create_secure_password_prompt()

Creates a reusable prompt template for generating a secure password for a specified account type.


Medium Article

If you're new to MCP and would like a detailed explanation of MCP Inspector and MCP Primitives, check out my accompanying Medium article.

Medium: https://medium.com/@n.raki2331/understanding-mcp-inspector-and-the-three-core-mcp-primitives-tools-resources-prompts-e6069f1ca75d?sharedUserId=n.raki2331


Available Tools

1 tool
generate_passwordC

Generate a secure random password.

Inputs: length, symbols. Returns: result

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of ambiguity or confusion between tools. The tool's purpose is clearly unique.

    Naming Consistency5/5

    The single tool name 'generate_password' follows a clear verb_noun pattern, which is standard and predictable. No inconsistencies exist.

    Tool Count3/5

    A single tool is borderline insufficient for a password generator, as users often expect options like length, character sets, or multiple generation methods. The server feels thin but is not extreme.

    Completeness2/5

    The server only offers a basic generate_password function with no parameters described. Real-world password generators typically include customization options (length, symbols, numbers, etc.), so the surface is incomplete for a robust tool.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      MCP server for the Nextcloud Passwords app, enabling reading and managing password entries (list, search, create, update, delete) with strong security guarantees.
      14
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables to generate cryptographically-random passwords and PINs with control over character sets and length. Returns the password(s) and their entropy in bits.
      306 npm
      MIT