loading…
Search for a command to run...
loading…
A platform for building and managing MCP servers and REST APIs, enabling AI integrations with services like Gmail and Google Drive.
A platform for building and managing MCP servers and REST APIs, enabling AI integrations with services like Gmail and Google Drive.
pip install -r requirements-dev.txtdocker compose up --builddocker compose down to stop all servicesmake runpytest to run all testsMCP (Model Context Protocol) servers provide tools and prompts for AI integrations. Follow these steps to add a new MCP server:
Create a new directory under src/servers/ for your MCP server:
src/servers/<provider>/<service>/
__init__.py
mcp.py
outputs.py
prompts.py
For example, to add a new "calendar" service under Google:
src/servers/google/calendar/
__init__.py
mcp.py
outputs.py
prompts.py
outputs.py)Create Pydantic models for your tool outputs:
prompts.py)Create prompts for your MCP server (optional):
mcp.py)Create the MCP server class by extending BaseMCPServer:
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:
/<server_name> (e.g., /calendar)REST APIs are used for standard HTTP endpoints. Follow these steps to add a new API:
Create a new directory under src/app/ for your API:
src/app/<feature>/
__init__.py
api.py
For example, to add a "users" API:
src/app/users/
__init__.py
api.py
api.py)Create the FastAPI router with your endpoints:
Update src/setup/api.py to include your new router:
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 client
BaseMCPServer from src.core.service@self._mcp.tool() decorator to register toolsmcp_meta() for tool metadataself.get_context()APIRouterapp.include_router()BackendClient from src.clients.backend.client to call backend servicesget(), post(), put(), delete() methodscontext for authenticated requestsRun in your terminal:
claude mcp add druling-mcp-server -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.