Skip to main content
Glama

Modular MCP Server & Client

by jackmichaud

🌤️ Modular MCP Server & Client

This project provides a modular and extensible tool server built on FastMCP. It supports multiple tools organized across files and is compatible with a local or remote client that communicates via the MCP protocol.

📁 Project Structure

├── server.py # Defines and exports the shared FastMCP instance ├── main.py # Entry point to run the server ├── tools/ │ └── weather_tools.py # Weather-related tools (alerts, forecast) ├── client/ │ └── main.py # Entry point to run the client └── config.yaml # Configuration file for the server

🚀 Getting Started

🔧 Requirements

  • Python 3.10+
  • uv package manager (used to run client/server scripts)
  • MCP-compatible client and server setup

Add Environment Variables

touch .env echo "ANTHROPIC_API_KEY=<your key here>" >> .env echo ".env" >> .gitignore

🖥️ Run the Server

To start the tool server:

uv run server/main.py

🧑‍💻 Run the Client

To start the client server:

uv run client/main.py <Path to server>

Replace <Path to server> with the local or remote path to the server script (e.g. server/main.py).

🧩 Extending the Server

You can easily extend this server with additional tools. 1. Create a new module in the tools/ directory (e.g., tools/finance_tools.py). 2. Define your functions using the @mcp.tool() decorator. 3. In config.yaml, add your new module to the tools list to register the tools.

Example:

# config.yaml tools: - tools.weather_tools - tools.search_tools # Your new tools
-
security - not tested
F
license - not found
-
quality - not tested

A modular and extensible tool server built on FastMCP that supports multiple tools organized across files and communicates via MCP protocol.

  1. 📁 Project Structure
    1. 🚀 Getting Started
      1. 🔧 Requirements
      2. Add Environment Variables
      3. 🖥️ Run the Server
      4. 🧑‍💻 Run the Client
      5. 🧩 Extending the Server

    Related MCP Servers

    • A
      security
      A
      license
      A
      quality
      MCP server that builds itself by creating new tools as needed based on user requests (Requires restart of Claude Desktop to use newly created tools).
      Last updated -
      4
      13
      Python
      The Unlicense
    • -
      security
      A
      license
      -
      quality
      A dynamic MCP server implementation that automatically loads tools, resources, and prompts from their respective directories, allowing for easy extension and configuration.
      Last updated -
      Python
      MIT License
    • -
      security
      -
      license
      -
      quality
      A tool server that processes mathematical expressions via Multi-Chain Protocol (MCP), allowing LLMs to solve math problems through tool integration.
      Last updated -
      Python
      MIT License

    View all related MCP servers

    MCP directory API

    We provide all the information about MCP servers via our MCP API.

    curl -X GET 'https://glama.ai/api/mcp/v1/servers/jackmichaud/modular-mcp'

    If you have feedback or need assistance with the MCP directory API, please join our Discord server