Bring theCam into your AI assistant.
theCam's MCP server lets Claude, ChatGPT, Codex, Cursor and VS Code find pros, check availability, draft bookings and message photographers as you — after you sign in and approve the app. No API keys.
Endpoint
https://api.thecam.app/user-mcp01 · Overview
What theCam MCP does
The Model Context Protocol (MCP) is an open standard that lets AI assistants use outside tools. theCam's MCP server gives your assistant the same abilities you have in the app — finding pros, booking, chatting and getting support — without ever handing it your password.
- Endpoint
- https://api.thecam.app/user-mcp
- Transport
- Streamable HTTP. The server is stateless and accepts
POSTonly. - Authorization
- OAuth 2.1 with PKCE. Sign in with Google, Apple, or email and password, then approve the app.
- Access
- Your account only: public pro profiles plus your own bookings, favorites, chats and support requests.
- Tools
- 21 tools — 12 read-only, 9 that make changes. No tool takes payment.
02 · Sign-in & consent
How authorization works
Add the endpoint to your AI app
Use one of the setups below. The app contacts theCam, finds its sign-in server and registers itself automatically — there's no client ID or secret for you to copy.
Sign in on theCam's own page
Your browser opens a theCam page. Continue with Google, continue with Apple, or use your email and password — whichever you use for theCam today. Your password is entered on theCam, never in the AI app.
Review the request and choose Allow
The consent screen names the app and what it can do: act as you in theCam to search pros, read your profile, and manage your bookings, favorites, reviews, chats and support requests. Choose Deny and nothing is shared. Apps that registered themselves with an unverified name are flagged — only continue if you started the connection.
The app receives short-lived access
The app gets an access token that lasts 15 minutes and a refresh token it uses to stay connected. Both are bound to your account and that one app. Every call is made as you, with your permissions.
03 · Connect a client
Connect your AI app
Every client uses the same endpoint. Pick yours below; each one opens theCam's sign-in page the first time it connects.
Claude Code
CLI commandAdd theCam as a remote HTTP server, then sign in from inside Claude Code.
- Run the command below. Add
--scope userto make theCam available in every project. - Start Claude Code, run
/mcp, pickthecamand choose Authenticate. - Your browser opens theCam's sign-in page. Sign in, review the request and choose Allow.
claude mcp add --transport http thecam https://api.thecam.app/user-mcpClaude Desktop & claude.ai
Custom connectorClaude's apps connect to remote servers as custom connectors. Connectors you add at claude.ai also show up in Claude Code when you're signed in with the same account.
- Open Claude's settings and go to Connectors, then choose Add custom connector.
- Name it theCam and paste the endpoint URL below.
- Choose Connect. Claude opens theCam's sign-in page; sign in and choose Allow.
https://api.thecam.app/user-mcpMenu names differ slightly between Claude versions, and custom connectors depend on your Claude plan.
OpenAI Codex
CLI commandCodex CLI and the Codex IDE extension share ~/.codex/config.toml.
- Add the server with the command below, or add the config.toml entry by hand.
- Run
codex mcp login thecam. Codex opens your browser to theCam's sign-in page. - Sign in and choose Allow, then start Codex.
codex mcp add thecam --url https://api.thecam.app/user-mcp
codex mcp login thecam[mcp_servers.thecam]
url = "https://api.thecam.app/user-mcp"ChatGPT
Where availableWhere your ChatGPT plan supports custom MCP servers, add theCam as a Streamable HTTP server using the endpoint URL and choose OAuth when asked how to authenticate.
- Find the option to add an MCP server or custom connector in ChatGPT's settings.
- Choose Streamable HTTP (or remote) and paste the endpoint URL below.
- Choose OAuth for authentication, then sign in to theCam and choose Allow.
https://api.thecam.app/user-mcpAvailability and menu names depend on your plan and app version. theCam doesn't need a client ID or secret — ChatGPT registers itself.
Cursor
mcp.jsonAdd theCam to ~/.cursor/mcp.json for every project, or to .cursor/mcp.json in one project.
- Add the entry below and save the file.
- Open Cursor's MCP settings. When theCam asks for sign-in, choose to log in.
- Sign in in the browser window and choose Allow.
{
"mcpServers": {
"thecam": {
"url": "https://api.thecam.app/user-mcp"
}
}
}No headers or API key are needed — leave the headers field out.
VS Code
mcp.jsonAdd theCam to .vscode/mcp.json in a workspace, or run MCP: Add Server from the Command Palette and choose HTTP.
- Add the entry below and save the file.
- Start the server from the file or the MCP servers list. VS Code asks you to sign in when theCam requests it.
- Sign in in the browser and choose Allow.
{
"servers": {
"thecam": {
"type": "http",
"url": "https://api.thecam.app/user-mcp"
}
}
}Any Streamable HTTP client
Clients that implement the MCP authorization spec connect with just the URL: an unauthenticated call returns 401 pointing at the protected resource metadata, which names theCam's authorization server. Registration is automatic and PKCE S256 is required. Stdio-only apps can use the community-maintained mcp-remote bridge, which isn't published or supported by theCam.
curl https://api.thecam.app/.well-known/oauth-protected-resource/user-mcpnpx -y mcp-remote https://api.thecam.app/user-mcp04 · Tools
All 21 tools, by workflow
Read tools only look things up. Write tools change something in your account; each needs an idempotencyKey so a retry never books or messages twice, and clients that support confirmations ask you first.
Your account
Confirm which theCam account the assistant is acting as.
whoamiReadReturns your profile: name, email, whether you're a client, photographer or videographer, and whether onboarding is complete.
Find a pro
Search the marketplace and look at a pro's work, prices and calendar.
search_prosReadSearches public, available photographers and videographers by text (name, bio, city, state) or by latitude/longitude within a 1–100 mile radius. Sort by nearest, top rated or best value; up to 50 results per page, paged with a cursor.
get_proReadGets a pro's public profile: display name, bio, city, state, photo/video flags and profile image.
get_pro_servicesReadLists the services and packages a pro offers, with pricing.
get_pro_availabilityReadReturns the pro's availability calendar.
get_pro_portfolioReadReturns the pro's portfolio images and work samples in display order.
get_pro_reviewsReadReturns the pro's reviews with ratings and comments.
Favorites
Keep a shortlist of pros you like.
list_favoritesReadLists the pros you've favorited.
add_favoriteWriteAdds a pro to your favorites.
remove_favoriteWriteRemoves a pro from your favorites.
Bookings
Request a shoot and keep track of the ones you have.
list_bookingsReadLists your bookings — as the client, or as the pro if you're a photographer or videographer. Filter by upcoming, past or pending.
get_bookingReadGets one booking you're part of, including services, schedule and any dispute status.
create_bookingWriteCreates a booking draft with a verified pro: date and time, 1–20 services or a package, notes, shoot locations and intake answers. Returns provisional pricing and the deposit; the draft is held for 15 minutes and no payment is taken by this tool.
cancel_bookingWriteCancels a booking you're part of. Bookings that are completed or already have delivered work can't be cancelled.
Messages
Talk to pros through theCam chat, the same threads you see in the app.
list_conversationsReadLists your active chat conversations.
get_messagesReadReturns the message history of one of your conversations.
start_chatWriteOpens a conversation with a pro, or returns the existing one if you've already talked.
send_messageWriteSends a message (up to 5,000 characters) in one of your conversations.
After the shoot
Review the work, or raise a problem with a delivery.
create_reviewWriteLeaves a 1–5 star review with a comment (up to 1,000 characters) for the pro on one of your completed bookings.
dispute_bookingWriteOpens a dispute on a booking whose delivery is awaiting your review, with a reason of up to 500 characters.
Support
Reach theCam support.
open_support_requestWriteOpens a support ticket with a subject, description and category: booking, payment, account, technical or other.
05 · Security & privacy
Built to act as you — and only you
No API keys, no shared passwords
You sign in on theCam's page. The AI app never sees your password and there's no long-lived key to leak.
Explicit consent, per app
Each app must be approved by you on theCam's consent screen before it gets any access. Unverified app names are flagged.
User-scoped by design
Every tool runs as your account. It can read public pro profiles and your own bookings, favorites and conversations — never another user's data, and never admin operations.
Short-lived, rotating tokens
Access tokens last 15 minutes. Refresh tokens rotate on each use, and replaying an old one revokes the whole connection.
Minimal data
Search returns public profile fields only. Credentials and sign-in parameters are kept out of logs, and tokens are stored only as one-way digests.
Safe retries
Idempotency keys stop a retried request from booking or messaging twice. Errors come back as short, generic messages.
You stay in control
Disconnect any app from the app itself, or contact support to revoke every connection at once.
Examples, troubleshooting and FAQ
The full reference walks through real requests tool by tool and covers sign-in problems, expired requests and reconnecting.
Your next shoot is one tap away.
Download theCam and find a photographer or videographer in your city today.
