Hosted MCP server
Two Desk Genie servers
The Desk Genie Mac app also runs a local MCP server named desk-genie, which speaks and animates your character on your Mac (Mac app MCP server). This hosted server is named desk-genie-hosted so both can be installed in the same client. Tools from each appear under their own server name. Keep the hosted name when you copy a configuration.
- Address:
https://stage.app.deskgenie.studio/api/mcp - Transport: Streamable HTTP. Each POST carries one JSON-RPC message and receives one JSON response. The server does not open event streams.
- Authentication:
Authorization: Bearer dg_..., an access token.
Tools
| Tool | Arguments | Returns |
|---|---|---|
list_characters |
none | The characters you can talk to, as { id, name }. |
talk |
character (an id from list_characters), message (1 to 4,000 characters) |
The character's reply as text. Each call starts a new conversation. |
get_usage |
none | Today's turns, voice seconds and cost against your daily limit. |
Each talk call is one turn against your daily limit. Spoken replies are not returned over MCP.
Client configuration
claude mcp add --transport http --scope user desk-genie-hosted https://stage.app.deskgenie.studio/api/mcp \
--header "Authorization: Bearer $DESK_GENIE_TOKEN"
{
"servers": {
"desk-genie-hosted": {
"type": "http",
"url": "https://stage.app.deskgenie.studio/api/mcp",
"headers": { "Authorization": "Bearer ${input:desk-genie-token}" }
}
},
"inputs": [
{ "type": "promptString", "id": "desk-genie-token", "description": "Desk Genie access token", "password": true }
]
}
VS Code asks for the token when it starts the server. The GitHub Copilot CLI reads the same mcp.json but cannot fill in ${input:...}, so it sends that text as the token and the server answers 401. To use the CLI, replace the header value with Bearer dg_... and your token. The file is plaintext, so use a short-lived token and revoke it when you finish.
Download the hosted extension and follow the Claude Desktop guide. It covers the install, the unsigned-file warning, the token prompt and download problems.
{
"mcpServers": {
"desk-genie-hosted": {
"url": "https://stage.app.deskgenie.studio/api/mcp",
"headers": { "Authorization": "Bearer ${env:DESK_GENIE_TOKEN}" }
}
}
}
The install buttons on the MCP page write these configurations for you. A request that carries an Origin header, which browsers add, is refused unless the origin is Desk Genie's own. No button or link ever contains your token: VS Code asks for it, and Cursor reads it from DESK_GENIE_TOKEN.
Raw requests
curl -s https://stage.app.deskgenie.studio/api/mcp \
-H "Authorization: Bearer $DESK_GENIE_TOKEN" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"talk","arguments":{"character":"pip","message":"Hello"}}}'
Errors
A missing or invalid token returns HTTP 401. A tool that cannot finish, for example at your daily limit, returns a result with isError: true and a message to show the user. See Limits and errors.