cocam-mcp
v1.2.6
Published
MCP server for the CompanyCam API
Readme
CompanyCam MCP Server
An MCP (Model Context Protocol) server that exposes the CompanyCam API as tools for AI assistants like Claude.
Prerequisites
- Node.js 18+
- A CompanyCam Access token (generate one here)
Quick Start
Run directly with npx:
COMPANYCAM_API_TOKEN=your-token npx cocam-mcpOr install globally:
npm install -g cocam-mcp
COMPANYCAM_API_TOKEN=your-token cocam-mcpSetup with Claude Code
Add to your Claude Code settings (~/.claude/settings.json):
{
"mcpServers": {
"companycam": {
"command": "npx",
"args": ["-y", "cocam-mcp@latest"],
"env": {
"COMPANYCAM_API_TOKEN": "your-token-here"
}
}
}
}Setup with Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"companycam": {
"command": "npx",
"args": ["-y", "cocam-mcp@latest"],
"env": {
"COMPANYCAM_API_TOKEN": "your-token-here"
}
}
}
}Available Tools
Projects
| Tool | Description |
| ---------------------------- | ------------------------------------------------------------------ |
| list-projects | List projects with optional name/address search and date filtering |
| get-project | Get a single project by ID |
| create-project | Create a new project |
| update-project | Update an existing project |
| delete-project | Delete a project |
| archive-project | Archive a project |
| restore-project | Restore an archived project |
| update-project-notepad | Update a project's notepad content |
| list-project-comments | List comments on a project |
| add-project-comment | Add a comment to a project |
| list-project-labels | List labels on a project |
| add-project-labels | Add labels to a project by name (creates if new) |
| delete-project-label | Remove a label from a project |
| list-project-documents | List documents on a project |
| upload-project-document | Upload a document to a project via URL |
| list-project-collaborators | List external collaborators on a project |
| list-project-invitations | List pending invitations for a project |
| create-project-invitation | Invite an external collaborator to a project |
| list-assigned-users | List users assigned to a project |
| assign-user-to-project | Assign a user to a project |
| unassign-user-from-project | Remove a user from a project |
Photos
| Tool | Description |
| ---------------------- | ---------------------------------------------------------------------- |
| list-photos | List all photos with optional date, user, group, and tag filters |
| list-project-photos | List photos for a specific project with the same filter options |
| get-photo | Get a single photo by ID |
| view-photo | View a photo's image for AI vision analysis (returns the actual image) |
| add-photo-to-project | Add a photo to a project via URL |
| update-photo | Update a photo's description or internal status |
| delete-photo | Delete a photo |
| list-photo-tags | List tags on a photo |
| add-photo-tags | Add tags to a photo |
| list-photo-comments | List comments on a photo |
| add-photo-comment | Add a comment to a photo |
Tags
| Tool | Description |
| ------------ | ---------------------- |
| list-tags | List all tags |
| get-tag | Get a single tag by ID |
| create-tag | Create a new tag |
| update-tag | Update a tag |
| delete-tag | Delete a tag |
Users
| Tool | Description |
| ------------------ | ------------------------------------ |
| get-current-user | Get the currently authenticated user |
| list-users | List all users in the company |
| get-user | Get a single user by ID |
| create-user | Create a new user |
| update-user | Update a user |
| delete-user | Delete a user |
Groups
| Tool | Description |
| -------------- | ------------------------ |
| list-groups | List all groups |
| get-group | Get a single group by ID |
| create-group | Create a new group |
| update-group | Update a group |
| delete-group | Delete a group |
Checklists
| Tool | Description |
| -------------------------- | -------------------------------- |
| list-checklists | List all checklists |
| list-checklist-templates | List checklist templates |
| list-project-checklists | List checklists for a project |
| get-project-checklist | Get a specific project checklist |
| create-project-checklist | Create a checklist on a project |
Webhooks
| Tool | Description |
| ---------------- | -------------------------- |
| list-webhooks | List all webhooks |
| get-webhook | Get a single webhook by ID |
| create-webhook | Create a new webhook |
| update-webhook | Update a webhook |
| delete-webhook | Delete a webhook |
Company
| Tool | Description |
| ------------- | ----------------------- |
| get-company | Get company information |
Workflow Tools
Composite tools that combine multiple API calls into a single operation:
| Tool | Description |
| ------------------------ | -------------------------------------------------------------------------- |
| search-project-photos | Search projects by name/address, then return photos from matching projects |
| get-project-summary | Get project details, recent photos, comments, and checklists in one call |
Resources
Pre-loadable reference data available via MCP resources:
| Resource | Description |
| ---------------------------------- | ------------------------------ |
| companycam://company | Company info |
| companycam://me | Current authenticated user |
| companycam://tags | All tags |
| companycam://groups | All groups |
| companycam://users | All users |
| companycam://checklist-templates | All checklist templates |
| companycam://projects/{id} | A specific project by ID |
Prompts
Pre-built prompts for common workflows:
| Prompt | Description |
| ----------------------- | -------------------------------------------------------- |
| summarize-project | Generate a comprehensive project summary |
| daily-activity-report | Generate a daily report across recent project activity |
| project-photo-audit | Review all photos in a project and flag documentation gaps |
Development
pnpm install
pnpm dev # watch mode
pnpm build # compile TypeScript
pnpm start # run the compiled server
pnpm inspect # open MCP Inspector UIReleasing
pnpm release:patch # 1.0.1 → 1.0.2
pnpm release:minor # 1.0.1 → 1.1.0
pnpm release:major # 1.0.1 → 2.0.0Creates a version bump commit, git tag, GitHub release, and automatically publishes to npm via GitHub Actions.
License
ISC
