FastMCP Multi-Tool Server

FastMCP Multi-Tool Server

Provides comprehensive utility tools including file operations, weather information, system monitoring, mathematical calculations, text search, and safe command execution. Enables users to perform various system and data operations through a unified MCP interface with built-in security features.

Category
Visit Server

README

FastMCP Multi-Tool Server

A comprehensive Model Context Protocol (MCP) server built with FastMCP that provides various utility tools.

Features

This MCP server includes the following tools:

🕒 Time & Date

  • get_current_time: Get the current date and time

🌤️ Weather

  • get_weather: Get weather information for any city (requires OpenWeatherMap API key)

📁 File Operations

  • create_file: Create new files with specified content
  • read_file: Read content from existing files
  • list_directory: List contents of directories
  • create_temporary_file: Create temporary files

🔍 Search & Analysis

  • search_files: Search for text patterns in files within a directory
  • calculate_expression: Safely evaluate mathematical expressions

💻 System Operations

  • execute_command: Execute shell commands safely (with security restrictions)
  • get_system_info: Get detailed system information (CPU, memory, disk usage)

Installation

Quick Setup

Windows:

scripts\build.bat

Linux/macOS:

chmod +x scripts/build.sh && scripts/build.sh

Cross-platform (Python):

python scripts/build.py

Manual Installation

  1. Install Python dependencies:
pip install -r requirements.txt
  1. (Optional) Configure environment variables:
# Copy the example environment file
cp .env.example .env

# Edit .env and add your OpenWeatherMap API key if needed

Usage

Running the Server

To run the MCP server:

python server.py

The server will start and listen for MCP connections.

Configuration with Claude Desktop

To use this server with Claude Desktop, add the following configuration to your claude_desktop_config.json:

{
  "mcpServers": {
    "multi-tool-server": {
      "command": "python",
      "args": ["C:/github/mcp-py/server.py"],
      "cwd": "C:/github/mcp-py"
    }
  }
}

Note: Update the paths to match your actual installation directory.

Configuration File Location

The Claude Desktop configuration file is typically located at:

  • Windows: %APPDATA%/Claude/claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Tool Examples

File Operations

# Create a new file
create_file("./example.txt", "Hello, World!")

# Read a file
read_file("./example.txt")

# List directory contents
list_directory("./")

Weather Information

# Get weather for a city (requires API key)
get_weather("London")

Mathematical Calculations

# Calculate mathematical expressions
calculate_expression("2 + 2 * 3")
calculate_expression("sqrt(16) + pow(2, 3)")

File Search

# Search for text in Python files
search_files("./", "import", ".py")

System Information

# Get system details
get_system_info()

Command Execution

# Execute safe commands
execute_command("echo Hello World")
execute_command("ls -la", "/tmp")  # Unix
execute_command("dir", "C:\\")     # Windows

Security Features

  • Command Filtering: Dangerous commands are blocked automatically
  • Safe Expression Evaluation: Mathematical expressions are evaluated in a secure environment
  • Timeout Protection: Commands have a 30-second timeout limit
  • Path Validation: File operations validate paths to prevent unauthorized access

Environment Variables

  • OPENWEATHER_API_KEY: Your OpenWeatherMap API key for weather functionality
  • MCP_SERVER_NAME: Custom server name (optional)
  • MCP_SERVER_VERSION: Server version (optional)

Dependencies

  • fastmcp: FastMCP framework for MCP server development
  • requests: HTTP library for API calls
  • python-dotenv: Environment variable management
  • pydantic: Data validation and settings management
  • psutil: System and process utilities

Troubleshooting

Common Issues

  1. Import Errors: Make sure all dependencies are installed:

    pip install -r requirements.txt
    
  2. Weather Tool Not Working: Ensure you have a valid OpenWeatherMap API key set in the .env file.

  3. Permission Errors: Make sure the server has appropriate file system permissions for the operations you're trying to perform.

  4. Command Execution Fails: Some commands may be blocked for security reasons. Check the error message for details.

Development

To extend this server with additional tools:

  1. Add new tool functions using the @mcp.tool() decorator
  2. Follow the existing pattern for error handling and return formats
  3. Update this README with documentation for new tools

License

This project is open source. Feel free to modify and distribute according to your needs.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured