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.
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
/tools
directory on startup. - Modular: Tools are self-contained in their own files.
- Configurable: Uses a
.env
file 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.
Setup
- Clone the repository:
- Create and activate a virtual environment:
- Install dependencies:
- Configure your environment:Now, edit the
.env
file with your actual database credentials and settings.
Running the Server
To run the server on a Unix socket:
Testing
You can test the running server using curl
.
Discover tools:
Execute a tool:
This server cannot be installed
A scalable, auto-discovering Model Context Protocol server that dynamically loads tools from the tools directory, enabling LLMs to access various capabilities through a standardized interface.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables LLMs to read, search, and analyze code files with advanced caching and real-time file watching capabilities.Last updated -61623JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that allows LLMs to interact with web content through standardized tools, currently supporting web scraping functionality.Last updated -PythonMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that fetches up-to-date, version-specific documentation and code examples from libraries directly into LLM prompts, helping developers get accurate answers without outdated or hallucinated information.Last updated -264,83922,904JavaScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables LLMs to explore and interact with API specifications by providing tools for loading, browsing, and getting detailed information about API endpoints.Last updated -41013TypeScript