Provided as a method to test the MCP server's API endpoints for tool discovery and execution.
Provides configuration management through environment variables loaded from a .env file for database credentials and other settings.
Used as the web framework for building the MCP server, handling HTTP requests and routing for tool discovery and execution.
Used for version control and distribution of the MCP server codebase.
The programming language used to implement the MCP server and its tools.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Modular MCP Serverwhat tools are currently available?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Modular MCP Server
This is a modular, auto-discovering Model Context Protocol (MCP) server built with Python and FastAPI. It's designed to be a scalable foundation for providing tools to Large Language Models (LLMs).
Features
Auto-Discovery: Automatically loads tools from the
/toolsdirectory on startup.Modular: Tools are self-contained in their own files.
Configurable: Uses a
.envfile for all configuration.Secure: Includes best practices like read-only database users and whitelisting.
Performant: Runs on a high-performance Unix socket and uses an async database connection pool.
Related MCP server: MCP Web Tools Server
Setup
Clone the repository:
git clone <repository_url> cd mcpCreate and activate a virtual environment:
python3 -m venv .venv source .venv/bin/activateInstall dependencies:
pip install -r requirements.txtConfigure your environment:
cp .env.example .envNow, edit the
.envfile with your actual database credentials and settings.
Running the Server
To run the server on a Unix socket:
uvicorn mcp_server:app --uds /tmp/mcp.sockTesting
You can test the running server using curl.
Discover tools:
curl --unix-socket /tmp/mcp.sock http://localhost/mcp/v1/tools | jqExecute a tool:
curl -X POST \
--unix-socket /tmp/mcp.sock \
-H "Content-Type: application/json" \
-d '{"arguments": {"timezone": "Europe/Istanbul"}}' \
http://localhost/mcp/v1/tools/get_current_time:execute | jqThis server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.