{"name":"io.github.mfarrell628/clear-line-ops","slug":"mfarrell628-clear-line-ops","title":null,"description":"150+ hosted tools: describe-to-build CAD, scan-to-CAD, architecture studio, web research, media.","url":"https://mcp.market/server/mfarrell628-clear-line-ops","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"security","tags":["security"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-14T16:10:14.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T12:30:27.733Z","last_ok_at":"2026-11-04T12:30:27.733Z","latency_ms":460},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/mfarrell628/clear-line-ops-mcp","website":"https://mcp.clear-line-operations.com","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://mcp.clear-line-operations.com/mcp","headers":[{"description":"Bearer <API key> (free trial key from the website)","isRequired":true,"isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"ab_test_calc","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"a_visitors":{"type":"integer","minimum":1},"a_conversions":{"type":"integer","minimum":0},"b_visitors":{"type":"integer","minimum":1},"b_conversions":{"type":"integer","minimum":0},"baseline_rate_percent":{"type":"number","minimum":0.01,"maximum":99,"description":"For sample size: current conversion rate"},"minimum_lift_percent":{"type":"number","minimum":1,"maximum":500,"description":"For sample size: smallest relative lift to detect"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"ad_copy_check","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"platform":{"type":"string","enum":["google_search","meta","x","linkedin","tiktok","microsoft"]},"headlines":{"type":"array","items":{"type":"string","maxLength":300},"maxItems":15,"default":[]},"descriptions":{"type":"array","items":{"type":"string","maxLength":1000},"maxItems":10,"default":[]}},"required":["platform"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"ad_metrics","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"spend":{"type":"number","minimum":0},"impressions":{"type":"number","minimum":0},"clicks":{"type":"number","minimum":0},"conversions":{"type":"number","minimum":0},"revenue":{"type":"number","minimum":0},"profit_margin_percent":{"type":"number","minimum":0,"maximum":100},"new_budget":{"type":"number","minimum":0,"description":"Project results at this spend, assuming the same efficiency"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"add_background_music","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Main video or audio: public http(s) link"},"music_url":{"type":"string","format":"uri","description":"Music track: public http(s) link"},"music_volume_db":{"type":"number","minimum":-40,"maximum":0,"default":-18,"description":"Music level in dB. Lower is quieter"},"ducking":{"type":"boolean","default":true,"description":"Lower the music while the main audio has speech"},"fade_out_seconds":{"type":"number","minimum":0,"maximum":15,"default":3},"format":{"type":"string","enum":["mp4","mp3","m4a","wav"],"description":"Defaults to mp4 for video, mp3 for audio"}},"required":["url","music_url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"add_captions","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Video: public http(s) link"},"language":{"type":"string","maxLength":30,"description":"Spoken language in English, e.g. spanish. Leave empty to detect it"},"translate_to_english":{"type":"boolean","default":false,"description":"Translate the speech into English"},"srt":{"type":"string","maxLength":200000,"description":"Your own captions in SRT format. Skips speech recognition"},"position":{"type":"string","enum":["bottom","middle","top"],"default":"bottom"},"font_size":{"type":"integer","minimum":10,"maximum":120,"default":28},"color":{"type":"string","pattern":"^#?[0-9a-fA-F]{6}$","default":"#ffffff","description":"Text colour"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"add_watermark","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Video: public http(s) link"},"watermark_url":{"type":"string","format":"uri","description":"Logo image (PNG, JPEG or WebP): public http(s) link"},"text":{"type":"string","maxLength":120,"description":"Text to show. Leave empty to use only a logo"},"position":{"type":"string","enum":["top_left","top_right","bottom_left","bottom_right","center"],"default":"bottom_right"},"margin":{"type":"integer","minimum":0,"maximum":200,"default":24,"description":"Distance from the edge in pixels"},"opacity":{"type":"number","minimum":0.1,"maximum":1,"default":0.85},"logo_width_percent":{"type":"number","minimum":3,"maximum":60,"default":15,"description":"Logo width as a percent of the video width"},"font_size":{"type":"integer","minimum":10,"maximum":200,"default":36},"color":{"type":"string","pattern":"^#?[0-9a-fA-F]{6}$","default":"#ffffff","description":"Text colour"},"quality":{"type":"string","enum":["high","medium","low"],"default":"medium","description":"Quality. Lower quality gives smaller files"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"amortization_schedule","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"principal":{"type":"number","exclusiveMinimum":0,"maximum":10000000000},"annual_rate_percent":{"type":"number","minimum":0,"maximum":100},"years":{"type":"number","minimum":0.25,"maximum":50},"extra_monthly":{"type":"number","minimum":0,"maximum":100000000,"default":0}},"required":["principal","annual_rate_percent","years"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"analyze_media","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Source file: public http(s) link"},"analyses":{"type":"array","items":{"type":"string","enum":["silence","scenes","loudness"]},"minItems":1,"default":["silence","scenes","loudness"]},"silence_threshold_db":{"type":"number","minimum":-90,"maximum":-10,"default":-35},"min_silence_seconds":{"type":"number","minimum":0.1,"maximum":30,"default":0.5},"scene_threshold":{"type":"number","minimum":0.05,"maximum":0.9,"default":0.3,"description":"Lower finds more scene changes"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"app_frontend","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40,"description":"App name"},"layout":{"type":"string","enum":["dashboard","crud","chat"],"default":"dashboard"},"theme":{"type":"string","enum":["glass","neon","paper","brutal"],"default":"glass"},"accent":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","default":"#6366f1"},"default_mode":{"type":"string","enum":["auto","light","dark"],"default":"auto"},"nav_items":{"type":"array","items":{"type":"string","maxLength":24},"maxItems":8,"default":[],"description":"Sidebar links. The first one shows the app; others are placeholder pages to wire up later"},"api_base_url":{"type":"string","format":"uri","maxLength":300,"description":"crud: base URL of your REST API"},"data_url":{"type":"string","format":"uri","maxLength":300,"description":"dashboard: URL returning {kpis, chart, table}"},"chat_endpoint":{"type":"string","format":"uri","maxLength":300},"dashboard":{"type":"object","properties":{"kpis":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":30},"value":{"type":"string","maxLength":20},"delta":{"type":"string","maxLength":12}},"required":["label","value"],"additionalProperties":false},"minItems":1,"maxItems":6},"chart_title":{"type":"string","maxLength":40},"chart_labels":{"type":"array","items":{"type":"string","maxLength":12},"maxItems":24},"chart_values":{"type":"array","items":{"type":"number"},"maxItems":24},"table_title":{"type":"string","maxLength":40},"table_columns":{"type":"array","items":{"type":"string","maxLength":24},"maxItems":6},"table_rows":{"type":"array","items":{"type":"array","items":{"type":"string","maxLength":60}},"maxItems":50},"status_column":{"type":"integer","minimum":0,"maximum":5,"description":"Column index shown as a coloured pill"}},"additionalProperties":false},"crud":{"type":"object","properties":{"singular":{"type":"string","maxLength":24,"default":"Item"},"plural":{"type":"string","maxLength":24},"path":{"type":"string","pattern":"^[a-z0-9\\-_]{1,40}$","default":"items"},"fields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z_][\\w]{0,29}$"},"label":{"type":"string","maxLength":40},"type":{"type":"string","enum":["text","number","email","date","checkbox","select"],"default":"text"},"options":{"type":"array","items":{"type":"string","maxLength":40},"maxItems":20},"required":{"type":"boolean"}},"required":["key","label"],"additionalProperties":false},"minItems":1,"maxItems":8,"default":[{"key":"name","label":"Name","type":"text","required":true},{"key":"email","label":"Email","type":"email"},{"key":"status","label":"Status","type":"select","options":["Active","Paused"]}]},"seed":{"type":"array","items":{"type":"object","additionalProperties":{}},"maxItems":50}},"additionalProperties":false},"chat":{"type":"object","properties":{"greeting":{"type":"string","maxLength":300,"default":"Hi! How can I help?"},"placeholder":{"type":"string","maxLength":80,"default":"Type a message…"}},"additionalProperties":false},"site_id":{"type":"string","pattern":"^[a-f0-9]{10}$","description":"Overwrite the front end of an existing site"},"publish":{"type":"boolean","default":true}},"required":["name"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"arch_design","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"brief":{"type":"string","minLength":3,"maxLength":800,"description":"Plain-language description. Optional if layout is given."},"floors":{"type":"integer","minimum":1,"maximum":10},"floor_height_m":{"type":"number","minimum":2.2,"maximum":6,"default":2.7},"width_m":{"type":"number","minimum":3,"maximum":120},"depth_m":{"type":"number","minimum":3,"maximum":120},"roof":{"type":"string","enum":["gable","flat"]},"structure":{"type":"string","enum":["wood","steel","concrete"],"default":"wood"},"rooms":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":30}},"target_area_m2":{"type":"number","minimum":10,"maximum":20000},"title":{"type":"string","maxLength":80},"budget_usd":{"type":"number","minimum":10000,"maximum":500000000},"region":{"type":"string","enum":["us","high","low"]},"layout":{},"site_lat":{"type":"number","minimum":-90,"maximum":90},"site_lon":{"type":"number","minimum":-180,"maximum":180}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"arch_review","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"beams":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":40},"span_m":{"type":"number","exclusiveMinimum":0,"maximum":60},"width_mm":{"type":"number","exclusiveMinimum":0,"maximum":2000},"depth_mm":{"type":"number","exclusiveMinimum":0,"maximum":3000},"material":{"type":"string","enum":["timber","steel","concrete","lvl"],"default":"timber"},"tributary_width_m":{"type":"number","exclusiveMinimum":0,"maximum":30}},"required":["name","span_m","width_mm","depth_mm"],"additionalProperties":false},"maxItems":40},"columns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":40},"load_kn":{"type":"number","minimum":0,"maximum":1000000},"width_mm":{"type":"number","exclusiveMinimum":0,"maximum":3000},"depth_mm":{"type":"number","exclusiveMinimum":0,"maximum":3000},"height_m":{"type":"number","exclusiveMinimum":0,"maximum":40},"material":{"type":"string","enum":["timber","steel","concrete","lvl"],"default":"steel"}},"required":["name","load_kn","width_mm"],"additionalProperties":false},"maxItems":60},"rooms":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":40},"area_m2":{"type":"number","exclusiveMinimum":0,"maximum":5000},"windows_m2":{"type":"number","minimum":0},"egress_window":{"type":"boolean"},"ventilation":{"type":"boolean"},"occupants":{"type":"number","exclusiveMinimum":0}},"required":["name","area_m2"],"additionalProperties":false},"maxItems":100},"floors":{"type":"integer","minimum":1,"maximum":100},"floor_height_m":{"type":"number"},"exits":{"type":"integer"},"corridor_width_m":{"type":"number"},"stair_width_m":{"type":"number"},"ceiling_height_m":{"type":"number"},"structure":{"type":"string","maxLength":20},"sprinklers":{"type":"boolean"},"r_value":{"type":"number"},"seismic_zone":{"type":"string","enum":["low","moderate","high"]},"wind_zone":{"type":"string","enum":["low","moderate","high"]},"bracing":{"type":"boolean"},"shear_walls":{"type":"boolean"},"soft_storey":{"type":"boolean"},"aspect_ratio":{"type":"number"},"dead_load_kpa":{"type":"number"},"live_load_kpa":{"type":"number"},"dxf":{"type":"string","maxLength":1000000}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"audio_pitch_tempo","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Audio or video file: public http(s) link"},"semitones":{"type":"number","minimum":-12,"maximum":12,"default":0,"description":"Pitch shift. +12 is one octave up"},"tempo":{"type":"number","minimum":0.5,"maximum":2,"default":1,"description":"1 is original speed. 1.25 is 25% faster, pitch unchanged"},"format":{"type":"string","enum":["mp3","wav","flac","aac","m4a","ogg","opus"],"default":"mp3"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"audio_visualize","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Audio or video file: public http(s) link"},"type":{"type":"string","enum":["waveform","spectrogram"],"default":"waveform"},"width":{"type":"integer","minimum":320,"maximum":3840,"default":1600},"height":{"type":"integer","minimum":100,"maximum":2160,"default":400},"color":{"type":"string","pattern":"^#?[0-9a-fA-F]{6}$","default":"#2f9e63","description":"Waveform colour"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"business_days","description":"Count working days between two dates or add working days to a date, skipping weekends and optional holidays. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"end":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"add_days":{"type":"integer","minimum":-10000,"maximum":10000},"holidays":{"type":"array","items":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"maxItems":100,"default":[]}},"required":["start"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"cad_build","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"brief":{"type":"string","minLength":3,"maxLength":600},"kind":{"type":"string","enum":["table","desk","workbench","bookshelf","raised_bed","chest"]},"length_mm":{"type":"number","minimum":200,"maximum":6000},"width_mm":{"type":"number","minimum":100,"maximum":3000},"height_mm":{"type":"number","minimum":100,"maximum":3000},"wood":{"type":"string","enum":["pine","plywood","oak","maple","cedar"],"default":"pine"},"title":{"type":"string","maxLength":80}},"required":["brief"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"cad_calc","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"kind":{"type":"string","enum":["beam","torsion","bolt","motor","spring","belt"]},"values":{"type":"object","additionalProperties":{}}},"required":["kind","values"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"cad_fusion","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"params":{"type":"object","additionalProperties":{},"default":{}},"title":{"type":"string","maxLength":80}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"cad_ideas","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"idea":{"type":"string","minLength":3,"maxLength":600}},"required":["idea"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"cad_machine","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"machine":{"type":"string","enum":["gearbox","four_bar","robot_arm"]},"params":{"type":"object","additionalProperties":{},"default":{}},"material":{"type":"string","enum":["steel","stainless","aluminum","titanium","brass","abs","pla","nylon"],"default":"steel"},"title":{"type":"string","maxLength":80}},"required":["machine"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"cad_part","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"part":{"type":"string","enum":["gear","plate","flange","enclosure","shaft","pulley","heatsink","hex_nut","washer"]},"params":{"type":"object","additionalProperties":{},"default":{}},"material":{"type":"string","enum":["steel","stainless","aluminum","titanium","brass","abs","pla","nylon"],"default":"steel"},"title":{"type":"string","maxLength":80}},"required":["part"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"cad_reverse","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"data_base64":{"type":"string","maxLength":8000000},"data_text":{"type":"string","maxLength":6000000},"format":{"type":"string","enum":["stl","obj","ply"]},"unit":{"type":"string","enum":["mm","cm","m","in"],"default":"mm"},"material":{"type":"string","enum":["steel","stainless","aluminum","titanium","brass","abs","pla","nylon"],"default":"steel"},"title":{"type":"string","maxLength":80}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"check_urls","description":"Check up to 20 URLs: HTTP status, final URL after redirects, content type. Good for finding broken links. Cost: 2 credits per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string","format":"uri"},"minItems":1,"maxItems":20}},"required":["urls"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"color_palette","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"base":{"type":"string","pattern":"^#?[0-9a-fA-F]{6}$"},"harmony":{"type":"string","enum":["complementary","triadic","analogous","split","monochrome"],"default":"analogous"}},"required":["base"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"compress_media","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Source file: public http(s) link"},"target_size_mb":{"type":"number","minimum":0.5,"maximum":2000,"description":"Largest allowed file size in MB"},"format":{"type":"string","enum":["mp4","webm","mp3","m4a","opus"],"description":"Defaults to mp4 for video and mp3 for audio"},"max_height":{"type":"integer","minimum":144,"maximum":2160,"description":"Shrink video to at most this height, e.g. 720"},"start_seconds":{"type":"number","minimum":0,"description":"Start time in seconds"},"duration_seconds":{"type":"number","exclusiveMinimum":0,"description":"Length of the result in seconds"}},"required":["url","target_size_mb"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"convert_data","description":"Convert between CSV and JSON text. Free of network calls; useful for cleaning scraped data. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"direction":{"type":"string","enum":["csv_to_json","json_to_csv"]},"data":{"type":"string","maxLength":1000000,"description":"The CSV text, or a JSON array of flat objects"}},"required":["direction","data"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"convert_media","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Source file: public http(s) link"},"format":{"type":"string","enum":["mp4","mov","mkv","webm","gif","mp3","wav","flac","aac","m4a","ogg","opus"],"description":"Output format"},"quality":{"type":"string","enum":["high","medium","low"],"default":"medium","description":"Quality. Lower quality gives smaller files"},"max_height":{"type":"integer","minimum":144,"maximum":2160,"description":"Shrink video to at most this height, e.g. 720"},"start_seconds":{"type":"number","minimum":0,"description":"Start time in seconds"},"duration_seconds":{"type":"number","exclusiveMinimum":0,"description":"Length of the result in seconds"},"audio_bitrate_kbps":{"type":"integer","minimum":32,"maximum":320,"description":"Audio bitrate in kbps"}},"required":["url","format"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"crawl_site","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page URL"},"max_pages":{"type":"integer","minimum":1,"maximum":25,"default":10},"max_chars_per_page":{"type":"integer","minimum":500,"maximum":20000,"default":4000}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"create_hls_stream","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Video: public http(s) link"},"heights":{"type":"array","items":{"type":"integer","minimum":144,"maximum":2160},"minItems":1,"maxItems":4,"default":[720,480,360],"description":"Quality levels by height"},"segment_seconds":{"type":"integer","minimum":2,"maximum":10,"default":6}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"crime_case_report","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"case_number":{"type":"string","maxLength":12,"description":"Police case number, e.g. JE123456"},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Approximate date YYYY-MM-DD"},"window_days":{"type":"integer","minimum":0,"maximum":60,"default":3,"description":"Days either side of date"},"crime_type":{"type":"string","enum":["NARCOTICS","HOMICIDE","HUMAN TRAFFICKING","PROSTITUTION","SEX OFFENSE","CRIMINAL SEXUAL ASSAULT","ROBBERY","BATTERY","ASSAULT","BURGLARY","THEFT","MOTOR VEHICLE THEFT","CRIMINAL DAMAGE","WEAPONS VIOLATION","ARSON","KIDNAPPING"]},"block":{"type":"string","maxLength":40,"description":"Street or block text, e.g. STATE ST or 012XX N"},"keyword":{"type":"string","maxLength":40,"description":"Offence or location keyword, e.g. APARTMENT, FENTANYL"},"lat":{"type":"number","minimum":-90,"maximum":90},"lon":{"type":"number","minimum":-180,"maximum":180},"search_radius_m":{"type":"integer","minimum":50,"maximum":5000,"default":500},"similar_radius_m":{"type":"integer","minimum":100,"maximum":5000,"default":800},"similar_years":{"type":"integer","minimum":1,"maximum":5,"default":2,"description":"Years either side to look for similar incidents"},"similar_limit":{"type":"integer","minimum":1,"maximum":50,"default":15}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"crime_map_data","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"layer":{"type":"string","enum":["narcotics_incidents","overdose_deaths","narcotics_911","treatment_sites","state_overdose_trend","homicides","suicides","human_trafficking","prostitution","sex_offenses","list_layers"],"default":"list_layers"},"layers":{"type":"array","items":{"type":"string","enum":["narcotics_incidents","overdose_deaths","narcotics_911","homicides","suicides","human_trafficking","prostitution","sex_offenses"]},"maxItems":8,"description":"Search several layers at once; overrides layer"},"refresh":{"type":"boolean","default":false,"description":"Bypass the cache and re-scrape the source data"},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Start date YYYY-MM-DD"},"to":{"$ref":"#/properties/from","description":"End date YYYY-MM-DD"},"keyword":{"type":"string","maxLength":40,"description":"Offense or cause keyword, e.g. FENTANYL, POSSESSION, CANNABIS"},"near":{"type":"string","maxLength":80,"description":"ZIP code or address for treatment_sites"},"radius_miles":{"type":"number","minimum":1,"maximum":100,"default":25},"state":{"type":"string","minLength":2,"maxLength":2,"description":"Two-letter state for state_overdose_trend"},"year":{"type":"integer","minimum":2015,"maximum":2100},"south":{"type":"number","minimum":-90,"maximum":90},"west":{"type":"number","minimum":-180,"maximum":180},"north":{"type":"number","minimum":-90,"maximum":90},"east":{"type":"number","minimum":-180,"maximum":180},"limit":{"type":"integer","minimum":1,"maximum":2000,"default":500}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"crime_stats","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"level":{"type":"string","enum":["state","county","town","coverage"],"default":"coverage"},"state":{"type":"string","minLength":2,"maxLength":2,"description":"Two-letter state code"},"county":{"type":"string","maxLength":40},"town":{"type":"string","maxLength":60,"description":"City or agency name text, e.g. SPRINGFIELD"},"offense":{"type":"string","enum":["violent-crime","property-crime","homicide","rape","robbery","aggravated-assault","burglary","larceny","motor-vehicle-theft","arson"]},"year_from":{"type":"integer","minimum":1985,"maximum":2100},"year_to":{"type":"integer","minimum":1985,"maximum":2100}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"cron_explain","description":"Translate a 5-field cron expression into plain English and list the next run times. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"expression":{"type":"string","maxLength":60,"description":"e.g. '*/15 9-17 * * 1-5'"},"runs":{"type":"integer","minimum":1,"maximum":20,"default":5}},"required":["expression"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"crypto_coin","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9\\-]{1,60}$","description":"CoinGecko id, e.g. bitcoin, ethereum, solana. Use crypto_search if unsure"},"days":{"type":"integer","minimum":30,"maximum":365,"default":180}},"required":["id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"crypto_markets","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":100,"default":20},"ids":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9\\-]{1,60}$"},"maxItems":50,"description":"CoinGecko ids such as bitcoin, ethereum, solana. Overrides limit"},"sort":{"type":"string","enum":["market_cap","change_24h","volume"],"default":"market_cap"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"crypto_news","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"coin":{"type":"string","maxLength":40,"description":"Name or symbol, e.g. Solana or SOL"},"limit":{"type":"integer","minimum":1,"maximum":50,"default":20}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"crypto_search","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":60,"description":"Leave empty to see trending coins"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"crypto_signals","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9\\-]{1,60}$"},"maxItems":50,"description":"Coins to scan. Default: the top coins by market cap"},"universe":{"type":"integer","minimum":10,"maximum":100,"default":50},"deep":{"type":"integer","minimum":0,"maximum":8,"default":5,"description":"How many top candidates get a full indicator check (RSI, moving averages)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"crypto_wallet","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chain":{"type":"string","enum":["bitcoin","ethereum","solana"]},"address":{"type":"string","minLength":20,"maxLength":120},"include_signals":{"type":"boolean","default":false,"description":"Also run the risk/momentum scan on the native coin"}},"required":["chain","address"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"csv_profile","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"csv":{"type":"string","minLength":3,"maxLength":2000000}},"required":["csv"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"currency_convert","description":"Convert an amount between currencies using current reference exchange rates (ECB). Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"amount":{"type":"number","exclusiveMinimum":0,"maximum":1000000000000},"from":{"type":"string","pattern":"^[A-Za-z]{3}$"},"to":{"$ref":"#/properties/from"}},"required":["amount","from","to"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"cve_lookup","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cve_id":{"type":"string","pattern":"^CVE-\\d{4}-\\d{4,}$"},"keyword":{"type":"string","maxLength":80},"limit":{"type":"integer","minimum":1,"maximum":20,"default":5}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"dice_roller","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"notation":{"type":"string","maxLength":30,"description":"e.g. 1d20+5, 2d6, 4d6kh3"},"times":{"type":"integer","minimum":1,"maximum":100,"default":1},"seed":{"type":"string","maxLength":30}},"required":["notation"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"dns_lookup","description":"Look up a domain's A, AAAA, MX, TXT, NS and CNAME records. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":253,"pattern":"^[a-z0-9.-]+$"}},"required":["domain"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"domain_info","description":"Look up a domain's registrar, registration and expiry dates and nameservers via RDAP. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":253,"pattern":"^[a-z0-9.-]+$"}},"required":["domain"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"edit_metadata","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Source file: public http(s) link"},"strip_all":{"type":"boolean","default":false,"description":"Remove all existing metadata first"},"title":{"type":"string","maxLength":200},"artist":{"type":"string","maxLength":200},"album":{"type":"string","maxLength":200},"comment":{"type":"string","maxLength":500},"year":{"type":"string","maxLength":10}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"edit_video","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Video: public http(s) link"},"aspect_ratio":{"type":"string","enum":["16:9","9:16","1:1","4:5","4:3","21:9"],"description":"Reframe to this aspect ratio"},"fit":{"type":"string","enum":["crop","pad"],"default":"crop","description":"Crop to fill the frame, or pad with black bars"},"max_height":{"type":"integer","minimum":144,"maximum":2160,"description":"Shrink video to at most this height, e.g. 720"},"rotate":{"type":"string","enum":["0","90","180","270"],"default":"0","description":"Rotate clockwise, in degrees"},"flip":{"type":"string","enum":["none","horizontal","vertical"],"default":"none","description":"Mirror the picture"},"speed":{"type":"number","minimum":0.25,"maximum":4,"default":1,"description":"1 is normal. 2 is double speed, 0.5 is slow motion"},"fps":{"type":"integer","minimum":1,"maximum":60,"description":"Output frame rate"},"mute":{"type":"boolean","default":false,"description":"Remove the audio"},"format":{"type":"string","enum":["mp4","mov","mkv","webm","gif"],"default":"mp4","description":"Output format"},"start_seconds":{"type":"number","minimum":0,"description":"Start time in seconds"},"duration_seconds":{"type":"number","exclusiveMinimum":0,"description":"Length of the result in seconds"},"quality":{"type":"string","enum":["high","medium","low"],"default":"medium","description":"Quality. Lower quality gives smaller files"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"email_check","description":"Check email syntax and whether the domain can receive mail (MX records). Flags common disposable domains. Cost: 1 credit per call.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"type":"string","maxLength":254}},"required":["email"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"extract_audio","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Source file: public http(s) link"},"format":{"type":"string","enum":["mp3","wav","flac","aac","m4a","ogg","opus"],"default":"mp3","description":"Audio format"},"bitrate_kbps":{"type":"integer","minimum":32,"maximum":320,"description":"Audio bitrate in kbps"},"audio_track":{"type":"integer","minimum":0,"maximum":15,"default":0,"description":"Which audio track, starting at 0"},"start_seconds":{"type":"number","minimum":0,"description":"Start time in seconds"},"duration_seconds":{"type":"number","exclusiveMinimum":0,"description":"Length of the result in seconds"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"extract_contacts","description":"Scan a page for email addresses, phone numbers and social profile links (LinkedIn, X, Facebook, Instagram, YouTube, GitHub). Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page URL"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"extract_content","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string","format":"uri"},"minItems":1,"maxItems":10},"max_chars_per_page":{"type":"integer","minimum":500,"maximum":30000,"default":8000}},"required":["urls"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"extract_data","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page URL"},"selectors":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":300},"description":"e.g. {\"titles\": \"h2.title\", \"links\": \"a.item@href\"}"},"limit":{"type":"integer","minimum":1,"maximum":500,"default":100,"description":"Max matches per field"}},"required":["url","selectors"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"extract_links","description":"List every link on a page with its anchor text. Optionally keep only links on the same domain. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page URL"},"same_domain_only":{"type":"boolean","default":false}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"extract_tables","description":"Pull every table on a page as rows of cells (first row of each table is usually the header). Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page URL"},"max_tables":{"type":"integer","minimum":1,"maximum":20,"default":10}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"fetch_json","description":"GET a public JSON endpoint and return the parsed result. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page URL"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_audit_log","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":500,"default":50},"tool":{"type":"string","description":"Only this tool, e.g. onion_fetch"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_balance","description":"Show how many media minutes (credits) are left on this API key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_job","description":"Check a job started by any other tool. Returns the results when it is finished.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"job_id":{"type":"string"}},"required":["job_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_media_info","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Source file: public http(s) link"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hash_identify","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hash":{"type":"string","minLength":8,"maxLength":300}},"required":["hash"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hub_apps","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workspace":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$","default":"main","description":"Workspace name. Leave as main unless you run several"},"action":{"type":"string","enum":["list","add","remove","test","rotate_token"],"default":"list"},"name":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$"},"kind":{"type":"string","enum":["agent","webhook","slack","discord"],"default":"agent"},"url":{"type":"string","format":"uri","maxLength":500}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hub_read","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workspace":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$","default":"main","description":"Workspace name. Leave as main unless you run several"},"app":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$","description":"Agent app to read. Omit to read the workspace event log"},"peek":{"type":"boolean","default":false},"limit":{"type":"integer","minimum":1,"maximum":100,"default":20},"include_read":{"type":"boolean","default":false}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hub_routes","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workspace":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$","default":"main","description":"Workspace name. Leave as main unless you run several"},"action":{"type":"string","enum":["add","list","remove"],"default":"add"},"from":{"type":"string","maxLength":30},"to":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$"},"when":{"type":"string","maxLength":60},"contains":{"type":"string","maxLength":100},"template":{"type":"string","maxLength":500},"route_id":{"type":"integer"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hub_send","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"workspace":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$","default":"main","description":"Workspace name. Leave as main unless you run several"},"from":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$","default":"agent","description":"Which app is sending"},"type":{"type":"string","pattern":"^[\\w.\\-:]{1,60}$","default":"message","description":"Event type, e.g. alert.price or to:reviewer"},"message":{"type":"string","maxLength":4000},"payload":{"type":"object","additionalProperties":{},"description":"Any JSON data to include"},"to":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hub_setup","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"workspace":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$","default":"main","description":"Workspace name. Leave as main unless you run several"},"template":{"type":"string","enum":["chat_alerts","agent_team","webhook_relay","blank"],"default":"blank"},"chat_url":{"type":"string","format":"uri","maxLength":500,"description":"chat_alerts: Slack or Discord incoming-webhook URL"},"target_url":{"type":"string","format":"uri","maxLength":500,"description":"webhook_relay: https URL to forward events to"},"agents":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$"},"minItems":2,"maxItems":8,"description":"agent_team: names, e.g. [researcher, writer, reviewer]"},"apps":{"type":"array","items":{"type":"object","properties":{"name":{"$ref":"#/properties/agents/items"},"kind":{"type":"string","enum":["agent","webhook","slack","discord"],"default":"agent"},"url":{"type":"string","format":"uri","maxLength":500}},"required":["name"],"additionalProperties":false},"maxItems":20},"routes":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","maxLength":30},"to":{"$ref":"#/properties/agents/items"},"when":{"type":"string","maxLength":60,"description":"Event type pattern, e.g. alert.* or * for all"},"contains":{"type":"string","maxLength":100},"template":{"type":"string","maxLength":500,"description":"Message text. Use {{from}} {{type}} {{payload.field}}"}},"required":["from","to"],"additionalProperties":false},"maxItems":30}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hub_state","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workspace":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,29}$","default":"main","description":"Workspace name. Leave as main unless you run several"},"action":{"type":"string","enum":["get","set","delete","list"],"default":"list"},"key":{"type":"string","pattern":"^[\\w.\\-:]{1,60}$"},"value":{}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"ioc_extract","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","minLength":3,"maxLength":500000}},"required":["text"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"ip_info","description":"Geolocate a public IP address: country, city, ISP/organization, ASN and timezone. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ip":{"type":"string","minLength":2,"maxLength":45,"pattern":"^[0-9a-fA-F:.]+$"}},"required":["ip"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"ip_whois","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ip":{"type":"string","minLength":2,"maxLength":45,"pattern":"^[0-9a-fA-F:.]+$"}},"required":["ip"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"jwt_inspect","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string","minLength":10,"maxLength":8000}},"required":["token"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"keyword_formatter","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"keywords":{"type":"array","items":{"type":"string","maxLength":80},"minItems":1,"maxItems":500},"negatives_for":{"type":"string","enum":["none","b2c_services","ecommerce","software","jobs_filter"],"default":"none"}},"required":["keywords"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"loot_table","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":60},"weight":{"type":"number","minimum":0,"maximum":1000000}},"required":["name","weight"],"additionalProperties":false},"minItems":1,"maxItems":200},"rolls":{"type":"integer","minimum":0,"maximum":1000,"default":10},"seed":{"type":"string","maxLength":30}},"required":["items"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"make_slideshow","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"string","format":"uri"},"minItems":1,"maxItems":30,"description":"Images, in order: public http(s) links"},"music_url":{"type":"string","format":"uri","description":"Music (optional): public http(s) link"},"seconds_per_image":{"type":"number","minimum":1,"maximum":30,"default":3},"size":{"type":"string","enum":["1280x720","1920x1080","1080x1920","1080x1080"],"default":"1280x720"},"zoom":{"type":"boolean","default":true,"description":"Slow zoom on each image"}},"required":["images"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"make_thumbnails","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Video: public http(s) link"},"mode":{"type":"string","enum":["frames","contact_sheet"],"default":"frames"},"count":{"type":"integer","minimum":1,"maximum":30,"default":1,"description":"How many frames, spread evenly through the video"},"at_seconds":{"type":"array","items":{"type":"number","minimum":0},"maxItems":30,"description":"Exact times to grab. Overrides count"},"width":{"type":"integer","minimum":120,"maximum":3840,"default":1280,"description":"Frame width in pixels"},"format":{"type":"string","enum":["jpg","png","webp"],"default":"jpg"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"merge_media","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string","format":"uri"},"minItems":2,"maxItems":20,"description":"Clips, in order: public http(s) links"},"format":{"type":"string","enum":["mp4","mov","mkv","webm","mp3","wav","flac","aac","m4a","ogg","opus"],"description":"Defaults to mp4 for video and mp3 for audio-only"},"max_height":{"type":"integer","minimum":144,"maximum":2160,"description":"Shrink video to at most this height, e.g. 720"},"quality":{"type":"string","enum":["high","medium","low"],"default":"medium","description":"Quality. Lower quality gives smaller files"}},"required":["urls"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"midi_generate","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"chords":{"type":"array","items":{"type":"string","maxLength":8},"minItems":1,"maxItems":32,"description":"Chord names, e.g. ['Am','F','C','G']"},"bpm":{"type":"number","minimum":40,"maximum":240,"default":100},"beats_per_chord":{"type":"number","minimum":1,"maximum":8,"default":4},"pattern":{"type":"string","enum":["block","arpeggio","bass"],"default":"block"},"octave":{"type":"integer","minimum":1,"maximum":6,"default":4},"seed":{"type":"string","maxLength":30,"description":"Same seed gives the same velocities"}},"required":["chords"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"multi_model_compare","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":20000},"system":{"type":"string","maxLength":4000},"models":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["openai","anthropic","google","openrouter","groq","mistral"]},"model":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[\\w.\\-:/]+$"},"api_key":{"type":"string","minLength":8,"maxLength":300}},"required":["provider","model","api_key"],"additionalProperties":false},"minItems":1,"maxItems":4},"max_tokens":{"type":"integer","minimum":16,"maximum":4000,"default":800},"temperature":{"type":"number","minimum":0,"maximum":2,"default":0.7}},"required":["prompt","models"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"music_theory","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"root":{"type":"string","maxLength":3,"default":"C","description":"Key or root note, e.g. C, F#, Bb"},"scale":{"type":"string","enum":["major","minor","dorian","phrygian","lydian","mixolydian","locrian","harmonic_minor","melodic_minor","pentatonic_major","pentatonic_minor","blues"],"default":"major"},"progression":{"type":"string","maxLength":80,"description":"Roman numerals separated by spaces, e.g. 'I V vi IV' or 'ii V I'"},"transpose_semitones":{"type":"integer","minimum":-24,"maximum":24,"default":0}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"name_generator","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"style":{"type":"string","enum":["fantasy","elven","dwarven","scifi","orcish"],"default":"fantasy"},"count":{"type":"integer","minimum":1,"maximum":50,"default":10},"seed":{"type":"string","maxLength":30}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"noise_heightmap","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"size":{"type":"integer","minimum":16,"maximum":512,"default":128},"scale":{"type":"number","minimum":2,"maximum":128,"default":24},"octaves":{"type":"integer","minimum":1,"maximum":6,"default":4},"seed":{"type":"string","maxLength":30,"default":"world"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"onion_directory","description":"List the curated and discovered .onion addresses, newest first. Optional search over address or title. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"search":{"type":"string","maxLength":100,"default":""},"limit":{"type":"integer","minimum":1,"maximum":500,"default":100},"offset":{"type":"integer","minimum":0,"default":0}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"onion_discover","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"seed_url":{"type":"string","format":"uri","description":"Page to harvest addresses from, e.g. a public hidden-service link list"},"crawl":{"type":"integer","minimum":0,"maximum":10,"default":0,"description":"Also fetch up to this many discovered .onion pages (via Tor) to record their titles and any further addresses"}},"required":["seed_url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"onion_fetch","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"A http(s) URL on a .onion host"},"include_links":{"type":"boolean","default":true}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"page_metadata","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page URL"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"parse_feed","description":"Fetch an RSS or Atom feed and return its entries (title, link, date, summary). Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page URL"},"limit":{"type":"integer","minimum":1,"maximum":200,"default":50}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"password_check","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"password":{"type":"string","minLength":1,"maxLength":200},"sha1":{"type":"string","pattern":"^[a-f0-9]{40}$"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"phishing_url_check","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","maxLength":2000}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"ping","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253,"pattern":"^[A-Za-z0-9.\\-:]+$"},"port":{"type":"integer","minimum":1,"maximum":65535,"default":443},"count":{"type":"integer","minimum":1,"maximum":10,"default":4}},"required":["host"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"pixel_art","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Image: public http(s) link"},"pixel_width":{"type":"integer","minimum":16,"maximum":256,"default":64,"description":"Width of the pixel grid. Smaller is chunkier"},"colors":{"type":"integer","minimum":2,"maximum":256,"default":16},"upscale":{"type":"integer","minimum":1,"maximum":16,"default":8,"description":"Scale the final picture up by this whole number"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"port_check","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253,"pattern":"^[A-Za-z0-9.\\-:]+$"},"ports":{"type":"array","items":{"type":"integer","minimum":1,"maximum":65535},"minItems":1,"maxItems":10,"default":[80,443]}},"required":["host"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"process_audio","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Audio or video file: public http(s) link"},"preset":{"type":"string","enum":["podcast","none"],"default":"podcast","description":"Podcast: denoise, trim silence and normalise loudness"},"normalize_lufs":{"type":"number","minimum":-30,"maximum":-5,"description":"Target loudness. Overrides the preset's -16"},"denoise":{"type":"boolean","description":"Reduce steady background noise"},"trim_silence":{"type":"boolean","description":"Cut long pauses and leading or trailing silence"},"volume_db":{"type":"number","minimum":-30,"maximum":30,"default":0,"description":"Volume change in dB"},"fade_in_seconds":{"type":"number","minimum":0,"maximum":30,"default":0},"fade_out_seconds":{"type":"number","minimum":0,"maximum":30,"default":0},"speed":{"type":"number","minimum":0.5,"maximum":2,"default":1},"mono":{"type":"boolean","default":false},"format":{"type":"string","enum":["mp3","wav","flac","aac","m4a","ogg","opus"],"default":"mp3"},"start_seconds":{"type":"number","minimum":0,"description":"Start time in seconds"},"duration_seconds":{"type":"number","exclusiveMinimum":0,"description":"Length of the result in seconds"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"qr_code","description":"Create a QR code (SVG) for a URL or any text, e.g. for menus, payments or business cards. Cost: 1 credit per call.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":2000},"size":{"type":"integer","minimum":100,"maximum":1000,"default":300}},"required":["text"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"recipe_delete","description":"Delete one of your saved recipes. Cost: 1 credit per call.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,39}$"}},"required":["name"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"recipe_import","description":"Add a recipe someone shared with you, using its share code. Review it with recipe_list before running it. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"code":{"type":"string","pattern":"^[0-9a-f]{10}$"},"rename":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,39}$"}},"required":["code"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"recipe_list","description":"List the saved recipes on your account with their inputs and steps. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"recipe_publish","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,39}$"}},"required":["name"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"recipe_run","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,39}$"},"inputs":{"type":"object","additionalProperties":{},"default":{}}},"required":["name"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"recipe_save","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","pattern":"^[a-z0-9][a-z0-9_-]{0,39}$"},"description":{"type":"string","maxLength":200,"default":""},"inputs":{"type":"array","items":{"type":"string","pattern":"^\\w{1,30}$"},"maxItems":10,"default":[],"description":"Names of the inputs the recipe expects"},"steps":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","maxLength":60},"args":{"type":"object","additionalProperties":{},"default":{}},"as":{"type":"string","pattern":"^\\w{1,20}$"}},"required":["tool"],"additionalProperties":false},"minItems":1,"maxItems":6}},"required":["name","steps"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"redirect_chain","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"reverse_dns","description":"Find the hostnames (PTR records) for a public IP address. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ip":{"type":"string","minLength":2,"maxLength":45,"pattern":"^[0-9a-fA-F:.]+$"}},"required":["ip"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"scrape_page","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page URL"},"format":{"type":"string","enum":["text","html"],"default":"text"},"include_links":{"type":"boolean","default":false,"description":"Also return the page's links"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"security_headers","description":"Check a site's HTTP security headers (HSTS, CSP, X-Frame-Options, etc.) and score them. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page URL"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"shot_list","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"scenes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":80},"shot_type":{"type":"string","enum":["wide","medium","close-up","insert","over-the-shoulder","drone","tracking"],"default":"medium"},"seconds":{"type":"number","minimum":1,"maximum":600,"default":5},"takes":{"type":"integer","minimum":1,"maximum":20,"default":3}},"required":["name"],"additionalProperties":false},"minItems":1,"maxItems":100},"setup_minutes_per_shot":{"type":"number","minimum":0,"maximum":120,"default":15}},"required":["scenes"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"site_audit","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public page to audit"},"site_id":{"type":"string","pattern":"^[a-f0-9]{10}$","description":"Site id from site_create or site_list"},"path":{"type":"string","maxLength":150,"default":"index.html","description":"Page inside the hosted site"},"check_links":{"type":"boolean","default":false}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"site_autofix","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"site_id":{"type":"string","pattern":"^[a-f0-9]{10}$","description":"Site id from site_create or site_list"},"path":{"type":"string","maxLength":150,"default":"index.html"},"fixes":{"type":"array","items":{"type":"string","enum":["lang","charset","viewport","title","description","canonical","open_graph","lazy_images","noopener","defer_scripts","alt_placeholder"]},"default":["lang","charset","viewport","lazy_images","noopener","defer_scripts","alt_placeholder"]},"title":{"type":"string","maxLength":70},"description":{"type":"string","maxLength":170},"lang":{"type":"string","pattern":"^[a-z]{2}(-[A-Za-z]{2})?$","default":"en"},"canonical_url":{"type":"string","format":"uri"},"og_image":{"type":"string","format":"uri"}},"required":["site_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"site_create","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":60,"description":"Business or site name"},"tagline":{"type":"string","minLength":1,"maxLength":120,"description":"Headline, e.g. 'Fresh bread, baked daily'"},"description":{"type":"string","maxLength":300,"description":"One or two sentences under the headline"},"sections":{"type":"array","items":{"type":"string","enum":["hero","features","stats","about","pricing","testimonials","faq","gallery","contact","cta"]},"minItems":1,"maxItems":10,"default":["hero","features","stats","pricing","testimonials","faq","contact"]},"style":{"type":"string","enum":["modern","minimal","bold"],"default":"modern"},"font":{"type":"string","enum":["system","serif","mono"],"default":"system"},"accent":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","default":"#4f46e5"},"cta_text":{"type":"string","maxLength":30,"default":"Get started"},"cta_link":{"type":"string","maxLength":300},"currency":{"type":"string","maxLength":3,"default":"$"},"lang":{"type":"string","pattern":"^[a-z]{2}(-[A-Za-z]{2})?$","default":"en"},"contact_email":{"type":"string","format":"email","description":"Contact form falls back to opening this mailbox"},"form_endpoint":{"type":"string","format":"uri","description":"Optional form backend (e.g. Formspree) that accepts JSON POST"},"content":{"type":"object","properties":{"features_title":{"type":"string","maxLength":80},"features":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","maxLength":60},"text":{"type":"string","maxLength":200},"icon":{"type":"string","enum":["bolt","shield","star","chart","heart","globe","code","clock","users"],"default":"star"}},"required":["title","text"],"additionalProperties":false},"maxItems":9},"stats":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"suffix":{"type":"string","maxLength":4},"label":{"type":"string","maxLength":40}},"required":["value","label"],"additionalProperties":false},"maxItems":6},"pricing":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":30},"price":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"yearly":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"features":{"type":"array","items":{"type":"string","maxLength":60},"maxItems":8},"highlight":{"type":"boolean"}},"required":["name","price","features"],"additionalProperties":false},"maxItems":4},"testimonials":{"type":"array","items":{"type":"object","properties":{"quote":{"type":"string","maxLength":300},"name":{"type":"string","maxLength":60},"role":{"type":"string","maxLength":60}},"required":["quote","name"],"additionalProperties":false},"maxItems":6},"faqs":{"type":"array","items":{"type":"object","properties":{"q":{"type":"string","maxLength":150},"a":{"type":"string","maxLength":600}},"required":["q","a"],"additionalProperties":false},"maxItems":12},"gallery_images":{"type":"array","items":{"type":"string","format":"uri"},"maxItems":12},"about_title":{"type":"string","maxLength":80},"about_text":{"type":"string","maxLength":800},"cta_title":{"type":"string","maxLength":100},"cta_text":{"type":"string","maxLength":200}},"additionalProperties":false},"site_id":{"type":"string","pattern":"^[a-f0-9]{10}$","description":"Regenerate into an existing site (overwrites index.html, styles.css, app.js)"},"publish":{"type":"boolean","default":true}},"required":["name","tagline"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"site_deploy","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"site_id":{"type":"string","pattern":"^[a-f0-9]{10}$","description":"Site id from site_create or site_list"},"action":{"type":"string","enum":["publish","unpublish","delete"],"default":"publish"}},"required":["site_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"site_files","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"site_id":{"type":"string","pattern":"^[a-f0-9]{10}$","description":"Site id from site_create or site_list"},"action":{"type":"string","enum":["list","read","write","delete"]},"path":{"type":"string","maxLength":150,"description":"For read, delete, or a single write"},"content":{"type":"string","maxLength":2000000,"description":"For a single write"},"encoding":{"type":"string","enum":["utf8","base64"],"default":"utf8"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","maxLength":150},"content":{"type":"string","maxLength":2000000},"encoding":{"type":"string","enum":["utf8","base64"],"default":"utf8"}},"required":["path","content"],"additionalProperties":false},"maxItems":30,"description":"For writing many files at once"}},"required":["site_id","action"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"site_import","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"name":{"type":"string","maxLength":60},"site_id":{"type":"string","pattern":"^[a-f0-9]{10}$","description":"Import into an existing workspace"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"site_list","description":"List every site you have created with its id, name, live URL, publish state and file count. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sitemap_urls","description":"Find a site's sitemap (via robots.txt or /sitemap.xml) and list the page URLs in it. Cost: 2 credits per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"site":{"type":"string","format":"uri","description":"Site root, e.g. https://example.com"},"limit":{"type":"integer","minimum":1,"maximum":2000,"default":500}},"required":["site"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sprite_sheet","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"images":{"type":"array","items":{"type":"string","format":"uri"},"minItems":2,"maxItems":64,"description":"Frames, in order: public http(s) links"},"cell_width":{"type":"integer","minimum":8,"maximum":1024,"default":64},"cell_height":{"type":"integer","minimum":8,"maximum":1024,"default":64},"columns":{"type":"integer","minimum":1,"maximum":32,"default":8},"nearest":{"type":"boolean","default":true,"description":"Keep pixel art sharp when resizing"}},"required":["images"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"subdomain_enum","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","pattern":"^[a-z0-9.-]+\\.[a-z]{2,}$","maxLength":253}},"required":["domain"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"subtitle_convert","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","minLength":5,"maxLength":500000},"to":{"type":"string","enum":["srt","vtt"]},"shift_seconds":{"type":"number","minimum":-3600,"maximum":3600,"default":0}},"required":["text","to"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"tempo_calculator","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"bpm":{"type":"number","minimum":20,"maximum":300},"bars":{"type":"number","minimum":0,"maximum":1000,"description":"Optional: number of 4/4 bars to convert to time"}},"required":["bpm"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"text_diff","description":"Line-by-line diff of two texts (contracts, configs, policies), with added and removed lines and a similarity score. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"before":{"type":"string","maxLength":100000},"after":{"type":"string","maxLength":100000}},"required":["before","after"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"text_utils","description":"Hash text (md5, sha1, sha256, sha512), base64 or URL encode/decode, or generate UUIDs. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"action":{"type":"string","enum":["hash","base64_encode","base64_decode","url_encode","url_decode","uuid"]},"text":{"type":"string","maxLength":100000,"default":""},"algorithm":{"type":"string","enum":["md5","sha1","sha256","sha512"],"default":"sha256"},"count":{"type":"integer","minimum":1,"maximum":50,"default":1,"description":"How many UUIDs"}},"required":["action"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"timecode_calculator","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"fps":{"type":"string","enum":["23.976","24","25","29.97","30","50","59.94","60"],"default":"24"},"timecode":{"type":"string","maxLength":14,"description":"e.g. 01:02:03:12"},"frames":{"type":"integer","minimum":0},"seconds":{"type":"number","minimum":0},"add_timecode":{"type":"string","maxLength":14,"description":"Timecode to add to the first one"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"tls_certificate","description":"Inspect a site's HTTPS certificate: issuer, validity dates, days until expiry and alternate names. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":253,"pattern":"^[a-z0-9.-]+$"}},"required":["domain"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"traceroute","description":"Show the network path (each router hop with latency) from our server to a public host. Cost: 2 credits per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253,"pattern":"^[A-Za-z0-9.\\-:]+$"},"max_hops":{"type":"integer","minimum":3,"maximum":30,"default":20}},"required":["host"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"transcribe_media","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Audio or video file: public http(s) link"},"language":{"type":"string","maxLength":30,"description":"Spoken language in English, e.g. spanish. Leave empty to detect it"},"translate_to_english":{"type":"boolean","default":false,"description":"Translate the speech into English"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"trim_media","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Source file: public http(s) link"},"start_seconds":{"type":"number","minimum":0,"description":"Where the cut starts, in seconds"},"end_seconds":{"type":"number","exclusiveMinimum":0,"description":"Where the cut ends, in seconds"},"duration_seconds":{"type":"number","exclusiveMinimum":0,"description":"Length of the result in seconds"},"lossless":{"type":"boolean","default":false,"description":"Copy without re-encoding (instant, keeps quality)"},"format":{"type":"string","enum":["mp4","mov","mkv","webm","gif","mp3","wav","flac","aac","m4a","ogg","opus"],"description":"Output format when not lossless. Defaults to mp4 or mp3"},"quality":{"type":"string","enum":["high","medium","low"],"default":"medium","description":"Quality. Lower quality gives smaller files"}},"required":["url","start_seconds"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"utm_builder","description":"Build campaign tracking URLs with consistent UTM parameters, one per source/medium pair, with lower-casing and safe encoding. Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"campaign":{"type":"string","minLength":1,"maxLength":80},"channels":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","maxLength":40},"medium":{"type":"string","maxLength":40}},"required":["source","medium"],"additionalProperties":false},"minItems":1,"maxItems":30},"term":{"type":"string","maxLength":80},"content":{"type":"string","maxLength":80}},"required":["url","campaign","channels"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"video_color_grade","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Video: public http(s) link"},"preset":{"type":"string","enum":["none","teal_orange","warm_film","cool_noir","black_white","vintage"],"default":"teal_orange"},"brightness":{"type":"number","minimum":-0.5,"maximum":0.5,"default":0},"contrast":{"type":"number","minimum":0.5,"maximum":2,"default":1},"saturation":{"type":"number","minimum":0,"maximum":3,"default":1},"vignette":{"type":"boolean","default":false},"quality":{"type":"string","enum":["high","medium","low"],"default":"medium","description":"Quality. Lower quality gives smaller files"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"video_reverse","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Video: public http(s) link"},"format":{"type":"string","enum":["mp4","webm","gif"],"default":"mp4"},"max_height":{"type":"integer","minimum":144,"maximum":2160,"description":"Shrink video to at most this height, e.g. 720"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"wayback_snapshot","description":"Find the closest archived snapshot of a URL in the Internet Archive, optionally for a given date (YYYYMMDD). Cost: 1 credit per call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http(s) page URL"},"date":{"type":"string","pattern":"^\\d{4,14}$"}},"required":["url"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"web_search","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":400},"max_results":{"type":"integer","minimum":1,"maximum":15,"default":8},"include_content":{"type":"boolean","default":false,"description":"Fetch the top 3 results and include their text"}},"required":["query"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"xp_curve","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"levels":{"type":"integer","minimum":2,"maximum":200,"default":50},"base_xp":{"type":"number","minimum":1,"maximum":100000,"default":100},"curve":{"type":"string","enum":["linear","quadratic","exponential","runescape"],"default":"quadratic"},"growth":{"type":"number","minimum":1,"maximum":3,"default":1.15,"description":"Exponential growth factor"},"xp_per_hour":{"type":"number","minimum":1,"maximum":1000000}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":88,"grade":"A","scanned_at":"2026-10-14T17:38:56.083Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-14T17:38:56.023Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 860ms"]},"poisoning":{"score":15,"max":15,"notes":["127 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.clear-line-operations.com/mcp","reachable":true,"authRequired":false,"latencyMs":860,"serverInfo":{"name":"clear-line-ops","version":"1.0.0"}}],"packages":[],"repo":{"found":true,"owner":"mfarrell628","repo":"clear-line-ops-mcp","archived":false,"pushedAt":"2026-10-14T16:10:14Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/73907232?v=4","ownerCreatedAt":"2020-11-03T18:41:28Z","license":"MIT"},"icon":{"url":"https://mcp.clear-line-operations.com/assets/logo.svg","source":"site"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-14T16:10:14.000Z","score":23}}}},"grade_history":[],"reviews":[]}