D Tools Cloud MCP Server
A MCP server for LLMs to interact with D-Tools Cloud API
Ask AI about D Tools Cloud MCP Server
Powered by Claude · Grounded in docs
I know everything about D Tools Cloud MCP Server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
D-Tools-Cloud-MCP-Server
Model Context Protocol (MCP) server for D-Tools Cloud API. Enables Claude and other LLMs to interact with D-Tools Cloud resources through natural language.
Overview
MCP Tools
This MCP server provides 26 tools for accessing D-Tools Cloud resources:
- Clients: List clients, get client details, create new client, update existing client
- Projects: List projects, get project details, update existing project details
- Change Orders: List change orders, get change order details
- Opportunities: List opportunities, get opportunity details, create opportunity, update opportunity
- Products: List products, get product details, update product prices, update product barcodes, update product status
- Purchase Orders: List purchase orders, get purchase order details
- Quotes: List quotes for an opportunity, get quote details
- Service Contracts: List service contracts, get service contract details
- Time Entries: List time entries with filtering
- Files: Get file details
All tools support filtering, searching, pagination, and date-range queries where applicable. See features and D-Tools Cloud API endpoints for more details.
OAuth
For exposing the MCP server (eg. hosting on VPS), the project supports OAuth to secure the server. Currently only tested with Authentik with FastMCP OAuth Proxy.
Quick Start
Prerequisites
- D-Tools Cloud Account
- D-Tools Cloud API Key
- Docker Compose or uv
- (Optional if using OAuth) Authentik
Project Setup
-
Create
.envfile:cp .env.example .env -
Configure D-Tools Cloud credentials in
.env:DTOOLS_API_KEY=your_api_key DTOOLS_AUTH_TOKEN=their_auth_tokenSee D-Tools Authentication Docs for details on setting up credentials/auth.
-
(Optional) For setting up OAuth with Authentik for securing MCP server, enable auth and add OAuth config to
.env:DTOOLS_API_KEY=your_api_key DTOOLS_AUTH_TOKEN=their_auth_token ENABLE_AUTH=true AUTHENTIK_ISSUER=auth.example.com AUTHENTIK_APPLICATION=your_application_name OAUTH_BASE_URL=fastmcp.example.com OAUTH_CLIENT_ID=yourclientid OAUTH_CLIENT_SECRET=yoursecret STORAGE_ENCRYPTION_KEY=generatedkeySince this project mainly uses Authentik, it uses FastMCP OAuth Proxy. It also uses file storage to persist data. For storage encryption key, generate a Fernet key with something like
uv run python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"or use online generator.
Running Server
Docker
Quickest way to get the FastMCP server running is through Docker:
docker compose up -d
This will run the server on http://localhost:8000.
Python (uv)
With uv:
uv run main.py --transport http
Remove the --transport http if you want to use stdio for dev/debug.
(Optional) Test/Debug with MCP Inspector
To quickly test your MCP server, you can use MCP Inspector, eg:
npx @modelcontextprotocol/inspector
