Skip to main content
Glama
log-10x

Log10x MCP Server

Official
by log-10x

Sign in (complete)

log10x_signin_complete
Idempotent

Complete Log10x sign-in: finalize the browser device flow or validate a pasted API key, then save credentials for the MCP server.

Instructions

Step 2 of the Log10x sign-in chain. Two mutually-exclusive paths controlled by which arg you pass. (a) { device_code: "<...>" }: finishes the browser flow that log10x_signin_start began. The model should call this AUTOMATICALLY right after log10x_signin_start returns, passing back the opaque device_code from that response unchanged. Polls Auth0's /oauth/token until the user confirms the device authorization in their browser, then exchanges the Auth0 access token for a long-lived Log10x API key. (b) { api_key: "<key>" }: pasted-key path, no browser. Validates the key against /api/v1/user and saves it. Pass exactly one of device_code or api_key; both or neither is rejected with a clear error. Either path writes the resolved API key to ~/.log10x/credentials (mode 0600), hot-reloads the MCP's env list in-process, and (if LOG10X_API_KEY is set in the host config and would override the new file) clears that env var in-process and tells the user to remove it from their host config to make the change permanent.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
api_keyNoLog10x 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`.
device_codeNoThe 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`.
wait_secondsNoMax seconds to poll for browser confirmation (only used when device_code is passed). Default 600.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
toolYes
viewNosummary
imagesNo
actionsNo
summaryYes
warningsNo
truncatedNo
next_cursorNo
render_hintNo
generated_atYes
schema_epochYes
schema_versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.30.7

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, openWorldHint=true), the description discloses substantial behavior: it polls Auth0's /oauth/token until browser confirmation, exchanges the access token, writes the key to ~/.log10x/credentials with mode 0600, hot-reloads the MCP's env list in-process, and clears an overriding LOG10X_API_KEY with instructions to make it permanent. This is far richer than the annotation set.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The (a)/(b) path structure is well front-loaded and each sentence carries load-bearing information (the two paths, the exclusivity rule, the side effects). It is dense and somewhat lengthy, and the trailing sentence about env-var clearing is convoluted, costing a point versus maximal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description still covers both invocation paths, the automatic-call trigger relative to log10x_signin_start, and all side effects. Combined with 100% schema coverage and annotations, an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each param already documents its role and mutual exclusivity, so the baseline is 3. The description adds cross-parameter semantics beyond the schema—that passing both args or neither is rejected with a clear error—but it never mentions wait_seconds at all, so it doesn't fully cover the parameter surface.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('Step 2 of the Log10x sign-in chain') and immediately disambiguates from the sibling it follows, log10x_signin_start, by explaining how it finishes that flow. An agent can distinguish it from every other sign-in sibling without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit routing: 'call this AUTOMATICALLY right after log10x_signin_start returns' for the device_code path, and 'use this when the user already has a key' for the api_key path. It also states the exclusion rule (pass exactly one; both or neither is rejected). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.