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:
- Install dependencies using uv:
Usage
Run the MCP server:
The server will start and listen for MCP connections via stdio transport.
Project Structure
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:
MCPServer
class handles server initialization and tool registration- Tools are implemented as async functions in
tools.py
- The
main.py
file registers all tools and starts the server
To add new tools:
- Implement the tool function in
tools.py
- Register it in
main.py
usingmcp_server.register_tool()
License
This project is open source and available under the MIT License.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables interaction with the local file system and retrieval of system information. Provides tools for listing directories, reading files, getting current time, and basic greeting functionality.