Connecting your own assistant
Connecting your own assistant
Your assistant (Claude Desktop, Claude Code, Cursor, Visual Studio Code, or any client that speaks MCP with a bearer token) can read and change your work as you, with your permissions. It needs two things: tokens allowed in the workspace, and a token of your own. Setting it up takes three steps: get a token, give your client the address and the token, ask it something.
Before you start
- An administrator turns tokens on under Configuration → Access tokens, and may bound their lifetime or make every token read-only. Until then My profile → Access tokens says tokens are off.
- Create a token under My profile → Access tokens (see Access tokens). Give it the name of the client that will hold it. Copy the secret when it is shown: it is shown once. A read-only token is the one to start with.
- Each person connects with their own token. A token is never shared: what the assistant does is recorded under the name of the person whose token it holds.
Step 1: The address and the header
The server is the address you sign in at, followed by /mcp (see
Your workspace's address). For a workspace at
https://acme.mbovy.com, it is:
https://acme.mbovy.com/mcp
The token travels in one header of every request, the word Bearer, a space and the secret
exactly as you copied it:
Authorization: Bearer pat_...
Step 2: Add the server to your client
Claude Code
In a terminal, once, with your own address and secret:
claude mcp add --transport http -s user mbovy https://acme.mbovy.com/mcp --header "Authorization: Bearer pat_..."
claude mcp list then shows mbovy as connected, and /mcp inside a session lists its tools.
-s user registers it for you in every folder; without it, the server is registered only for the
folder you are in.
Claude Desktop and claude.ai
- Open Settings → Connectors and choose Add custom connector.
- Name: mbovy. URL: your address with
/mcp. - Authentication: No sign in.
- Under Request headers, add one header: name
Authorization, valueBearer pat_.... - Add it, then enable the connector in a chat from the tools menu.
Claude reaches your workspace from its own servers, so the workspace must be reachable from the internet; a hosted workspace is.
Cursor
Open Cursor Settings → Tools & MCP → New MCP server, which opens mcp.json, and add:
{
"mcpServers": {
"mbovy": {
"url": "https://acme.mbovy.com/mcp",
"headers": { "Authorization": "Bearer pat_..." }
}
}
}
Visual Studio Code
In .vscode/mcp.json of a workspace, or in your user mcp.json:
{
"servers": {
"mbovy": {
"type": "http",
"url": "https://acme.mbovy.com/mcp",
"headers": { "Authorization": "Bearer pat_..." }
}
}
}
Other clients
Any client that takes a server of type streamable HTTP with an address and a header works the same way. A client that can only sign in through a web page cannot connect yet.
Step 3: Try it
Ask, in your own words:
- Who am I in mbovy? The assistant answers with your name, your workspace and whether the token is read-only. If this works, everything else will.
- What do I have overdue?
- Count the open tasks by person.
- Show task 112 with its comments.
- Log 30 minutes on task 112 for today.
You never name a tool: the assistant picks one from the list below. Every answer carries a link to the item, so you can open it in the app and check what the assistant did.
What the assistant can do
| Tool | What it does |
|---|---|
whoami |
Who you are, your workspace, your roles and permissions, and whether the token is read-only |
find_work_items |
Work items you can see, filtered by customer, project, person, status, priority, type, dates or words; at most 50, with the total |
get_work_item |
One item with its estimate and spent time, its sub-items and its latest comments |
work_counts |
Items counted by person, customer, project, status or priority; needs the permission to run reports |
my_week |
Your own logged time for a week, by item and day |
run_report |
A saved report by name, with a relative period or a date range; needs the permission to run reports |
list_customers |
Customers, by name |
create_task |
One task, phase or subtask under a project, phase or task you can edit |
set_status |
Moves one item to Draft, Open, InProgress, OnHold or Done |
add_time |
Adds minutes of your time to one item on one day |
add_comment |
One comment on an item, written as you |
Nothing is deleted through a tool, no project is created, and every write changes one item. The permissions and the visibility are yours: an item you cannot open, the assistant cannot read either. With a read-only token the writing tools answer that they were not run. Each reading tool returns at most 50 rows and says the total, and each token may make a limited number of calls per minute; past it, the assistant is told to wait.
When it stops working
| The assistant says | What happened | What to do |
|---|---|---|
| The server refused the connection, or unauthorized | The token expired, was revoked, or tokens are off in the workspace. A password change, or being signed out everywhere, also ends every token. | Create a new token under My profile → Access tokens and update the client. If tokens are off, ask an administrator. |
| The tool was not run because the token is read-only | The token, or the whole workspace, is read-only. | Create a token without read-only, if the workspace allows it. |
| The tool needs a permission you do not have | The same permission the screen would ask for, such as running reports. | Ask an administrator for the permission; the assistant has exactly yours. |
| Too many calls | More calls in a minute than one token may make. | Wait a minute. |
Every refused use is in your Security log, with the reason.