Connect Claude (MCP)
Meridian Track hosts a remote Model Context Protocol server at:
https://api.meridiantrack.com/mcpAny MCP client that supports OAuth can connect to it. You sign in with your normal Meridian Track account; there is nothing to install and no API key to copy. Tools run as you, in your active workspace.
Claude.ai, Claude Desktop and Claude mobile
Section titled “Claude.ai, Claude Desktop and Claude mobile”- Open Customize → Connectors (on Team and Enterprise plans an Owner adds it under Organization settings → Connectors).
- Click Add custom connector.
- Enter
https://api.meridiantrack.com/mcpas the server URL. Leave the OAuth client settings on their defaults (“Use Claude’s published identity” or “Register automatically” both work). - Click Add, then Connect. You are sent to the Meridian Track sign-in page.
- Sign in, review the permissions on the consent screen and click Allow.
The connector then appears in the + menu of every chat. Turn it on for a conversation and ask Claude to start a timer or log time.
Claude Code
Section titled “Claude Code”claude mcp add --transport http meridian https://api.meridiantrack.com/mcpThen run /mcp inside Claude Code and choose Authenticate for meridian. A browser window opens for sign-in and consent.
Other MCP clients
Section titled “Other MCP clients”Point the client at https://api.meridiantrack.com/mcp using the Streamable HTTP transport. The server advertises its authorization server through standard discovery (/.well-known/oauth-protected-resource/mcp and /.well-known/oauth-authorization-server), supports Client ID Metadata Documents and Dynamic Client Registration, and requires PKCE (S256). Tokens are sent as Authorization: Bearer headers.
Permissions
Section titled “Permissions”The consent screen lists exactly what the connector can do. The scopes match the ones available to API keys: read and write access to clients, projects, tasks, tags, time entries, timers, favorites and invoices, plus read access to your workspace’s member list. Clients normally request all of them; if a tool reports a missing scope, remove the connector and add it again.
Everything the connector does is attributed to your user in your active workspace (the one selected in the web app). Switch workspaces in the app to change where entries are logged.
Available tools
Section titled “Available tools”| Tool | Description |
|---|---|
clock_in |
Start a timer with optional description, project, client, task, notes, billable flag, and tags; returns the entry ID |
clock_out |
Stop your running timer, optionally updating description, project, or notes; returns the entry ID |
get_timer_status |
Check whether you have a timer running, on which project, and for how long |
Time entries
Section titled “Time entries”| Tool | Description |
|---|---|
create_time_entry |
Log a completed entry with start/end times, project, client, task, tags |
list_time_entries |
List entries by period (today, this_week, …) or date range in your timezone, with IDs, tags and notes; filter by project, client or member |
update_time_entry |
Update an entry by ID: description, project, client, notes, billable, end time, or tags |
delete_time_entry |
Delete a time entry by ID |
Projects, clients and tags
Section titled “Projects, clients and tags”| Tool | Description |
|---|---|
list_projects / create_project / delete_project |
Manage projects (with client, billable default, color, hourly rate) |
list_clients / create_client / delete_client |
Manage clients (with email, contact name, hourly rate) |
list_tags / create_tag / delete_tag |
Manage workspace tags |
Workspace
Section titled “Workspace”| Tool | Description |
|---|---|
list_workspace_members |
List the members of your active workspace with name, email and role |
Missing something? Ask get_more_tools
Section titled “Missing something? Ask get_more_tools”The tool list ends with get_more_tools. It doesn’t do anything in your workspace: when your assistant needs a capability Meridian Track doesn’t offer yet, it can call this tool with a short description of what it wanted, and that request is recorded as product feedback. It’s how we decide which tools to build next.
The context argument
Section titled “The context argument”Every tool accepts a short context sentence describing why the assistant is making the call. Assistants fill it in themselves; you never have to. It is used only to understand how people use the connector (which tools get used together, for what kinds of tasks) and is never shown to anyone else. Tool inputs and results are not collected.
Times and timezones
Section titled “Times and timezones”Times are shown and interpreted in the timezone saved on your account. The web app stores your browser’s timezone the first time you sign in, so this normally needs no setup. Every tool that takes dates also accepts a timezone argument (an IANA name such as Europe/Berlin) to override it for one call. Without a saved timezone, UTC is used.
Example usage
Section titled “Example usage”You: Start a timer for the website redesign project
Assistant: Timer started at 9:15 AM on the “Website Redesign” project.
You: What did I work on today?
Assistant: Here are your entries for today: Design review 9:00–10:30 (1h 30m, Website Redesign, billable); Team standup 10:30–11:00 (30m). Total 2h 0m.
You: Log 2 hours for a client meeting with Acme Corp yesterday from 2 to 4pm
Assistant: Time entry created: “Client meeting” 2:00 PM–4:00 PM (2h 0m), client Acme Corp.
Disconnecting
Section titled “Disconnecting”Remove the connector in your MCP client (for Claude.ai, Customize → Connectors → Remove). Access tokens expire after an hour and refresh tokens after 30 days of inactivity; removing the connector discards them.
Troubleshooting
Section titled “Troubleshooting”“Finish setting up your account”
Section titled ““Finish setting up your account””Your account has no workspace yet. Sign in to the web app once (it creates your personal workspace), then connect again.
“Couldn’t reach the MCP server” or the sign-in loop never finishes
Section titled ““Couldn’t reach the MCP server” or the sign-in loop never finishes”Make sure the URL is exactly https://api.meridiantrack.com/mcp with no trailing slash, and that you did not select the legacy SSE transport.
A tool reports a missing scope
Section titled “A tool reports a missing scope”The connector was authorized with fewer permissions than the tool needs. Remove the connector and add it again to grant the full set.
I used the old meridian-mcp command
Section titled “I used the old meridian-mcp command”The stdio server shipped with the CLI has been retired in favour of this hosted server. Delete the old entry from your MCP client configuration and follow the steps above. The meridian CLI itself is unchanged.