companycam-mcp
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., "@companycam-mcplist my active projects"
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.
companycam-mcp
Remote MCP server for the CompanyCam API, built for use as a claude.ai custom connector (and any other MCP client that speaks Streamable HTTP).
Transport: MCP Streamable HTTP (stateless JSON-RPC over POST) — no SSE stream, no sessions
Runtime: single zero-dependency Vercel serverless function (api/_lib/mcp-core.ts)
Auth to CompanyCam: server-side
COMPANYCAM_API_TOKEN(Bearer)Auth to the endpoint (two equivalent modes, same
MCP_SHARED_SECRET):Secret path:
https://<deployment>/mcp/<MCP_SHARED_SECRET>— for the claude.ai custom-connector dialogBearer header:
https://<deployment>/mcpwithAuthorization: Bearer <MCP_SHARED_SECRET>— for Claude Tag "Connect an app" credentials (see .mcp.json, which registers this repo as a Claude Tag plugin pointing at/mcp)
Tools (26)
No delete tools are exposed by design — the shared server-side token means every connector user acts as the token owner, so destructive operations are limited to archiving (reversible).
Area | Tools |
Company / users |
|
Projects |
|
Project people |
|
Project content |
|
Photos |
|
Photo metadata |
|
Tags |
|
Notes:
add_photorequires the image to already be hosted at a publicly accessible URL — that's how the CompanyCam API works (it downloads fromuri).Write tools accept
acting_user_emailto attribute the action to a specific CompanyCam user (X-CompanyCam-Userheader).Photo responses collapse the
urisrenditions array into a{type: url}map to keep chat context small.
Related MCP server: Freedcamp MCP Server
Environment variables (Vercel)
Var | Purpose |
| CompanyCam API access token (CompanyCam → Settings → API) |
| Random string that becomes the secret path segment of the connector URL |
Add to claude.ai
Settings → Connectors → Add custom connector:
Name: CompanyCam
Remote MCP server URL:
https://<production-domain>/mcp/<MCP_SHARED_SECRET>Leave OAuth fields empty (auth is the secret URL + server-side token).
Develop
npm install
npm test # local protocol smoke tests, no network needed
vercel deploy # preview
vercel deploy --prodSmoke-test a deployment:
curl -s https://<domain>/mcp/<secret> -X POST -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'This server cannot be deployed
Maintenance
Related MCP Connectors
Manage projects, tasks, time tracking, and team collaboration through natural language.
Connects AI assistants to QCDatabase.AI for everyday construction quality-control work.
Interact with the Stitch API using natural language commands.
Streamline your Attio workflows using natural language to search, create, update, and organize com…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceConnects AI assistants to JoeAPI construction management system, enabling management of clients, contacts, proposals, estimates, action items, project schedules, and financial data through natural language.1-
- AlicenseNot gradedqualityDmaintenanceEnables to manage Freedcamp projects, tasks, users, and comments through natural language with HMAC-SHA1 authentication and name resolution.29 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language interaction with Groundlight to create and manage computer vision detectors, submit image queries, and set up alerts.4Apache 2.0
- AlicenseAqualityBmaintenanceEnables interaction with Megaplan project management platform, allowing users to manage tasks, deals, projects, and comments through natural language.846 npm2MIT