Skip to main content
Glama

seolyticize

Every Seolyticize tool from a terminal or a script. Built on @seolyticize/sdk; tools are discovered from the API at runtime, so a tool added to the platform today is a command today, without a new CLI release.

Install

npm install -g @seolyticize/cli
seolyticize --help

Related MCP server: mcp-facade

Log in

# Piped, so the key never lands in shell history:
printf '%s' "$KEY" | seolyticize login

# Or interactively (the key is not echoed):
seolyticize login

# Another instance:
seolyticize login --base-url https://seolyticize.example.com

The key is checked against the API before it is stored, in ~/.config/seolyticize/config.json (or $XDG_CONFIG_HOME/seolyticize/config.json), with permissions 0600 on the file and 0700 on its directory.

SEOLYTICIZE_API_KEY and SEOLYTICIZE_BASE_URL override the stored values, which is how CI should provide them.

seolyticize whoami      # role, reach (agency-wide or one client), tool count
seolyticize logout

Use

seolyticize tools                         # what this key may call
seolyticize describe get_top_searches     # a tool's options
seolyticize call get_top_searches --market=uk --since=2026-09-01 --limit=20
seolyticize get_top_searches --market=uk --since=2026-09-01   # same, without "call"

# Input as JSON, inline, from a file, or from stdin; options apply on top:
seolyticize call get_keyword_gap --input '{"clientId":"c1","competitorDomains":["a.com"]}'
seolyticize call get_keyword_gap --file gap.json
cat gap.json | seolyticize call get_keyword_gap --file -

Options are typed from the tool's schema: numbers and booleans are converted, arrays take repeated options or commas (--domains=a.com,b.com), objects take JSON, null is null where the schema allows it, and --client-id is accepted for clientId.

Shortcuts

seolyticize clients                        # list_clients
seolyticize rank <trackerId> --client <id> # get_rank_summary
seolyticize alerts --client <id> [--since 2026-10-01T00:00:00Z]   # last 7 days by default

Output

Human-readable tables by default. Scripts should pass --json, which prints the tool's result exactly as the API returned it under data:

seolyticize clients --json | jq -r '.clients[].id'

Exit codes

Stable, so scripts can branch on them:

Code

Meaning

0

success

1

unexpected error

2

usage error (bad command, option or JSON)

3

authentication failed (missing, unknown, revoked)

4

not permitted (role or client scope)

5

not found (no such tool for this key)

6

invalid input (did not match the tool's schema)

7

refused (a well-formed request the product declined)

8

rate limited (after the SDK's retries)

9

server error or network failure

Errors go to stderr; results go to stdout.

MCP over stdio

For an MCP client that only launches a local command, seolyticize mcp relays the hosted server (https://seolyticize.com/api/mcp) over stdin and stdout with your key:

{ "mcpServers": { "seolyticize": { "command": "seolyticize", "args": ["mcp", "--group", "onboarding"], "env": { "SEOLYTICIZE_API_KEY": "sk_seo_…" } } } }

--group (onboarding, weekly, technical, research, reporting) lists only that job's tools. Clients that speak HTTP can connect to the hosted URL directly instead.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    This server bridges a stdio MCP server to HTTP, allowing MCP clients that communicate over HTTP to use the server's tools. It includes a per-tool allow/deny filter for security.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Lets you run a lightweight stdio MCP server in front of an upstream MCP server, exposing only a configured subset of its tools with compact schemas while keeping the full catalog reachable via discover, describe, and call meta-tools.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables local MCP clients to access tools from a remote FastMCP server over stdio, handling OAuth authentication and Streamable HTTP communication.
    -