Connect Claude
Add Upclient as a connector in Claude or Claude Code so you can ask about projects, tasks, clients and messages, and make changes, in plain language.
Upclient runs a remote MCP server, so you can add your workspace to Claude as a custom connector. Once connected you can ask questions like “Which tasks are waiting for my review?” or “What did Juniper Furniture say in the Website Redesign thread?”, and ask Claude to do the work: create a project from a template, add a task, approve a submission or reply to a client.
Claude acts as you. It sees only what you can see in Upclient and can only change what your role allows.
How the connection works
- Server URL:
https://api.upclient.app/mcp. Claude talks to it over Streamable HTTP. - Signing in: Claude opens Upclient in your browser, you sign in and choose Allow. Claude then holds a token that lasts an hour and renews itself for up to 30 days of inactivity. Claude never sees your password.
- Workspaces: one connection covers every workspace you belong to. Claude calls
list_workspacesfirst and passes the workspace on each request, so it can answer “in Copperline, …” without reconnecting. If you only have one workspace, Claude uses it without asking. - Permissions: every request runs through the same role and project checks as the app. A viewer can read but never write; a member only sees the projects they are on. Billing that has ended stops the connection the same way it stops the app.
- Read only: when you connect you can grant reading only. Claude can still look everything up, and asks you to reconnect with write access the first time it tries to change something.
What Claude can do
| Area | Read | Change |
|---|---|---|
| Projects | list and open projects with their stages, people, progress | create a project (blank or from a template), add a stage |
| Tasks | list by status, assignee, due date, review queue or overdue; open a task with its client steps | create a task, change it, approve a review or send it back |
| Clients | list and open contacts and companies | add a contact or company, invite a contact to the portal |
| Library | templates, forms, form submissions with answers, contracts | none |
| Messages | list a project’s threads, read a thread | reply, or start an internal or project thread |
| Pages | list and read project pages | create a page (always hidden at first), edit it, show or hide it |
Claude cannot delete anything, change settings, billing or team members, edit workflows, or manage API keys. Lists return at most 50 items per page and Claude asks for the next page when it needs more.
Connect Claude
You need a workspace plan that lets you add custom connectors in Claude.
- In Claude (web or desktop), open Settings → Connectors and choose Add custom connector.
- Name it
Upclientand pastehttps://api.upclient.app/mcpas the URL. Leave the OAuth client fields empty; Claude registers itself. - Choose Connect. Upclient opens in your browser; sign in if you are asked.
- Check the access Claude asks for and choose Allow.
- In a chat, open the tools menu and make sure Upclient is turned on, then ask something like “List my overdue tasks in Fernhill Studio”.
Connect Claude Code
Add the server once from your terminal:
claude mcp add --transport http upclient https://api.upclient.app/mcp
Then run /mcp inside Claude Code, pick upclient and choose Authenticate. Your browser opens the same sign-in and Allow screen as above.
To use the connector from a script or a shared machine without a browser, send a workspace API key instead (the same stk_ key the REST API uses). A key is fixed to its workspace, so Claude Code does not pass a workspace and does not see list_workspaces:
claude mcp add --transport http upclient https://api.upclient.app/mcp \
--header "Authorization: Bearer $UPCLIENT_API_KEY"
An API key acts with the role of the person who created it, and keys of viewers can only read.
Disconnect
Remove the connector in Claude’s Settings → Connectors, or run claude mcp remove upclient in Claude Code. Claude forgets its tokens, and a token that is left over stops working within an hour. When a connection has been withdrawn on the Upclient side, the next request answers “This app is no longer connected to Upclient” and Claude asks you to connect again. Revoke the API key to stop a key-based connection.
Troubleshooting
- “Say which workspace to use”: Claude did not pass a workspace. Ask it to list your workspaces first.
- “None of your workspaces matches …”: the workspace slug is wrong or you are not a member. Upclient gives the same answer in both cases so it never reveals other workspaces, and the same goes for projects, tasks and clients you cannot see: “Nothing with that id was found in this workspace.”
- “This connection can only read”: you granted read access only. Disconnect and connect again, allowing changes.
- “This API key only works in the workspace …”: a key is fixed to its workspace; leave the workspace out.
- Too many requests: a connection can make 300 requests a minute, the same limit as the REST API. Claude waits for the time in the
Retry-Afterheader and tries again.