stef-codes/mcp-server
If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A basic Model Context Protocol (MCP) server implementation in Python that provides utility tools for interacting with the file system and getting system information.
MCP Server
A basic Model Context Protocol (MCP) server implementation in Python that provides utility tools for interacting with the file system and getting system information.
Features
This MCP server provides the following tools:
- hello_world: A simple greeting tool that accepts an optional name parameter
- get_time: Get the current time in various formats (ISO, timestamp, or readable)
- list_files: List files and directories in a specified path
- read_file: Read the contents of a text file
Installation
Prerequisites
- Python 3.13+
- uv package manager
Setup
- Clone the repository:
git clone https://github.com/stef-codes/mcp-server.git
cd mcp-server
- Install dependencies using uv:
uv sync
Usage
Run the MCP server:
uv run python main.py
The server will start and listen for MCP connections via stdio transport.
Project Structure
├── main.py # Entry point and tool registration
├── server.py # Core MCP server implementation
├── tools.py # Tool implementations
├── pyproject.toml # Project configuration and dependencies
└── README.md # This file
Available Tools
hello_world
Greets a user with an optional name parameter.
Parameters:
name(string, optional): Name to greet (defaults to "World")
get_time
Returns the current time in the specified format.
Parameters:
format(string, optional): Format type - "iso", "timestamp", or "readable" (defaults to "iso")
list_files
Lists files and directories in the specified path.
Parameters:
path(string, optional): Directory path to list (defaults to current directory)
read_file
Reads and returns the contents of a text file.
Parameters:
file_path(string, required): Path to the file to read
Development
The server uses a modular architecture:
MCPServerclass handles server initialization and tool registration- Tools are implemented as async functions in
tools.py - The
main.pyfile registers all tools and starts the server
To add new tools:
- Implement the tool function in
tools.py - Register it in
main.pyusingmcp_server.register_tool()
License
This project is open source and available under the MIT License.