Trimble Claude MCP
Integrates with Trimble Connect, using Trimble Identity OAuth to access user-authorized data through the Trimble Connect API.
Click on "Deploy 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., "@Trimble Claude MCPshow projects I have access to in Trimble Connect"
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.
Trimble Claude MCP — GitHub + Render + Firebase
Starter production-oriented architecture for a Trimble Connect MCP server and Firebase-hosted extension UI.
Architecture
GitHub: source control
Render: Node.js MCP + OAuth backend
Firebase Hosting: Trimble Connect extension frontend
Trimble Identity: per-user OAuth
Trimble Connect API: user-authorized data
Anthropic API: optional Claude orchestration
Related MCP server: Remote MCP Server on Cloudflare
Important production notes
The included session store is intentionally in-memory for development. Replace it with Firestore, Redis, or PostgreSQL before multi-instance production.
Set
FIREBASE_STORAGE_BUCKETin Render to enable shared temporary PDF uploads across restarts and instances. Uploads expire after 15 minutes.Set
PUBLIC_BASE_URLto the deployed HTTPS origin so MCP export results contain working download URLs.Verify the exact Trimble OAuth endpoints/scopes for your registered Trimble application before deployment.
Do not commit
.envor secrets.The MCP HTTP implementation is a minimal starter transport. For Claude remote MCP compatibility, align it with the current MCP Streamable HTTP/auth requirements and SDK version you deploy.
The Firebase UI is a starter shell. Replace
YOUR-RENDER-NAMEand wire the chat orchestration to your desired Claude/MCP flow.
Local run
cp .env.example .env
npm install
npm startOpen http://localhost:3000/health.
Extract a client-side PDF
The extract_column_schedule MCP tool accepts either a server-visible pdfPath or
the PDF contents as pdfBase64 when the file exists on the client:
{
"name": "extract_column_schedule",
"arguments": {
"pdfBase64": "JVBERi0x..."
}
}The base64 value may also be a data:application/pdf;base64,... value. Do not
send both pdfPath and pdfBase64 in the same request.
For a browser, Swagger, or another upload client, first POST the PDF as the
file field to /api/pdf/uploads. The response contains a temporary uploadId
that can be passed to the MCP tool:
{
"name": "extract_column_schedule",
"arguments": {
"uploadId": "returned-upload-id"
}
}The existing /api/pdf/extract-column-schedule endpoint remains available for
the HTML exporter and extracts the uploaded file directly in the same request.
GitHub
git init
git add .
git commit -m "Initial Trimble Claude MCP"
git branch -M main
git remote add origin https://github.com/YOUR-USERNAME/trimble-claude-mcp.git
git push -u origin mainRender
Connect the GitHub repository as a Web Service or use render.yaml as a Blueprint. Build: npm install; Start: npm start.
Set all variables from .env.example in Render. After deployment set TRIMBLE_REDIRECT_URI to:
https://YOUR-RENDER-NAME.onrender.com/oauth/callback
Firebase
firebase login
firebase init hosting
firebase deployUse public as the hosting directory. Replace the Render URL in public/index.html.
Suggested next production work
Firestore token/session persistence with encryption at rest
OAuth PKCE/state and robust callback validation
Exact MCP Streamable HTTP implementation using the current official SDK
MCP authorization metadata/discovery as required by the Claude client
Trimble API pagination/error handling
Project/model/object/issue/file tools
Claude tool orchestration endpoint
Trimble Connect extension SDK context and selected-object integration
Rate limiting, CSRF protection, audit logging, and structured logging "# trimble-claude-mcp"
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
- StytchOAuthdev.stytch.mcp
The Stytch MCP server is a reference implementation that demonstrates remote MCP server authentication and authorization using Stytch Connected Apps. It provides OAuth 2.1-compliant authorization (including PKCE), Dynamic Client Registration, and validates Stytch-issued access tokens to enable AI agents to securely interact with external services through permissioned access, supporting scopes like openid, email, profile, and manage:project_data.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceA Cloudflare-deployable server that implements Model Context Protocol (MCP) capabilities, allowing AI assistants like Claude to access custom tools via OAuth authentication flows.-
- FlicenseNot gradedqualityCmaintenanceEnables deploying a Model Context Protocol (MCP) server on Cloudflare Workers with built-in OAuth authentication. It allows local clients like Claude Desktop to securely connect to and use remote tools through an HTTP/SSE transport.-
- FlicenseNot gradedqualityCmaintenanceEnables deploying and running a Model Context Protocol (MCP) server on Cloudflare Workers with built-in OAuth authentication. It allows users to host and access tools remotely via Server-Sent Events (SSE) transport from clients like Claude Desktop.-
- FlicenseNot gradedqualityBmaintenanceA remote Model Context Protocol server that lets Claude on claude.ai browse your Autodesk Construction Cloud (ACC) hubs/projects/files and hand you a link that opens the actual model in a hosted Autodesk Viewer page.-