Connect your agent
Any agent that supports remote MCP servers with OAuth sign-in can connect. You set it up once per agent installation.
Before you start
- A StrongLog account. Access is by invitation.
- An agent or MCP client that supports Streamable HTTP servers and OAuth with PKCE as a public client.
Connection details
| Server URL | https://<your-stronglog-host>/api/agent/v1/mcp |
|---|---|
| Transport | Streamable HTTP |
| Sign-in | OAuth with PKCE (S256), public client. Your agent opens a browser for you to sign in. |
| Client ID | Issued for your agent installation during setup (step 2 below). |
Choose permissions
Ask only for what you need. Permissions are checked on every call.
| Scope | Allows |
|---|---|
training.read | Read programmes, sessions, progression and history. Every tool needs this. |
training.plan.write | Save programmes, workouts and exercises, and reschedule, swap or skip planned sessions. |
training.log.write | Record, correct or remove sessions, and answer follow-up questions about them. |
garmin_context.read | Read stored Garmin recovery context, if you use Garmin. |
Also request openid, plus offline_access if your agent should stay signed in between conversations. The permissions you tick in StrongLog and the scopes your agent requests must both include an action for it to be allowed.
Steps
- Create a connection in StrongLog. Open Settings, then Agent connections. Name it after the agent and device, for example “Laptop agent”, and tick the permissions it should have.
- Ask for a client ID. Linking an agent to your connection is currently a one-time step done by the operator. Tell them the connection name and which agent you use, and you will get a client ID for that installation.
- Add StrongLog to your agent. Add a remote MCP server with the URL and client ID, mark it as a public OAuth client, and list the scopes you chose.
- Sign in. The first time your agent calls StrongLog it opens a browser. Sign in with your normal StrongLog account.
- Check it works. Ask: “What does my training look like right now?” The agent should call
stronglog_training_contextand answer from your data.
Example configuration
Every agent has its own config format, but most look close to this. This example is for the GitHub Copilot CLI, in ~/.copilot/mcp-config.json.
{
"mcpServers": {
"stronglog": {
"type": "http",
"url": "https://<your-stronglog-host>/api/agent/v1/mcp",
"oauthClientId": "<client-id-you-were-given>",
"oauthPublicClient": true,
"oauthScopes": [
"openid",
"offline_access",
"training.read",
"training.plan.write"
]
}
}
}
Never put passwords, tokens or secrets in an agent config. The client ID is not a secret; your browser sign-in does the rest.
Revoking access
Revoke the connection in Settings, then Agent connections. It stops working straight away, including tokens the agent has already renewed. Recent agent activity is listed on the same screen.