# io.github.mfarrell628/clear-line-ops (remote · mcp.clear-line-operations.com)

150+ hosted tools: describe-to-build CAD, scan-to-CAD, architecture studio, web research, media.

- Trust score: 74/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-23

## Components

- remote · `mcp.clear-line-operations.com`: 74/100 (this document), [markdown](https://verifymcp.io/servers/mfarrell628-clear-line-ops/mcp.md), [page](https://verifymcp.io/servers/mfarrell628-clear-line-ops/mcp)

## Channel facts

- Endpoint: `https://mcp.clear-line-operations.com/mcp`
- Transports: `streamable-http`
- Auth: `required (not validated)`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-23.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 14297 tokens (~112/item across 127 items; 127 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 79/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 38% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "merge_media" implies "merge" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 127 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the io.github.mfarrell628/clear-line-ops MCP server?

io.github.mfarrell628/clear-line-ops is a hosted endpoint at https://mcp.clear-line-operations.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http mfarrell628-clear-line-ops 'https://mcp.clear-line-operations.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "mfarrell628-clear-line-ops": {
      "url": "https://mcp.clear-line-operations.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "mfarrell628-clear-line-ops": {
      "type": "http",
      "url": "https://mcp.clear-line-operations.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.mfarrell628-clear-line-ops]
url = "https://mcp.clear-line-operations.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mfarrell628-clear-line-ops": {
      "type": "remote",
      "url": "https://mcp.clear-line-operations.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add mfarrell628-clear-line-ops --url 'https://mcp.clear-line-operations.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  mfarrell628-clear-line-ops:
    url: "https://mcp.clear-line-operations.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "mfarrell628-clear-line-ops": {
      "Transport": "http",
      "Url": "https://mcp.clear-line-operations.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add mfarrell628-clear-line-ops -t streamable-http -u 'https://mcp.clear-line-operations.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "mfarrell628-clear-line-ops": {
      "type": "http",
      "url": "https://mcp.clear-line-operations.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-23 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-19 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-16 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-15 (score 70, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-14 (score 70)

First indexed and scored.

## MCP tools (127)

### `convert_media` (~198 tokens)

Convert video or audio

Convert any video or audio file to another format, with optional trimming and downscaling. Video outputs: mp4, mov, mkv, webm, gif. Audio outputs: mp3, wav, flac, aac, m4a, ogg, opus. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `audio_bitrate_kbps` (integer): Audio bitrate in kbps
- `duration_seconds` (number): Length of the result in seconds
- `format` (string, required): Output format
- `max_height` (integer): Shrink video to at most this height, e.g. 720
- `quality` (string): Quality. Lower quality gives smaller files
- `start_seconds` (number): Start time in seconds
- `url` (string, required): Source file: public http(s) link

### `compress_media` (~183 tokens)

Compress to a target size

Shrink a video or audio file to fit a size limit, such as 8 MB for Discord or 25 MB for email. Picks the bitrate for you and re-encodes once more if the first attempt lands over the limit. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `duration_seconds` (number): Length of the result in seconds
- `format` (string): Defaults to mp4 for video and mp3 for audio
- `max_height` (integer): Shrink video to at most this height, e.g. 720
- `start_seconds` (number): Start time in seconds
- `target_size_mb` (number, required): Largest allowed file size in MB
- `url` (string, required): Source file: public http(s) link

### `trim_media` (~191 tokens)

Trim or cut

Cut a section out of a video or audio file. Lossless mode copies the data without re-encoding, so it is instant and keeps full quality (the cut snaps to the nearest keyframe). Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `duration_seconds` (number): Length of the result in seconds
- `end_seconds` (number): Where the cut ends, in seconds
- `format` (string): Output format when not lossless. Defaults to mp4 or mp3
- `lossless` (boolean): Copy without re-encoding (instant, keeps quality)
- `quality` (string): Quality. Lower quality gives smaller files
- `start_seconds` (number, required): Where the cut starts, in seconds
- `url` (string, required): Source file: public http(s) link

### `extract_audio` (~146 tokens)

Extract audio from video

Pull the audio track out of a video (or re-encode an audio file). Choose which audio track when a file has several. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `audio_track` (integer): Which audio track, starting at 0
- `bitrate_kbps` (integer): Audio bitrate in kbps
- `duration_seconds` (number): Length of the result in seconds
- `format` (string): Audio format
- `start_seconds` (number): Start time in seconds
- `url` (string, required): Source file: public http(s) link

### `merge_media` (~155 tokens)

Join clips together

Join several video or audio files end to end. Clips with different sizes, frame rates or audio settings are matched automatically, so mixed sources just work. Clips without audio get silence and audio-only clips get a black picture. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `format` (string): Defaults to mp4 for video and mp3 for audio-only
- `max_height` (integer): Shrink video to at most this height, e.g. 720
- `quality` (string): Quality. Lower quality gives smaller files
- `urls` (array, required): Clips, in order: public http(s) links

### `edit_video` (~281 tokens)

Resize, crop, rotate, speed

Reframe and adjust a video in one pass: change aspect ratio (for example 9:16 for Shorts and Reels) by cropping to fill or adding bars, downscale, rotate, flip, change speed (audio pitch is preserved), set frame rate, or remove the audio. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `aspect_ratio` (string): Reframe to this aspect ratio
- `duration_seconds` (number): Length of the result in seconds
- `fit` (string): Crop to fill the frame, or pad with black bars
- `flip` (string): Mirror the picture
- `format` (string): Output format
- `fps` (integer): Output frame rate
- `max_height` (integer): Shrink video to at most this height, e.g. 720
- `mute` (boolean): Remove the audio
- `quality` (string): Quality. Lower quality gives smaller files
- `rotate` (string): Rotate clockwise, in degrees
- `speed` (number): 1 is normal. 2 is double speed, 0.5 is slow motion
- `start_seconds` (number): Start time in seconds
- `url` (string, required): Video: public http(s) link

### `add_watermark` (~193 tokens)

Add logo or text watermark

Put a logo image and/or a line of text on a video, with position, size and opacity controls. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `color` (string): Text colour
- `font_size` (integer)
- `logo_width_percent` (number): Logo width as a percent of the video width
- `margin` (integer): Distance from the edge in pixels
- `opacity` (number)
- `position` (string)
- `quality` (string): Quality. Lower quality gives smaller files
- `text` (string): Text to show. Leave empty to use only a logo
- `url` (string, required): Video: public http(s) link
- `watermark_url` (string): Logo image (PNG, JPEG or WebP): public http(s) link

### `edit_metadata` (~138 tokens)

Edit or strip metadata

Set title, artist, album, comment or year tags, or strip all metadata (location, device, software) before sharing. Copies the streams without re-encoding, so quality is untouched. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `album` (string)
- `artist` (string)
- `comment` (string)
- `strip_all` (boolean): Remove all existing metadata first
- `title` (string)
- `url` (string, required): Source file: public http(s) link
- `year` (string)

### `process_audio` (~252 tokens)

Clean up and master audio

One-step audio cleanup. The podcast preset removes low rumble, reduces background noise, trims long silences and levels the loudness to -16 LUFS. You can also change volume, fade in and out, speed, or mix to mono. Cost: 1 credit per minute of output. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `denoise` (boolean): Reduce steady background noise
- `duration_seconds` (number): Length of the result in seconds
- `fade_in_seconds` (number)
- `fade_out_seconds` (number)
- `format` (string)
- `mono` (boolean)
- `normalize_lufs` (number): Target loudness. Overrides the preset's -16
- `preset` (string): Podcast: denoise, trim silence and normalise loudness
- `speed` (number)
- `start_seconds` (number): Start time in seconds
- `trim_silence` (boolean): Cut long pauses and leading or trailing silence
- `url` (string, required): Audio or video file: public http(s) link
- `volume_db` (number): Volume change in dB

### `add_background_music` (~170 tokens)

Add background music

Lay a music track under a video or voice recording. Ducking lowers the music automatically whenever someone is speaking. The music loops to fit and fades out at the end. Cost: 1 credit per minute of main file. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `ducking` (boolean): Lower the music while the main audio has speech
- `fade_out_seconds` (number)
- `format` (string): Defaults to mp4 for video, mp3 for audio
- `music_url` (string, required): Music track: public http(s) link
- `music_volume_db` (number): Music level in dB. Lower is quieter
- `url` (string, required): Main video or audio: public http(s) link

### `audio_visualize` (~109 tokens)

Waveform or spectrogram image

Render an audio or video file's sound as a waveform picture or a spectrogram, as a PNG. Cost: 1 credit per minute of media. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `color` (string): Waveform colour
- `height` (integer)
- `type` (string)
- `url` (string, required): Audio or video file: public http(s) link
- `width` (integer)

### `get_media_info` (~75 tokens)

Inspect a media file

Read a file's duration, resolution, frame rate, codecs, bitrate, audio tracks and metadata tags without converting it. Free. Cost: Free. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `url` (string, required): Source file: public http(s) link

### `analyze_media` (~132 tokens)

Find silences, scenes, loudness

Analyse a file and report where the silences are (to cut dead air), where the scene changes are (to chapter or clip a video), and how loud it is in LUFS. Cost: 1 credit per minute of media. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `analyses` (array)
- `min_silence_seconds` (number)
- `scene_threshold` (number): Lower finds more scene changes
- `silence_threshold_db` (number)
- `url` (string, required): Source file: public http(s) link

### `make_thumbnails` (~134 tokens)

Thumbnails and contact sheet

Grab still frames from a video at chosen times or evenly spaced, or build one contact sheet that shows the whole video at a glance. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `at_seconds` (array): Exact times to grab. Overrides count
- `count` (integer): How many frames, spread evenly through the video
- `format` (string)
- `mode` (string)
- `url` (string, required): Video: public http(s) link
- `width` (integer): Frame width in pixels

### `make_slideshow` (~121 tokens)

Images to video

Turn a set of images into a video slideshow, with optional slow zoom and a music track. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `images` (array, required): Images, in order: public http(s) links
- `music_url` (string): Music (optional): public http(s) link
- `seconds_per_image` (number)
- `size` (string)
- `zoom` (boolean): Slow zoom on each image

### `create_hls_stream` (~112 tokens)

Make an adaptive streaming version

Package a video for web streaming as HLS with several quality levels (the format video players use to adapt to slow connections). Returns the master playlist link. Segments are served from the same address. Cost: 2 credits per minute. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `heights` (array): Quality levels by height
- `segment_seconds` (integer)
- `url` (string, required): Video: public http(s) link

### `transcribe_media` (~141 tokens)

Transcribe speech

Turn the speech in a video or audio file into text with timestamps. Returns the transcript plus ready-made .srt and .vtt subtitle files. Speech recognition runs on this server, so your files are not sent to any other AI service. Cost: 2 credits per minute. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `language` (string): Spoken language in English, e.g. spanish. Leave empty to detect it
- `translate_to_english` (boolean): Translate the speech into English
- `url` (string, required): Audio or video file: public http(s) link

### `add_captions` (~184 tokens)

Burn captions into a video

Add subtitles to a video, permanently shown on screen. Captions are written automatically from the speech, or you can supply your own in SRT format. Style, size and position are adjustable. Cost: 3 credits per minute with automatic captions, 1 with your own SRT. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `color` (string): Text colour
- `font_size` (integer)
- `language` (string): Spoken language in English, e.g. spanish. Leave empty to detect it
- `position` (string)
- `srt` (string): Your own captions in SRT format. Skips speech recognition
- `translate_to_english` (boolean): Translate the speech into English
- `url` (string, required): Video: public http(s) link

### `audio_pitch_tempo` (~138 tokens)

Change pitch and tempo

Shift an audio file's pitch in semitones and/or change its tempo (speed) independently, for remixes, practice tracks and key matching. Cost: 1 credit per minute of audio. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `format` (string)
- `semitones` (number): Pitch shift. +12 is one octave up
- `tempo` (number): 1 is original speed. 1.25 is 25% faster, pitch unchanged
- `url` (string, required): Audio or video file: public http(s) link

### `video_color_grade` (~145 tokens)

Colour grade a video

Give a video a cinematic look: pick a preset (teal and orange, warm film, cool noir, black and white, vintage) and fine-tune brightness, contrast, saturation and vignette. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `brightness` (number)
- `contrast` (number)
- `preset` (string)
- `quality` (string): Quality. Lower quality gives smaller files
- `saturation` (number)
- `url` (string, required): Video: public http(s) link
- `vignette` (boolean)

### `video_reverse` (~106 tokens)

Reverse a clip

Play a short clip backwards, with its audio. Limited to 60 seconds because the whole clip is held in memory. Cost: 1 credit per minute of video. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `format` (string)
- `max_height` (integer): Shrink video to at most this height, e.g. 720
- `url` (string, required): Video: public http(s) link

### `pixel_art` (~119 tokens)

Pixel-art converter

Turn any image into crisp pixel art for games: pick the pixel size and colour count, and scale the result back up with sharp edges. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `colors` (integer)
- `pixel_width` (integer): Width of the pixel grid. Smaller is chunkier
- `upscale` (integer): Scale the final picture up by this whole number
- `url` (string, required): Image: public http(s) link

### `sprite_sheet` (~117 tokens)

Pack images into a sprite sheet

Combine animation frames or icons into one sprite sheet PNG with a fixed cell size, and get the frame coordinates as JSON for your game engine. Cost: 1 credit flat. Long jobs return a job_id; poll it with get_job. Result links expire in 1 hour.

Input parameters:

- `cell_height` (integer)
- `cell_width` (integer)
- `columns` (integer)
- `images` (array, required): Frames, in order: public http(s) links
- `nearest` (boolean): Keep pixel art sharp when resizing

### `scrape_page` (~81 tokens)

Scrape a web page

Fetch a web page and return its title, description and clean readable text (headings, paragraphs, lists). Use format=html for the raw HTML. Cost: 1 credit per call.

Input parameters:

- `format` (string)
- `include_links` (boolean): Also return the page's links
- `url` (string, required): Public http(s) page URL

### `extract_data` (~121 tokens)

Extract data with CSS selectors

Scrape specific elements from a page. Give a map of field name to CSS selector; each field returns the text of every match. Append '@attr' to a selector to read an attribute instead, e.g. 'a.product@href' or 'img@src'. Cost: 1 credit per call.

Input parameters:

- `limit` (integer): Max matches per field
- `selectors` (object, required): e.g. {"titles": "h2.title", "links": "a.item@href"}
- `url` (string, required): Public http(s) page URL

### `extract_links` (~59 tokens)

Extract links

List every link on a page with its anchor text. Optionally keep only links on the same domain. Cost: 1 credit per call.

Input parameters:

- `same_domain_only` (boolean)
- `url` (string, required): Public http(s) page URL

### `extract_tables` (~58 tokens)

Extract HTML tables

Pull every table on a page as rows of cells (first row of each table is usually the header). Cost: 1 credit per call.

Input parameters:

- `max_tables` (integer)
- `url` (string, required): Public http(s) page URL

### `page_metadata` (~59 tokens)

Page metadata and SEO

Read a page's title, description, canonical URL, Open Graph / Twitter tags, favicon, language, headings count and JSON-LD structured data. Cost: 1 credit per call.

Input parameters:

- `url` (string, required): Public http(s) page URL

### `fetch_json` (~40 tokens)

Fetch a JSON API

GET a public JSON endpoint and return the parsed result. Cost: 1 credit per call.

Input parameters:

- `url` (string, required): Public http(s) page URL

### `parse_feed` (~55 tokens)

Read an RSS / Atom feed

Fetch an RSS or Atom feed and return its entries (title, link, date, summary). Cost: 1 credit per call.

Input parameters:

- `limit` (integer)
- `url` (string, required): Public http(s) page URL

### `sitemap_urls` (~62 tokens)

List a site's sitemap URLs

Find a site's sitemap (via robots.txt or /sitemap.xml) and list the page URLs in it. Cost: 2 credits per call.

Input parameters:

- `limit` (integer)
- `site` (string, required): Site root, e.g. https://example.com

### `check_urls` (~47 tokens)

Check URLs (status and redirects)

Check up to 20 URLs: HTTP status, final URL after redirects, content type. Good for finding broken links. Cost: 2 credits per call.

Input parameters:

- `urls` (array, required)

### `dns_lookup` (~43 tokens)

DNS lookup

Look up a domain's A, AAAA, MX, TXT, NS and CNAME records. Cost: 1 credit per call.

Input parameters:

- `domain` (string, required)

### `email_check` (~42 tokens)

Validate an email address

Check email syntax and whether the domain can receive mail (MX records). Flags common disposable domains. Cost: 1 credit per call.

Input parameters:

- `email` (string, required)

### `tls_certificate` (~41 tokens)

TLS certificate check

Inspect a site's HTTPS certificate: issuer, validity dates, days until expiry and alternate names. Cost: 1 credit per call.

Input parameters:

- `domain` (string, required)

### `security_headers` (~53 tokens)

Security headers audit

Check a site's HTTP security headers (HSTS, CSP, X-Frame-Options, etc.) and score them. Cost: 1 credit per call.

Input parameters:

- `url` (string, required): Public http(s) page URL

### `extract_contacts` (~58 tokens)

Find contact details on a page

Scan a page for email addresses, phone numbers and social profile links (LinkedIn, X, Facebook, Instagram, YouTube, GitHub). Cost: 1 credit per call.

Input parameters:

- `url` (string, required): Public http(s) page URL

### `domain_info` (~41 tokens)

Domain registration info (RDAP)

Look up a domain's registrar, registration and expiry dates and nameservers via RDAP. Cost: 1 credit per call.

Input parameters:

- `domain` (string, required)

### `convert_data` (~59 tokens)

Convert CSV / JSON

Convert between CSV and JSON text. Free of network calls; useful for cleaning scraped data. Cost: 1 credit per call.

Input parameters:

- `data` (string, required): The CSV text, or a JSON array of flat objects
- `direction` (string, required)

### `onion_fetch` (~120 tokens)

Scrape a .onion (dark web) page

Fetch a public .onion page through the Tor network and return its title, readable text and links. For threat-intelligence, brand-protection and research use on publicly reachable hidden services. Slow (can take 30+ seconds); .onion addresses only. DISCLAIMER: for lawful use only. You are solely responsible for what you fetch and how you use it (see /terms). Cost: 3 credits per call.

Input parameters:

- `include_links` (boolean)
- `url` (string, required): A http(s) URL on a .onion host

### `currency_convert` (~48 tokens)

Currency conversion

Convert an amount between currencies using current reference exchange rates (ECB). Cost: 1 credit per call.

Input parameters:

- `amount` (number, required)
- `from` (string, required)
- `to` (required)

### `ip_info` (~43 tokens)

IP / domain geolocation

Geolocate a public IP address: country, city, ISP/organization, ASN and timezone. Cost: 1 credit per call.

Input parameters:

- `ip` (string, required)

### `wayback_snapshot` (~60 tokens)

Wayback Machine snapshot

Find the closest archived snapshot of a URL in the Internet Archive, optionally for a given date (YYYYMMDD). Cost: 1 credit per call.

Input parameters:

- `date` (string)
- `url` (string, required): Public http(s) page URL

### `qr_code` (~55 tokens)

Generate a QR code

Create a QR code (SVG) for a URL or any text, e.g. for menus, payments or business cards. Cost: 1 credit per call.

Input parameters:

- `size` (integer)
- `text` (string, required)

### `text_utils` (~76 tokens)

Hash / encode / UUID utilities

Hash text (md5, sha1, sha256, sha512), base64 or URL encode/decode, or generate UUIDs. Cost: 1 credit per call.

Input parameters:

- `action` (string, required)
- `algorithm` (string)
- `count` (integer): How many UUIDs
- `text` (string)

### `onion_discover` (~159 tokens)

Discover .onion addresses

Collect v3 .onion addresses from a seed page (a clearnet link directory or a .onion page) and optionally follow the .onion links it lists one level deep to read their titles. New addresses are saved to the shared directory; use onion_directory to list everything collected. Slow when crawling. DISCLAIMER: for lawful use only. You are solely responsible for what you collect and how you use it (see /terms). Cost: 3 credits per call.

Input parameters:

- `crawl` (integer): Also fetch up to this many discovered .onion pages (via Tor) to record their titles and any further addresses
- `seed_url` (string, required): Page to harvest addresses from, e.g. a public hidden-service link list

### `onion_directory` (~57 tokens)

List collected .onion addresses

List the curated and discovered .onion addresses, newest first. Optional search over address or title. Cost: 1 credit per call.

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `search` (string)

### `web_search` (~86 tokens)

Search the web

Search the web and return ranked results (title, URL, snippet). Set include_content to also fetch the top results and return their clean text, ready for an LLM to read. Cost: 1 credit per call.

Input parameters:

- `include_content` (boolean): Fetch the top 3 results and include their text
- `max_results` (integer)
- `query` (string, required)

### `crawl_site` (~83 tokens)

Crawl a website

Crawl a site breadth-first from a starting URL, staying on the same domain, and return the clean text of each page. Useful for building a knowledge base or RAG corpus. Cost: 5 credits per call.

Input parameters:

- `max_chars_per_page` (integer)
- `max_pages` (integer)
- `url` (string, required): Public http(s) page URL

### `extract_content` (~60 tokens)

Extract content from many URLs

Fetch up to 10 URLs in parallel and return the clean readable text of each (title, text). Failed URLs report an error. Cost: 3 credits per call.

Input parameters:

- `max_chars_per_page` (integer)
- `urls` (array, required)

### `crime_case_report` (~279 tokens)

Crime Radar case report: pinpoint a past crime and find similar ones

Look up a specific past incident in Chicago public crime data by case number, date (plus or minus a window), block, crime type, keyword or coordinates. Returns a report with the pinpointed location (block-level, map link), full public details, other candidate matches, ranked similar incidents nearby (same offence, location type, time of day, block, proximity) and an area pattern summary. Works for incidents from 2001 to about a week ago. Public data: no victim or suspect identities, not evidence of guilt. Cost: 5 credits per call.

Input parameters:

- `block` (string): Street or block text, e.g. STATE ST or 012XX N
- `case_number` (string): Police case number, e.g. JE123456
- `crime_type` (string)
- `date` (string): Approximate date YYYY-MM-DD
- `keyword` (string): Offence or location keyword, e.g. APARTMENT, FENTANYL
- `lat` (number)
- `lon` (number)
- `search_radius_m` (integer)
- `similar_limit` (integer)
- `similar_radius_m` (integer)
- `similar_years` (integer): Years either side to look for similar incidents
- `window_days` (integer): Days either side of date

### `crime_map_data` (~305 tokens)

Crime Radar: drug, homicide, suicide, trafficking and prostitution map data

Crime Radar. Query public open data by layer or combine several: drug incidents, overdose deaths, homicides, suicides (anonymised), human trafficking, prostitution, sex offences, Seattle narcotics 911 calls, SAMHSA treatment sites and CDC state overdose trends. Use layer for one, or layers for several at once. Filter by date range, keyword and map box. Set refresh=true to re-pull live from the source agencies instead of the hourly cache. Returns points plus ranked hotspots. Data is public, may lag, and shows reported incidents, not guilt. Cost: 3 credits per call.

Input parameters:

- `east` (number)
- `from` (string): Start date YYYY-MM-DD
- `keyword` (string): Offense or cause keyword, e.g. FENTANYL, POSSESSION, CANNABIS
- `layer` (string)
- `layers` (array): Search several layers at once; overrides layer
- `limit` (integer)
- `near` (string): ZIP code or address for treatment_sites
- `north` (number)
- `radius_miles` (number)
- `refresh` (boolean): Bypass the cache and re-scrape the source data
- `south` (number)
- `state` (string): Two-letter state for state_overdose_trend
- `to`: End date YYYY-MM-DD
- `west` (number)
- `year` (integer)

### `crime_stats` (~186 tokens)

Crime Radar stats: state, county and town crime statistics

Query the local Crime Radar statistics database (FBI Crime Data Explorer, annual counts and rates by offense). level=state returns state totals; level=county rolls reporting agencies up to a county; level=town looks up a city or agency by name. Filter by state, offense and year range. Call with level=coverage to see what has been loaded so far. Reported crime only; agencies that do not report to the FBI are missing, and rate is the sum of monthly per-100k rates. Cost: 1 credit per call.

Input parameters:

- `county` (string)
- `level` (string)
- `offense` (string)
- `state` (string): Two-letter state code
- `town` (string): City or agency name text, e.g. SPRINGFIELD
- `year_from` (integer)
- `year_to` (integer)

### `ping` (~81 tokens)

Ping (TCP latency)

Measure round-trip latency, jitter and packet loss to a host by timing TCP connections (default port 443). ICMP ping is not available from a hosted server, so this checks that a service is reachable and how fast. Cost: 1 credit per call.

Input parameters:

- `count` (integer)
- `host` (string, required)
- `port` (integer)

### `port_check` (~56 tokens)

Port check

Check whether up to 10 TCP ports are open on a public host. Only scan systems you own or are authorized to test. Cost: 1 credit per call.

Input parameters:

- `host` (string, required)
- `ports` (array)

### `traceroute` (~51 tokens)

Traceroute

Show the network path (each router hop with latency) from our server to a public host. Cost: 2 credits per call.

Input parameters:

- `host` (string, required)
- `max_hops` (integer)

### `reverse_dns` (~37 tokens)

Reverse DNS

Find the hostnames (PTR records) for a public IP address. Cost: 1 credit per call.

Input parameters:

- `ip` (string, required)

### `ip_whois` (~54 tokens)

IP WHOIS (RDAP)

Look up who owns a public IP address: network name, range, country, registrant and abuse contact, from the regional internet registries. Cost: 1 credit per call.

Input parameters:

- `ip` (string, required)

### `redirect_chain` (~53 tokens)

Redirect chain

Follow a URL's redirects hop by hop and report each status code and location, up to 10 hops. Useful for tracing shortened or tracking links. Cost: 1 credit per call.

Input parameters:

- `url` (string, required)

### `music_theory` (~125 tokens)

Scales, chords and keys

Look up the notes of any scale or mode, build the diatonic chords of a key, or turn a roman-numeral progression (for example I V vi IV) into chords. Optionally transpose. Cost: 1 credit per call.

Input parameters:

- `progression` (string): Roman numerals separated by spaces, e.g. 'I V vi IV' or 'ii V I'
- `root` (string): Key or root note, e.g. C, F#, Bb
- `scale` (string)
- `transpose_semitones` (integer)

### `midi_generate` (~124 tokens)

Make a MIDI file from chords

Create a downloadable .mid file from a chord list, as block chords, arpeggios or a bass line. Returns the file base64 encoded so it can be saved and opened in any DAW. Cost: 1 credit per call.

Input parameters:

- `beats_per_chord` (number)
- `bpm` (number)
- `chords` (array, required): Chord names, e.g. ['Am','F','C','G']
- `octave` (integer)
- `pattern` (string)
- `seed` (string): Same seed gives the same velocities

### `tempo_calculator` (~77 tokens)

BPM, delay and reverb times

Turn a tempo into millisecond note lengths, delay times and reverb pre-delay, plus the LFO frequency for each note value. Also converts bars to seconds. Cost: 1 credit per call.

Input parameters:

- `bars` (number): Optional: number of 4/4 bars to convert to time
- `bpm` (number, required)

### `subtitle_convert` (~64 tokens)

Convert and shift subtitles

Convert subtitle text between SRT and WebVTT and shift all timings by an offset in seconds (positive delays, negative advances). Cost: 1 credit per call.

Input parameters:

- `shift_seconds` (number)
- `text` (string, required)
- `to` (string, required)

### `timecode_calculator` (~133 tokens)

Timecode and frame maths

Convert between timecode (HH:MM:SS:FF), frame counts and seconds at any frame rate, add or subtract timecodes, and work out durations. Supports 23.976, 24, 25, 29.97 (drop-frame) and 30 fps. Cost: 1 credit per call.

Input parameters:

- `add_timecode` (string): Timecode to add to the first one
- `fps` (string)
- `frames` (integer)
- `seconds` (number)
- `timecode` (string): e.g. 01:02:03:12

### `shot_list` (~72 tokens)

Shot list and runtime planner

Build a shot list from a scene list: assigns shot numbers, estimates runtime and setup time per shot, and totals the schedule for a shoot day. Great for planning short films and ads. Cost: 1 credit per call.

Input parameters:

- `scenes` (array, required)
- `setup_minutes_per_shot` (number)

### `dice_roller` (~96 tokens)

Dice roller and odds

Roll tabletop dice from notation like 2d6+3 or 4d6kh3 (keep highest), with repeatable seeds, plus the exact probability distribution of a roll. Cost: 1 credit per call.

Input parameters:

- `notation` (string, required): e.g. 1d20+5, 2d6, 4d6kh3
- `seed` (string)
- `times` (integer)

### `loot_table` (~63 tokens)

Weighted loot and drop tables

Roll from a weighted loot table, or report each item's drop chance. Handles rarity weights and returns repeatable results with a seed. Cost: 1 credit per call.

Input parameters:

- `items` (array, required)
- `rolls` (integer)
- `seed` (string)

### `name_generator` (~71 tokens)

Fantasy and sci-fi name generator

Generate character, town or ship names in a chosen style (fantasy, elven, dwarven, sci-fi, orcish). Repeatable with a seed. Cost: 1 credit per call.

Input parameters:

- `count` (integer)
- `seed` (string)
- `style` (string)

### `xp_curve` (~99 tokens)

XP and difficulty curve builder

Generate a level-up XP table from a curve (linear, quadratic, exponential or RuneScape-style) and report total XP and the time to reach each level at a given XP-per-hour pace. Cost: 1 credit per call.

Input parameters:

- `base_xp` (number)
- `curve` (string)
- `growth` (number): Exponential growth factor
- `levels` (integer)
- `xp_per_hour` (number)

### `noise_heightmap` (~78 tokens)

Procedural terrain heightmap (PNG)

Generate a greyscale heightmap PNG from layered value noise for terrain, clouds or textures. Repeatable with a seed. Returns the PNG base64 encoded. Cost: 1 credit per call.

Input parameters:

- `octaves` (integer)
- `scale` (number)
- `seed` (string)
- `size` (integer)

### `color_palette` (~68 tokens)

Colour palette generator

Build a game or brand palette from one base colour using harmony rules (complementary, triadic, analogous, split-complementary, monochrome) with hex and HSL values. Cost: 1 credit per call.

Input parameters:

- `base` (string, required)
- `harmony` (string)

### `csv_profile` (~58 tokens)

Profile a CSV (data quality)

Paste CSV text and get a data-quality report: row count, per-column type, blanks, distinct values, min/max/mean for numbers, top values and duplicate rows. Cost: 1 credit per call.

Input parameters:

- `csv` (string, required)

### `amortization_schedule` (~76 tokens)

Loan amortization schedule

Calculate a loan's monthly payment and full amortization schedule, with optional extra monthly payments to show interest saved and the new payoff date. Cost: 1 credit per call.

Input parameters:

- `annual_rate_percent` (number, required)
- `extra_monthly` (number)
- `principal` (number, required)
- `years` (number, required)

### `cron_explain` (~64 tokens)

Explain a cron schedule

Translate a 5-field cron expression into plain English and list the next run times. Cost: 1 credit per call.

Input parameters:

- `expression` (string, required): e.g. '*/15 9-17 * * 1-5'
- `runs` (integer)

### `jwt_inspect` (~49 tokens)

Decode a JWT

Decode a JSON Web Token's header and claims and check expiry. Does not verify the signature and never sends the token anywhere. Cost: 1 credit per call.

Input parameters:

- `token` (string, required)

### `text_diff` (~54 tokens)

Compare two texts

Line-by-line diff of two texts (contracts, configs, policies), with added and removed lines and a similarity score. Cost: 1 credit per call.

Input parameters:

- `after` (string, required)
- `before` (string, required)

### `business_days` (~65 tokens)

Business days calculator

Count working days between two dates or add working days to a date, skipping weekends and optional holidays. Cost: 1 credit per call.

Input parameters:

- `add_days` (integer)
- `end` (string)
- `holidays` (array)
- `start` (string, required)

### `cve_lookup` (~75 tokens)

CVE vulnerability lookup

Look up a CVE ID, or search recent vulnerabilities by keyword, using the US National Vulnerability Database. Returns severity (CVSS), description, affected products and references. Cost: 1 credit per call.

Input parameters:

- `cve_id` (string)
- `keyword` (string)
- `limit` (integer)

### `subdomain_enum` (~64 tokens)

Find subdomains (certificate logs)

List known subdomains of a domain from public certificate-transparency logs. Passive: no traffic is sent to the target. Useful for attack-surface mapping of domains you own or are authorised to assess. Cost: 1 credit per call.

Input parameters:

- `domain` (string, required)

### `ioc_extract` (~79 tokens)

Extract indicators of compromise

Pull IPs, domains, URLs, emails, file hashes (MD5, SHA-1, SHA-256) and CVE IDs out of a block of text such as a threat report, log or email. De-fangs hxxp and [.] notation. Cost: 1 credit per call.

Input parameters:

- `text` (string, required)

### `password_check` (~93 tokens)

Password strength and breach check

Estimate password entropy and check whether it appears in known data breaches using the Have I Been Pwned range API. Only the first 5 characters of the SHA-1 hash leave this server (k-anonymity) and nothing is stored. You can pass a SHA-1 hash instead of the password. Cost: 1 credit per call.

Input parameters:

- `password` (string)
- `sha1` (string)

### `phishing_url_check` (~71 tokens)

Phishing URL red-flag check

Offline heuristic check of a URL for phishing signs: lookalike brand names, punycode, IP hosts, deep subdomains, risky TLDs, @ tricks and long obfuscated paths. Makes no request to the URL. Cost: 1 credit per call.

Input parameters:

- `url` (string, required)

### `hash_identify` (~59 tokens)

Identify a hash type

Guess which algorithm produced a hash (MD5, SHA family, bcrypt, argon2, crypt formats) from its length and format. Does not crack or reverse hashes. Cost: 1 credit per call.

Input parameters:

- `hash` (string, required)

### `ad_copy_check` (~85 tokens)

Check ad copy against platform limits

Check headlines, descriptions and body text against character limits for Google Search (RSA), Meta, X, LinkedIn, TikTok and Microsoft Ads, and flag common policy problems (ALL CAPS, repeated punctuation, excessive emoji, unsupported claims). Cost: 1 credit per call.

Input parameters:

- `descriptions` (array)
- `headlines` (array)
- `platform` (string, required)

### `utm_builder` (~77 tokens)

UTM link builder

Build campaign tracking URLs with consistent UTM parameters, one per source/medium pair, with lower-casing and safe encoding. Cost: 1 credit per call.

Input parameters:

- `campaign` (string, required)
- `channels` (array, required)
- `content` (string)
- `term` (string)
- `url` (string, required)

### `ad_metrics` (~120 tokens)

Ad performance calculator

Work out CTR, CPC, CPM, conversion rate, CPA, ROAS, ROI and break-even from any mix of spend, impressions, clicks, conversions and revenue. Also projects results for a new budget. Cost: 1 credit per call.

Input parameters:

- `clicks` (number)
- `conversions` (number)
- `impressions` (number)
- `new_budget` (number): Project results at this spend, assuming the same efficiency
- `profit_margin_percent` (number)
- `revenue` (number)
- `spend` (number)

### `ab_test_calc` (~119 tokens)

A/B test significance and sample size

Compare two ad or page variants for statistical significance (two-proportion z-test), or calculate how many visitors per variant you need to detect a given lift. Cost: 1 credit per call.

Input parameters:

- `a_conversions` (integer)
- `a_visitors` (integer)
- `b_conversions` (integer)
- `b_visitors` (integer)
- `baseline_rate_percent` (number): For sample size: current conversion rate
- `minimum_lift_percent` (number): For sample size: smallest relative lift to detect

### `keyword_formatter` (~66 tokens)

Keyword match-type formatter

Turn a keyword list into Google/Microsoft Ads match types (broad, phrase, exact), find duplicates, and generate a negative-keyword starter list for a chosen intent. Cost: 1 credit per call.

Input parameters:

- `keywords` (array, required)
- `negatives_for` (string)

### `multi_model_compare` (~121 tokens)

Run up to 4 AI models at once

Send one prompt to up to 4 AI models in parallel (OpenAI, Anthropic, Google Gemini, OpenRouter, Groq, Mistral) and get the answers side by side with latency and token use. Bring your own API key per model: keys are used for this single request only and are never stored or logged. Cost: 1 credit per call.

Input parameters:

- `max_tokens` (integer)
- `models` (array, required)
- `prompt` (string, required)
- `system` (string)
- `temperature` (number)

### `site_create` (~325 tokens)

Generate a dynamic website in seconds

Create a complete, responsive, animated website from a short brief and host it instantly. Pick sections (hero, features, stats, about, pricing, testimonials, faq, gallery, contact, cta), a style and an accent colour. Includes dark mode, mobile menu, scroll reveals, count-up stats, monthly/yearly pricing toggle, FAQ accordion, validated contact form, SEO tags, favicon, robots.txt and sitemap. Returns a site_id and a live URL once published. Edit afterwards with site_files and redeploy with site_deploy. Sites are served in a sandbox, so avoid code that needs cookies or cross-origin storage. Cost: 3 credits per call.

Input parameters:

- `accent` (string)
- `contact_email` (string): Contact form falls back to opening this mailbox
- `content` (object)
- `cta_link` (string)
- `cta_text` (string)
- `currency` (string)
- `description` (string): One or two sentences under the headline
- `font` (string)
- `form_endpoint` (string): Optional form backend (e.g. Formspree) that accepts JSON POST
- `lang` (string)
- `name` (string, required): Business or site name
- `publish` (boolean)
- `sections` (array)
- `site_id` (string): Regenerate into an existing site (overwrites index.html, styles.css, app.js)
- `style` (string)
- `tagline` (string, required): Headline, e.g. 'Fresh bread, baked daily'

### `site_files` (~168 tokens)

Read, write and manage site files

Work with the files of a hosted site: list, read, write (one or many at once), delete. Text files (html, css, js, json, svg, xml, txt, md) are sent as utf8; images and fonts as base64. Limits: 200 files, 1.5 MB each, 25 MB per site. Changes are live immediately on published sites. Cost: 1 credit per call.

Input parameters:

- `action` (string, required)
- `content` (string): For a single write
- `encoding` (string)
- `files` (array): For writing many files at once
- `path` (string): For read, delete, or a single write
- `site_id` (string, required): Site id from site_create or site_list

### `site_list` (~37 tokens)

List your hosted sites

List every site you have created with its id, name, live URL, publish state and file count. Cost: 1 credit per call.

### `site_deploy` (~71 tokens)

Publish, unpublish or delete a site

Make a site live at its public URL, take it offline, or delete it permanently. Publishing checks the files first: pages with password fields are refused. Cost: 1 credit per call.

Input parameters:

- `action` (string)
- `site_id` (string, required): Site id from site_create or site_list

### `site_audit` (~123 tokens)

Audit a website and list fixes

Check any public web page (or one of your hosted sites) for SEO, accessibility, mobile, performance and security problems. Returns a 0-100 score, issues ranked by severity with the exact fix for each, and optionally checks up to 25 links on the page for breakage. Cost: 2 credits per call.

Input parameters:

- `check_links` (boolean)
- `path` (string): Page inside the hosted site
- `site_id` (string): Site id from site_create or site_list
- `url` (string): Public page to audit

### `site_import` (~108 tokens)

Import a customer's site to fix it

Copy a public page and its same-site CSS and JavaScript into a new editable workspace (up to 15 assets). References are rewritten to the local copies so you can fix the code with site_files and site_autofix, then publish a corrected version. Only import sites your customer owns or has asked you to fix. Cost: 3 credits per call.

Input parameters:

- `name` (string)
- `site_id` (string): Import into an existing workspace
- `url` (string, required)

### `site_autofix` (~155 tokens)

Auto-fix common HTML problems

Apply safe automatic fixes to an HTML page in a hosted site: lang attribute, charset, viewport, title, meta description, canonical, Open Graph tags, lazy-loading and dimensions hints on images, rel=noopener on new-tab links, defer on head scripts, and empty alt on images missing it. Returns what changed and the new audit score. Cost: 2 credits per call.

Input parameters:

- `canonical_url` (string)
- `description` (string)
- `fixes` (array)
- `lang` (string)
- `og_image` (string)
- `path` (string)
- `site_id` (string, required): Site id from site_create or site_list
- `title` (string)

### `crypto_markets` (~111 tokens)

Crypto market overview

Live market snapshot: top coins by market cap (or specific coin ids) with price, 1h/24h/7d/30d change, volume, market cap and distance from all-time high, plus global market cap, BTC dominance and the Fear & Greed index. Cost: 1 credit per call.

Input parameters:

- `ids` (array): CoinGecko ids such as bitcoin, ethereum, solana. Overrides limit
- `limit` (integer)
- `sort` (string)

### `crypto_coin` (~90 tokens)

Coin deep dive with indicators

Detailed look at one coin: price history summary, RSI, moving averages (20/50/200 day), trend, volume trend, volatility, max drawdown, and recent headlines that mention it. Cost: 2 credits per call.

Input parameters:

- `days` (integer)
- `id` (string, required): CoinGecko id, e.g. bitcoin, ethereum, solana. Use crypto_search if unsure

### `crypto_search` (~53 tokens)

Find a coin id

Search coins by name or symbol and get the id used by the other crypto tools, plus the trending coins right now. Cost: 1 credit per call.

Input parameters:

- `query` (string): Leave empty to see trending coins

### `crypto_wallet` (~111 tokens)

View a wallet (read-only)

Look up any public wallet address on Bitcoin, Ethereum or Solana: balance, USD value, token holdings (Ethereum), transaction count and optionally a risk check on the biggest holdings. READ-ONLY by design: it only needs a public address and refuses private keys or seed phrases. It cannot move funds. Cost: 2 credits per call.

Input parameters:

- `address` (string, required)
- `chain` (string, required)
- `include_signals` (boolean): Also run the risk/momentum scan on the native coin

### `crypto_news` (~80 tokens)

Crypto headlines with sentiment

Latest headlines from CoinDesk, Cointelegraph, Decrypt and The Block, each tagged positive, negative or neutral by keyword, with an overall mood score. Filter by coin name or symbol. Cost: 1 credit per call.

Input parameters:

- `coin` (string): Name or symbol, e.g. Solana or SOL
- `limit` (integer)

### `crypto_signals` (~157 tokens)

Spot potential runs and downfalls

Scan the market for coins that look set to run and coins showing warning signs. Combines live price action (momentum, volume surge, RSI, trend vs 20/50-day averages, distance from all-time high) with the latest news sentiment and the Fear & Greed index. Returns two ranked lists, 'potential runs' and 'risk watch', each with a score and the reasons behind it. Scan the top coins or pass your own list. Cost: 3 credits per call.

Input parameters:

- `deep` (integer): How many top candidates get a full indicator check (RSI, moving averages)
- `ids` (array): Coins to scan. Default: the top coins by market cap
- `universe` (integer)

### `hub_setup` (~244 tokens)

Set up a connected workspace in one step

Create a workspace that links your apps and agents so they can talk to each other. Pick a template or list apps and routes yourself. Every app gets a private inbound URL: any tool that can POST JSON to it sends events into the workspace, and routes forward those events to other apps (Slack, Discord, any https webhook, or an agent inbox that AI agents read with hub_read). Templates: 'chat_alerts' (send alerts from anything into Slack/Discord), 'agent_team' (give each agent an inbox and let them message one another), 'webhook_relay' (receive events and forward them to another service), 'blank'. Cost: 2 credits per call.

Input parameters:

- `agents` (array): agent_team: names, e.g. [researcher, writer, reviewer]
- `apps` (array)
- `chat_url` (string): chat_alerts: Slack or Discord incoming-webhook URL
- `routes` (array)
- `target_url` (string): webhook_relay: https URL to forward events to
- `template` (string)
- `workspace` (string): Workspace name. Leave as main unless you run several

### `hub_apps` (~117 tokens)

Connect, list and test apps

Manage the apps in a workspace. Actions: list (apps, inbound URLs, routes and activity), add (an agent inbox, Slack, Discord or generic https webhook), remove, test (send a test message to an app), rotate_token (new inbound URL if one leaked). Cost: 1 credit per call.

Input parameters:

- `action` (string)
- `kind` (string)
- `name` (string)
- `url` (string)
- `workspace` (string): Workspace name. Leave as main unless you run several

### `hub_routes` (~152 tokens)

Connect apps with routes

Decide what flows where. A route forwards events from one app (or * for any) to another when the event type matches (supports * wildcards such as alert.*) and optionally when the payload contains some text. Templates shape the message, e.g. '{{from}} says {{payload.message}}'. Actions: add, list, remove. Cost: 1 credit per call.

Input parameters:

- `action` (string)
- `contains` (string)
- `from` (string)
- `route_id` (integer)
- `template` (string)
- `to` (string)
- `when` (string)
- `workspace` (string): Workspace name. Leave as main unless you run several

### `hub_send` (~143 tokens)

Send a message or event between apps

Send an event into the workspace as one of your apps. Routes then deliver it to Slack, Discord, webhooks or agent inboxes. Use `to` to deliver straight to one app without a route. This is how agents and apps talk to each other. Cost: 1 credit per call.

Input parameters:

- `from` (string): Which app is sending
- `message` (string)
- `payload` (object): Any JSON data to include
- `to` (string)
- `type` (string): Event type, e.g. alert.price or to:reviewer
- `workspace` (string): Workspace name. Leave as main unless you run several

### `hub_read` (~105 tokens)

Read an agent inbox or the event log

Read messages waiting in an agent app's inbox (marks them read unless peek is true), or the recent event log of the whole workspace for debugging. Cost: 1 credit per call.

Input parameters:

- `app` (string): Agent app to read. Omit to read the workspace event log
- `include_read` (boolean)
- `limit` (integer)
- `peek` (boolean)
- `workspace` (string): Workspace name. Leave as main unless you run several

### `hub_state` (~103 tokens)

Shared workspace memory

A small key-value store every app and agent in the workspace can read and write, so they share context (current task, last result, settings). Actions: get, set, delete, list. Up to 100 keys of 4 KB each. Cost: 1 credit per call.

Input parameters:

- `action` (string)
- `key` (string)
- `value`
- `workspace` (string): Workspace name. Leave as main unless you run several

### `app_frontend` (~359 tokens)

Generate a stylish app frontend

Build a polished, responsive front end for an app and host it instantly. Layouts: 'dashboard' (sidebar, animated KPI cards, live chart, searchable sortable table), 'crud' (a full create/edit/delete data manager for any record type with modal forms), 'chat' (an AI-chat style interface with typing indicator). Themes: glass (frosted, gradient), neon (terminal glow), paper (warm editorial), brutal (bold neo-brutalist). Includes dark/light mode, mobile drawer navigation and accessible controls. Runs on sample data out of the box and connects to your real API with api_base_url (crud: GET/POST/PUT/DELETE on /<path>), data_url (dashboard JSON) or chat_endpoint (POST {message, history} returns {reply}). Output is plain HTML/CSS/JS you can edit with site_files. Pages run sandboxed, so settings are kept in memory only. Cost: 2 credits per call.

Input parameters:

- `accent` (string)
- `api_base_url` (string): crud: base URL of your REST API
- `chat` (object)
- `chat_endpoint` (string)
- `crud` (object)
- `dashboard` (object)
- `data_url` (string): dashboard: URL returning {kpis, chart, table}
- `default_mode` (string)
- `layout` (string)
- `name` (string, required): App name
- `nav_items` (array): Sidebar links. The first one shows the app; others are placeholder pages to wire up later
- `publish` (boolean)
- `site_id` (string): Overwrite the front end of an existing site
- `theme` (string)

### `recipe_save` (~180 tokens)

Save a tool recipe

Save a reusable multi-step workflow that chains this server's tools. Each step is {tool, args, as?}. Args may reference {{input.x}} (values supplied at run time) or {{steps.<as>.<field>}} (output of an earlier step; steps without 'as' are s1, s2...). Up to 6 steps. Example: steps [{tool:'web_search',args:{query:'{{input.topic}}'},as:'find'},{tool:'extract_content',args:{url:'{{steps.find.results.0.url}}'}}]. Run it later with recipe_run, or publish it with recipe_publish. Cost: 1 credit per call.

Input parameters:

- `description` (string)
- `inputs` (array): Names of the inputs the recipe expects
- `name` (string, required)
- `steps` (array, required)

### `recipe_list` (~29 tokens)

List your recipes

List the saved recipes on your account with their inputs and steps. Cost: 1 credit per call.

### `recipe_run` (~73 tokens)

Run a recipe

Run a saved recipe: executes its steps in order, passing outputs forward, and returns every step's result. Stops at the first failing step and reports which one failed. Pass the recipe's inputs as an object. Cost: 3 credits per call.

Input parameters:

- `inputs` (object)
- `name` (string, required)

### `recipe_delete` (~30 tokens)

Delete a recipe

Delete one of your saved recipes. Cost: 1 credit per call.

Input parameters:

- `name` (string, required)

### `recipe_publish` (~65 tokens)

Share a recipe

Publish a copy of one of your recipes and get a share code. Anyone can add it to their account with recipe_import. Only the workflow (tools and arguments) is shared, never your account or results. Cost: 1 credit per call.

Input parameters:

- `name` (string, required)

### `recipe_import` (~52 tokens)

Import a shared recipe

Add a recipe someone shared with you, using its share code. Review it with recipe_list before running it. Cost: 1 credit per call.

Input parameters:

- `code` (string, required)
- `rename` (string)

### `cad_ideas` (~84 tokens)

Turn an idea into a machine plan

Describe a machine, mechanism or product idea in plain language (e.g. '40 kg lift arm', 'a 30:1 gear reducer for a winch'). Returns which CAD tool to run and pre-filled parameters extracted from your numbers. Does not design weapons, firearms, ammunition or explosives. Cost: 1 credit per call.

Input parameters:

- `idea` (string, required)

### `cad_part` (~262 tokens)

Generate a CAD part (DXF + STL)

Generate a precise parametric part and host it: AutoCAD-compatible DXF (2D, layers), STL (3D, ready for printing/CNC/slicers), SVG drawing, an interactive 3D viewer, mass and specs. Parts and their params: gear {module, teeth, thickness, bore} (true involute profile); plate {width, height, thickness, corner_radius, hole_diameter, hole_inset, holes:[{x,y,d}]}; flange {outer_diameter, bore, bolt_circle, bolts, bolt_diameter, thickness}; enclosure {width, depth, height, wall, screw_diameter} (flat cut layout); shaft {segments:[{d,l}]}; pulley {outer_diameter, width, bore, hub_diameter, hub_length, groove_depth}; heatsink {width, depth, base_thickness, fin_height, fin_thickness, fins} (thermal estimates); hex_nut {across_flats, thickness, bore}; washer {outer_diameter, inner_diameter, thickness}. All dimensions in mm. Cost: 1 credit per call.

Input parameters:

- `material` (string)
- `params` (object)
- `part` (string, required)
- `title` (string)

### `cad_machine` (~203 tokens)

Design a machine (assembly + engineering checks)

Design a working mechanism with 3D model, 2D layout DXF, bill of materials and engineering checks. machine='gearbox' {input_rpm, input_torque_nm, ratio, stages, safety_factor}: picks tooth counts, module (Lewis bending check), shaft diameters, bearings, meshed gear layout and per-gear cut files. machine='four_bar' {ground, crank, coupler, rocker, coupler_point_distance, coupler_point_angle_deg}: Grashof type, transmission angle, rocker swing and coupler curve. machine='robot_arm' {link1, link2, payload_kg, tube_width, tube_wall, shoulder_deg, elbow_deg}: reach, workspace, joint torques, motor sizing, tip deflection and stress. Cost: 1 credit per call.

Input parameters:

- `machine` (string, required)
- `material` (string)
- `params` (object)
- `title` (string)

### `cad_fusion` (~166 tokens)

Fusion reactor concept designer

Scope a tokamak fusion reactor concept: enter geometry and plasma parameters (major_radius_m, minor_radius_m, toroidal_field_T, plasma_current_MA, elongation, triangularity, density_1e20_m3, temperature_keV, heating_MW, tf_coils) and get plasma volume, safety factor q95, Greenwald density limit, normalised beta, confinement time (IPB98), triple product, fusion power, Q, peak coil field and required superconductor class, plus a 3D model of the plasma and magnets, a cross-section DXF and a component list. Defaults approximate ITER. Concept-level, scaling-law based. Cost: 1 credit per call.

Input parameters:

- `params` (object)
- `title` (string)

### `cad_calc` (~175 tokens)

Engineering calculator

Quick engineering checks. kind='beam' {length_mm, load_N, width_mm, height_mm, support:'cantilever'|'simple', material}; 'torsion' {torque_Nm, diameter_mm, material}; 'bolt' {diameter_mm, load_N, bolts, grade, mode:'tension'|'shear'}; 'motor' {force_N, radius_mm, speed_rpm, efficiency}; 'spring' {wire_mm, coil_mm, active_coils, deflection_mm}; 'belt' {drive_diameter_mm, driven_diameter_mm, drive_rpm, center_distance_mm}. Materials: steel, stainless, aluminum, titanium, brass, abs, pla, nylon. Cost: 1 credit per call.

Input parameters:

- `kind` (string, required)
- `values` (object, required)

### `cad_build` (~232 tokens)

Say what you want to build: design, DXF template and build report

Describe a project in plain language ('a 6 ft workbench', 'bookshelf 800 x 300 x 1800 mm', 'raised garden bed 2 m x 1 m', 'a desk 1200x600', 'a toy chest') and get a complete design: 3D model (STL + viewer), AutoCAD DXF with a to-scale cut layout, SVG drawing, cut list, bill of materials with estimated cost, fastener count, weight, and a step-by-step build report. Supported: table, desk, workbench, bookshelf, raised_bed, chest. Optional: kind, length_mm, width_mm, height_mm, wood (pine|plywood|oak|maple|cedar). Does not design weapons, firearms, ammunition or explosives. Cost: 1 credit per call.

Input parameters:

- `brief` (string, required)
- `height_mm` (number)
- `kind` (string)
- `length_mm` (number)
- `title` (string)
- `width_mm` (number)
- `wood` (string)

### `cad_reverse` (~203 tokens)

Scan or mesh to CAD drawings and specs

Reverse engineer a physical part or object from a 3D scan or mesh (STL binary/ASCII, OBJ, ASCII PLY; send as data_base64 or as text in data_text). Returns exact overall dimensions, volume, surface area, centre of mass, weight in a chosen material, true cross-section outlines through the middle of each axis (they show holes and pockets), convex-hull silhouettes, a three-view AutoCAD DXF with dimensions, a re-exported STL in millimetres with the origin at the corner, and an interactive viewer. unit: mm|cm|m|in (units of the input, default mm). Does not process weapons, firearms, ammunition or explosives. Cost: 1 credit per call.

Input parameters:

- `data_base64` (string)
- `data_text` (string)
- `format` (string)
- `material` (string)
- `title` (string)
- `unit` (string)

### `arch_design` (~344 tokens)

Design a building from a description

Describe a building in plain language ('two storey house, 3 bedrooms, 2 baths, open kitchen, about 180 m2'; also offices, schools, shops). Generates a laid-out floor plan per storey (DXF/SVG for AutoCAD), a 3D model (STL + interactive viewer), room schedule, rough energy and budget numbers, and a step-by-step build guide. Give budget_usd to size the building to a budget (live material prices), or layout (plan.json exported from the studio) to rebuild an edited design. The result page has a first-person walk-inside-and-design-live studio with a bill of materials and cost that tracks market prices, plus DXF, STL, IFC (BIM for Revit/ArchiCAD) and CSV downloads. Optional: floors, floor_height_m, width_m, depth_m, roof (gable|flat), structure (wood|steel|concrete), rooms {bedroom:3,...}, target_area_m2. Cost: 1 credit per call.

Input parameters:

- `brief` (string): Plain-language description. Optional if layout is given.
- `budget_usd` (number)
- `depth_m` (number)
- `floor_height_m` (number)
- `floors` (integer)
- `layout`
- `region` (string)
- `roof` (string)
- `rooms` (object)
- `site_lat` (number)
- `site_lon` (number)
- `structure` (string)
- `target_area_m2` (number)
- `title` (string)
- `width_m` (number)

### `arch_review` (~379 tokens)

Stress-test an existing building design

Screen an existing project for weaknesses and improvements. Provide whatever you have: beams [{name, span_m, width_mm, depth_mm, material (timber|steel|concrete|lvl), tributary_width_m}], columns [{name, load_kn, width_mm, depth_mm, height_m, material}], rooms [{name, area_m2, windows_m2, egress_window, ventilation, occupants}], floors, floor_height_m, exits, corridor_width_m, stair_width_m, ceiling_height_m, structure, sprinklers, r_value, seismic_zone/wind_zone ('high'), bracing, soft_storey, dead_load_kpa, live_load_kpa, and optionally dxf (text of a DXF plan). Returns a score, prioritised findings with fixes (bending, deflection, buckling, daylight, egress, fire, energy, lateral loads) and improvement ideas. Screening only, not a stamped engineering check. Cost: 1 credit per call.

Input parameters:

- `aspect_ratio` (number)
- `beams` (array)
- `bracing` (boolean)
- `ceiling_height_m` (number)
- `columns` (array)
- `corridor_width_m` (number)
- `dead_load_kpa` (number)
- `dxf` (string)
- `exits` (integer)
- `floor_height_m` (number)
- `floors` (integer)
- `live_load_kpa` (number)
- `r_value` (number)
- `rooms` (array)
- `seismic_zone` (string)
- `shear_walls` (boolean)
- `soft_storey` (boolean)
- `sprinklers` (boolean)
- `stair_width_m` (number)
- `structure` (string)
- `wind_zone` (string)

### `get_job` (~33 tokens)

Get job status

Check a job started by any other tool. Returns the results when it is finished.

Input parameters:

- `job_id` (string, required)

### `get_balance` (~23 tokens)

Get balance

Show how many media minutes (credits) are left on this API key.

### `get_audit_log` (~79 tokens)

Get audit log

Free. List this API key's recent web and dark web tool calls (time, tool, input, success) for compliance and record keeping. For CSV export use GET /api/audit?format=csv with your key.

Input parameters:

- `limit` (integer)
- `tool` (string): Only this tool, e.g. onion_fetch

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/mfarrell628-clear-line-ops/mcp#diagnostics

## Score history

- 2026-10-23: 74
- 2026-10-22: 73
- 2026-10-21: 73
- 2026-10-20: 72
- 2026-10-19: 72
- 2026-10-18: 71
- 2026-10-17: 71
- 2026-10-16: 71
- 2026-10-15: 70
- 2026-10-14: 70

## Common questions

### What is the io.github.mfarrell628/clear-line-ops MCP server?

io.github.mfarrell628/clear-line-ops is an MCP server listed in the public MCP registry as io.github.mfarrell628/clear-line-ops. 150+ hosted tools: describe-to-build CAD, scan-to-CAD, architecture studio, web research, media. This page covers its hosted endpoint (https://mcp.clear-line-operations.com/mcp).

### Is the io.github.mfarrell628/clear-line-ops MCP server safe to use?

io.github.mfarrell628/clear-line-ops scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.mfarrell628/clear-line-ops MCP server expose?

io.github.mfarrell628/clear-line-ops exposes 127 tools: convert_media, compress_media, trim_media, extract_audio, merge_media, and 122 more. Their descriptions and schemas cost roughly 14,297 tokens of context every time the server is loaded.

### Does the io.github.mfarrell628/clear-line-ops MCP server require authentication?

Yes. io.github.mfarrell628/clear-line-ops asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the io.github.mfarrell628/clear-line-ops MCP server still maintained?

io.github.mfarrell628/clear-line-ops is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.clear-line-operations.com/mcp
- Authorisation metadata: https://mcp.clear-line-operations.com/.well-known/oauth-protected-resource/mcp
- Repository: https://github.com/mfarrell628/clear-line-ops-mcp
- Website: https://mcp.clear-line-operations.com/
- Changelog RSS feed: https://verifymcp.io/servers/mfarrell628-clear-line-ops/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/mfarrell628-clear-line-ops/mcp.json
- HTML version of this page: https://verifymcp.io/servers/mfarrell628-clear-line-ops/mcp
