Skip to content

Sign in

Sign in to Log10x from your MCP client the first time, or after Sign out wiped local credentials. Mints an API key via the OAuth device flow, writes it to ~/.log10x/credentials (mode 0600), and confirms identity. Runs once per machine; every MCP host on the box (Claude Desktop, Cursor, Continue) shares the same key.

Example

You

sign me up for log10x

Log10x

Authenticated as GitHub talweiss → Log10x account talw@log10x.com. API key written to ~/.log10x/credentials. Default env: talweiss-default.

More to ask

  • "log me in, 2 minutes to authorize"
  • "create my log10x account"
  • "use my own data instead of demo"

Prerequisites

An account on any connection enabled for Log10x — sign in with GitHub, Google, or another social/database login on the Auth0 universal login page. Runs from demo mode. Scopes requested are the standard OIDC set openid profile email offline_access — identity claims only, no access to repos or org data. Run Sign out to wipe local credentials.

Schema and samples

Input example

Real call against the demo env (captured by scripts/capture-tool-envelopes.mjs).

{}
Input schema

Agent-facing JSON Schemas (canonical shapes the MCP server publishes via tools/list).

log10x_signin_start

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

log10x_signin_complete

{
  "type": "object",
  "properties": {
    "device_code": {
      "type": "string",
      "minLength": 1,
      "description": "The opaque device_code returned by `log10x_signin_start`. Pass it back unchanged. The tool polls Auth0 for the access token, then exchanges it for a long-lived Log10x API key. Mutually exclusive with `api_key`."
    },
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Log10x API key to sign in with directly (no browser). Validated against /api/v1/user before saving. Use this when the user already has a key from console.log10x.com → Profile → API Settings, or when issued out-of-band by a workspace admin. Mutually exclusive with `device_code`."
    },
    "wait_seconds": {
      "type": "integer",
      "minimum": 30,
      "maximum": 900,
      "description": "Max seconds to poll for browser confirmation (only used when device_code is passed). Default 600."
    }
  },
  "additionalProperties": false
}

Source: src/tools/signin.ts.

Output example

Real envelope from the demo env. view: "summary" returns the full StructuredOutput with typed data. Long arrays + base64 PNG bodies trimmed for readability; the real call returns them in full.

Headline (the 1-line agent-facing answer):

Sign-in started — confirm code ABCD-EFGH in browser, then call signin_complete with the device_code below.

{
  "schema_version": "1.0",
  "schema_epoch": "2026-05-25",
  "tool": "log10x_signin_start",
  "view": "summary",
  "summary": {
    "headline": "Sign-in started — confirm code ABCD-EFGH in browser, then call signin_complete with the device_code below."
  },
  "data": {
    "ok": true,
    "user_code": "ABCD-EFGH",
    "verification_url": "https://auth.log10x.com/activate?user_code=ABCD-EFGH",
    "device_code": "dvc_01HZ...",
    "expires_in_seconds": 900,
    "browser_launched": true,
    "auth0_domain": "auth.log10x.com"
  },
  "actions": [
    {
      "tool": "log10x_signin_complete",
      "args": {
        "device_code": "dvc_01HZ..."
      },
      "reason": "finish the device flow once the user confirms in their browser"
    }
  ],
  "generated_at": "2026-05-26T00:00:00.000Z"
}
Output schema

The data block inside the StructuredOutput envelope:

interface ToolData {
  ok: boolean;
  user_code: string;
  verification_url: string;
  device_code: string;
  expires_in_seconds: number;
  browser_launched: boolean;
  auth0_domain: string;
}

Envelope-level fields the agent should also read: summary.headline (1-line answer), actions[] (next-call chain hints as {tool, args, reason}), truncated: boolean, images[] (PNG attachments where applicable), schema_epoch (engine-ID stability boundary).