Druling MCP Server
Provides tools for interacting with Gmail, enabling AI agents to manage emails, send messages, and perform mailbox operations.
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., "@Druling MCP Servershow my MCP servers"
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.
Druling MCP Server
Install all dependencies
Run
pip install -r requirements-dev.txt
How to run app using Docker with PostgreSQL
Install Docker Desktop
Run
docker compose up --buildRun
docker compose downto stop all services
How to run locally without postgres or docker
In database/core.py change the DATABASE_URL to sqlite
Run
make run
How to run tests
Run
pytestto run all tests
How to Add a New MCP Server
MCP (Model Context Protocol) servers provide tools and prompts for AI integrations. Follow these steps to add a new MCP server:
Step 1: Create the MCP Server Directory
Create a new directory under src/servers/ for your MCP server:
src/servers/<provider>/<service>/
__init__.py
mcp.py
outputs.py
prompts.pyFor example, to add a new "calendar" service under Google:
src/servers/google/calendar/
__init__.py
mcp.py
outputs.py
prompts.pyStep 2: Define Output Models (outputs.py)
Create Pydantic models for your tool outputs:
Step 3: Define Prompts (prompts.py)
Create prompts for your MCP server (optional):
Step 4: Create the MCP Server (mcp.py)
Create the MCP server class by extending BaseMCPServer:
Step 5: Register the MCP Server
Update src/setup/mcp.py to register your new MCP server:
from src.servers.google.calendar.mcp import CalendarMCPServer
# Add to existing imports and initializations
calendar_server = CalendarMCPServer()
MCP_PATH = {
# ...existing servers...
"calendar": calendar_server,
}The server will automatically:
Be mounted at
/<server_name>(e.g.,/calendar)Have session management handled by the lifespan context
Include authentication and context middleware
How to Add a New REST API
REST APIs are used for standard HTTP endpoints. Follow these steps to add a new API:
Step 1: Create the API Directory
Create a new directory under src/app/ for your API:
src/app/<feature>/
__init__.py
api.pyFor example, to add a "users" API:
src/app/users/
__init__.py
api.pyStep 2: Create the API Router (api.py)
Create the FastAPI router with your endpoints:
Step 3: Register the API Router
Update src/setup/api.py to include your new router:
Project Structure Overview
src/
├── main.py # FastAPI app entry point
├── setup/
│ ├── api.py # REST API route registration
│ └── mcp.py # MCP server registration
├── app/ # REST API endpoints
│ ├── health_check/
│ ├── auth/
│ └── <your_api>/
├── servers/ # MCP servers
│ ├── google/
│ │ ├── gmail/
│ │ ├── drive/
│ │ └── <your_service>/
│ ├── druling/
│ └── <your_provider>/
├── core/
│ ├── service/ # Base MCP server class
│ ├── middleware/ # Auth and context middleware
│ ├── exceptions/ # Custom exceptions
│ └── utils/ # Utility functions
└── clients/
└── backend/ # Backend API clientKey Concepts
MCP Server
Extends
BaseMCPServerfromsrc.core.serviceProvides tools (functions) and prompts for AI agents
Uses
@self._mcp.tool()decorator to register toolsUses
mcp_meta()for tool metadataAccess user context via
self.get_context()
REST API
Uses FastAPI's
APIRouterRegistered via
app.include_router()Standard REST conventions with proper status codes
Backend Client
Use
BackendClientfromsrc.clients.backend.clientto call backend servicesSupports
get(),post(),put(),delete()methodsPass
contextfor authenticated requests
This 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.
Latest Blog Posts
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/druling/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server