Benchline
REMOTE · BENCHLINE.FABWASEEM.COM
Open-source developer, PDF, image, SEO and security tools over a stateless HTTP MCP server. No key.
Available components
Last scanned (22 hours ago)
Scores higher than 4% of remote servers
Unreachable for 1 day in a row. Last reached 3 Nov 2026.
Recent critical change
TLS certificate (4 Nov 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security0
- TLS check failed: the certificate doesn't match the endpoint's hostname. See how to fix → View diagnostics → Fail
- Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. View diagnostics → Unverified
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 503, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS not yet verified: we couldn't read the response headers to check for it. View diagnostics → Unverified
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport check failed: declared streamable-http, but the TLS certificate failed verification. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 0
- TLS certificate: pass → fail ▼ critical
- Score status: scored → failed ▼ critical
- Endpoint reachability: not serving MCP → unreachable ▼ security
- HSTS header: fail → unverified ▼ security
- Transport: Transport check failed: declared streamable-http, but the TLS certificate failed verification. security
- 24 Oct 26 −44
- Endpoint reachability: reachable → not serving MCP ▼ security
- Stability: 0.13 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- HTTPS: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Authorization: Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 20 Oct 26 0
- Stability: unverified → 0.03 ▲ functional
- 19 Oct 26 60
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://benchline.fabwaseem.com/mcp
TLS invalid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
Chain error: hostname_mismatch
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=TRAEFIK DEFAULT CERT | CN=TRAEFIK DEFAULT CERT | 4 Nov 2026 | 4 Nov 2027 | RSA 2048 | SHA256-RSA | 30a0febffd06e6ad8a334a4763dc8c96 |
| SANs: 155ec223a28ef6b36b374722ead37691.f60aaa0ee38b2a2d971ddd1ae7c54f35.traefik.default | ||||||
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of benchline.fabwaseem.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| fabwaseem.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Inconclusive
We could not reach the endpoint well enough to judge its authorisation posture.
| Result | Inconclusive |
|---|
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://benchline.fabwaseem.com/mcp | TLS failed | ||
| http (plaintext) | http://benchline.fabwaseem.com/mcp | Inconclusive | 503 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
generate_fake_data Generate lorem ipsum or fake rows ~86
Generate seeded lorem ipsum, or fake JSON, CSV, or SQL rows from a list of field types.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | – |
| fields | array | – | – |
| format | string | – | – |
| kind | string | – | – |
| mode | string | – | – |
| rows | integer | – | – |
| seed | integer | – | – |
| table | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | yes | – |
| output | string | yes | – |
| rows | integer | yes | – |
No examples provided.
generate_favicon Generate a favicon pack ~147
Build a favicon pack from an image or up to three letters. The ZIP contains favicon.ico, PNG sizes, a web manifest, an HTML snippet, and a Next.js metadata snippet. Letters are drawn with a built-in bitmap font so the result does not depend on a system font. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | – |
| color | string | – | – |
| file | object | – | A square-or-any image. Provide file or text. |
| name | string | – | – |
| text | string | – | Up to three letters drawn as the mark. Provide file or text. |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| data | string | yes | ZIP of the favicon files as base64. |
| filename | string | yes | – |
| html | string | yes | – |
| manifest | string | yes | – |
| mime | string | yes | – |
| nextMetadata | string | yes | – |
| preview | string | yes | 32 pixel PNG as base64. |
No examples provided.
generate_invoice Generate an invoice or quote PDF ~72
Build an invoice or quote PDF from company and client details, line items with quantities and rates, a tax rate, and an optional percent or flat discount. All money is computed in integer cents, so there are no float rounding errors. Returns the PDF as base64 plus the total.
| Name | Type | Req | Description |
|---|---|---|---|
| invoice | object | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | PDF size in bytes. |
| currency | string | yes | ISO currency code used for the invoice. |
| data | string | yes | Invoice or quote PDF as base64. |
| totalCents | integer | yes | Grand total in integer cents. |
No examples provided.
generate_keypair Generate or convert a key pair ~123
Generate an RSA, EC, or Ed25519 key pair as PEM and JWK, or convert between PEM and JWK. The private key is returned in the result and is not stored. The page in the browser generates keys locally and does not send them.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | – |
| alg | string | – | – |
| jwk | string | – | JWK JSON to convert. Required for to_pem. |
| modulusLength | – | – | – |
| pem | string | – | SPKI or PKCS8 PEM to convert. Required for to_jwk. |
| Name | Type | Req | Description |
|---|---|---|---|
| alg | string | yes | – |
| jwks | string | yes | – |
| privateJwk | string | yes | – |
| privatePem | string | yes | – |
| publicJwk | string | yes | – |
| publicPem | string | yes | – |
No examples provided.
generate_llms_txt Generate llms.txt ~78
Render llms.txt and llms-full.txt from a site name, a summary, and a list of pages. It does not crawl. Grouping follows the page URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| pages | array | yes | Pages you already know. This tool does not fetch them. |
| siteName | string | yes | – |
| summary | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| full | string | yes | – |
| llms | string | yes | – |
No examples provided.
generate_meme Generate a meme image ~161
Render a classic top/bottom-caption meme as a PNG. Give it an image (base64, data URI, or public URL) or pick a gradient style, and it returns captioned meme artwork.
| Name | Type | Req | Description |
|---|---|---|---|
| bottom | string | – | – |
| fontScale | number | – | Caption size multiplier. |
| image | object | – | Base image as base64, a data URI, or a public URL. Private addresses are refused. 10 MB cap. Omit to use a gradient style background. |
| styleId | string | – | Gradient style id when no image is given: sunset, ocean, grape, forest, mono, candy. Default: sunset. |
| top | string | – | – |
| upper | boolean | – | Uppercase captions, classic meme style. |
| Name | Type | Req | Description |
|---|---|---|---|
| height | integer | yes | – |
| mimeType | string | yes | – |
| png | string | yes | PNG bytes, base64 encoded. |
| width | integer | yes | – |
No examples provided.
generate_password Generate a password or passphrase ~123
Generate cryptographic passwords or EFF-wordlist passphrases and report the entropy in bits. Randomness comes from the platform CSPRNG.
| Name | Type | Req | Description |
|---|---|---|---|
| capitalize | boolean | – | – |
| count | integer | – | – |
| digit | boolean | – | – |
| digits | boolean | – | – |
| excludeAmbiguous | boolean | – | – |
| length | integer | – | – |
| lowercase | boolean | – | – |
| separator | string | – | – |
| style | string | – | – |
| symbols | boolean | – | – |
| uppercase | boolean | – | – |
| words | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bits | number | yes | – |
| label | string | yes | – |
| score | integer | yes | – |
| values | array | yes | – |
No examples provided.
generate_qr_code Generate a QR code ~115
Build a static QR code for text, a URL, Wi-Fi, or a vCard. Returns the payload, an SVG string, and a PNG as base64.
| Name | Type | Req | Description |
|---|---|---|---|
| dark | string | – | – |
| ecc | string | – | – |
| light | string | – | – |
| margin | integer | – | – |
| size | integer | – | – |
| text | string | – | – |
| type | string | – | – |
| url | string | – | – |
| vcard | object | – | – |
| wifi | object | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| payload | string | yes | – |
| pngBase64 | string | yes | – |
| svg | string | yes | – |
No examples provided.
generate_resume Generate a resume PDF ~71
Build a resume PDF from profile, experience, education, and skills. A name plus at least one experience, education, or skills entry is required. Choose the clean, modern, or compact template. Returns the A4 PDF as base64.
| Name | Type | Req | Description |
|---|---|---|---|
| resume | object | yes | – |
| template | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| data | string | yes | Resume PDF as base64. |
| pageCount | integer | yes | – |
No examples provided.
generate_totp Generate a TOTP/HOTP one-time code ~117
Compute RFC 4226/6238 one-time passcodes from a base32 secret. Supports 6/8 digits, SHA1/SHA256/SHA512, and custom periods.
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | – | – |
| at | integer | – | Unix time in milliseconds; defaults to now |
| counter | integer | – | HOTP counter |
| digits | – | – | – |
| mode | string | – | – |
| period | integer | – | TOTP period in seconds |
| secret | string | yes | Base32 TOTP/HOTP secret |
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | yes | – |
| code | string | yes | – |
| digits | integer | yes | – |
| mode | string | yes | – |
| period | integer | yes | – |
| secondsRemaining | – | yes | – |
No examples provided.
generate_uuid Generate or inspect a UUID ~78
Generate UUID version 4 or version 7 from cryptographic randomness, up to 10,000 at once, or inspect the version, variant, and v7 timestamp.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | – |
| count | integer | – | – |
| value | string | – | UUID to inspect when action is inspect. |
| version | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| ids | array | yes | – |
| timestamp | string | yes | – |
| variant | string | yes | – |
| version | – | yes | – |
No examples provided.
hash_data Hash text or bytes ~119
Compute MD5, SHA-1, SHA-256, and SHA-512 for UTF-8 text or base64 bytes. Pass hmacKey for HMAC and expected to see which digest matches.
| Name | Type | Req | Description |
|---|---|---|---|
| base64 | string | – | Raw bytes as standard base64. |
| expected | string | – | Hex or base64 digest to compare. |
| hmacKey | string | – | UTF-8 HMAC key. Omit it for a plain digest. |
| text | string | – | UTF-8 text to hash. Use this or base64. |
| Name | Type | Req | Description |
|---|---|---|---|
| hashes | array | yes | – |
| hmac | boolean | yes | – |
| matches | array | yes | – |
No examples provided.
hash_password Hash or verify a password ~184
Hash a password with bcrypt or argon2id, or verify a hash. Returns an htpasswd line when a username is set. The password is not stored or logged. The page in the browser never sends the password; this call only hashes the arguments you send.
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | – | – |
| cost | integer | – | Bcrypt cost factor, from 4 to 12. |
| hash | string | – | Existing bcrypt or argon2id hash. When set, the password is verified instead of hashed. |
| iterations | integer | – | – |
| memory | integer | – | Argon2id memory in KiB. |
| parallelism | integer | – | – |
| password | string | yes | Password to hash or verify. It is used only for this call and is not stored. |
| username | string | – | Optional htpasswd username. A colon is not allowed. |
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | yes | – |
| hash | string | yes | – |
| htpasswd | string | yes | – |
| verified | boolean|null | yes | – |
No examples provided.
images_to_pdf Build a PDF from images ~92
Turn images, sent as base64 or public URLs in order, into one PDF. JPEG and PNG are embedded directly. Other formats are converted to PNG first. Page size is A4, Letter, or fit. Private addresses are refused. Returns the PDF as base64.
| Name | Type | Req | Description |
|---|---|---|---|
| images | array | yes | – |
| margin | number | – | – |
| orientation | string | – | – |
| page | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| data | string | yes | PDF bytes as base64. |
| pageCount | integer | yes | – |
No examples provided.
inspect_meta_tags Inspect meta tags ~60
Fetch one public HTML page and report title, description, canonical, Open Graph, Twitter, and JSON-LD. Use this to see what a live URL advertises.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | A public HTML page. Only that URL is fetched. |
| Name | Type | Req | Description |
|---|---|---|---|
| canonical | string | yes | – |
| checks | array | yes | – |
| description | string | yes | – |
| finalUrl | string | yes | – |
| icons | array | yes | – |
| jsonLdTypes | array | yes | – |
| lang | string | yes | – |
| og | object | yes | – |
| redirects | array | yes | – |
| robots | string | yes | – |
| status | number | yes | – |
| themeColor | string | yes | – |
| title | string | yes | – |
| object | yes | – | |
| viewport | string | yes | – |
No examples provided.
list_og_templates List Open Graph templates ~38
List Open Graph card templates with ids, names, categories, defaults, color presets, and field schemas.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| templates | array | yes | – |
No examples provided.
lookup_dns Look up DNS records ~106
Query A, AAAA, MX, TXT, CNAME, and CAA for a public hostname over DNS-over-HTTPS, and parse SPF and DMARC. Private names are refused. The resolver is Cloudflare or Google.
| Name | Type | Req | Description |
|---|---|---|---|
| boolean | – | Also fetch the _dmarc TXT record and parse SPF. | |
| name | string | yes | Public hostname, such as example.com. Private names are refused. |
| resolver | string | – | – |
| types | array | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| dmarc | – | yes | – |
| name | string | yes | – |
| queries | array | yes | – |
| records | array | yes | – |
| resolver | string | yes | – |
| spf | – | yes | – |
No examples provided.
make_collage Make a photo collage ~143
Arrange up to 9 photos into a collage layout (duo, trio, focus, quad, six, nine) with a gap and background color, and get back a square PNG.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | – |
| gap | integer | – | Gap between cells in pixels. |
| images | array | yes | Photos as base64, data URIs, or public URLs. Private addresses are refused. 10 MB cap each. |
| layout | string | – | Layout id: duo, duo-stack, trio, focus, quad, six, nine. Unknown ids fall back to quad. |
| width | integer | – | Output width in pixels; the collage is square. |
| Name | Type | Req | Description |
|---|---|---|---|
| cells | integer | yes | Cells in the layout; cells beyond the image count stay background-colored. |
| height | integer | yes | – |
| mimeType | string | yes | – |
| png | string | yes | PNG bytes, base64 encoded. |
| width | integer | yes | – |
No examples provided.
merge_pdf Merge PDF files ~56
Combine PDF files. Each file is base64 or a public URL, and can keep a page range such as 1-3,5. Private addresses are refused. Returns one PDF as base64.
| Name | Type | Req | Description |
|---|---|---|---|
| files | array | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| data | string | yes | Merged PDF as base64. |
| pageCount | integer | yes | – |
No examples provided.
minify_code Minify JavaScript, CSS, or HTML ~84
Minify source code with Terser (JS), csso (CSS), or a structural HTML pass and report before/after byte counts.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
| cssLevel | – | – | – |
| htmlAggressive | boolean | – | – |
| jsCompress | boolean | – | – |
| jsMangle | boolean | – | – |
| language | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| afterBytes | integer | yes | – |
| beforeBytes | integer | yes | – |
| code | string | yes | – |
| savedBytes | integer | yes | – |
| savedPct | number | yes | – |
No examples provided.
optimize_svg Optimize an SVG ~117
Minify an SVG with SVGO. Send markup or a file as base64 or a public URL. Private addresses are refused and the file is capped at 10 MB. The viewBox is kept unless removeViewBox is true. Returns the optimized markup and the byte counts.
| Name | Type | Req | Description |
|---|---|---|---|
| file | object | – | An SVG file. Provide svg or file. |
| precision | integer | – | – |
| removeDimensions | boolean | – | – |
| removeViewBox | boolean | – | – |
| svg | string | – | SVG markup. Provide svg or file. |
| Name | Type | Req | Description |
|---|---|---|---|
| afterBytes | integer | yes | – |
| beforeBytes | integer | yes | – |
| savedBytes | integer | yes | – |
| savedPercent | number | yes | – |
| svg | string | yes | – |
No examples provided.
organize_pdf Organize PDF pages ~142
Reorder, rotate, or drop PDF pages. Each entry names a 1-based source page and a rotation of 0, 90, 180, or 270. The same page may be listed twice. Send base64 or a public URL. Private addresses are refused.
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | – | PDF bytes as base64 or a data URI. Decoded size is capped at 10 MB. Provide data or url. |
| filename | string | – | – |
| mimeType | string | – | – |
| pages | array | yes | – |
| url | string | – | Public URL of a PDF. Private and local addresses are refused. Provide data or url. |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| data | string | yes | Organized PDF as base64. |
| pageCount | integer | yes | – |
No examples provided.
protect_pdf Protect or unlock a PDF ~199
Protect a PDF with AES-256, or unlock one when the password is known. action is protect or unlock. password is the user password. ownerPassword is optional. permissions cover printing, copying, modifying, annotating, filling forms, accessibility, and assembly. Send base64 or a public URL. Private addresses are refused.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | – |
| data | string | – | PDF bytes as base64 or a data URI. Decoded size is capped at 10 MB. Provide data or url. |
| filename | string | – | – |
| mimeType | string | – | – |
| ownerPassword | string | – | Owner password. Blank uses the user password. |
| password | string | – | User password. Required to protect or unlock. Unlock only works when this is the known password. |
| permissions | object | – | – |
| url | string | – | Public URL of a PDF. Private and local addresses are refused. Provide data or url. |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| data | string | yes | PDF bytes as base64. |
| encrypted | boolean | yes | – |
No examples provided.
query_jsonpath Run a JSONPath query ~91
Evaluate a JSONPath Plus query against a JSON document and return the matches with their paths. A number that does not fit in a JavaScript number is returned as its original digits, with a precision warning.
| Name | Type | Req | Description |
|---|---|---|---|
| json | string | yes | JSON document text |
| limit | integer | – | Maximum matches to return |
| query | string | yes | JSONPath query, e.g. $.store.book[*].author |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| matches | array | yes | – |
| truncated | boolean | yes | – |
| warning | string | yes | – |
No examples provided.
read_barcode Read a QR code or barcode ~74
Read QR codes and barcodes from an image. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns each code's text and format. An image with no code returns an empty list.
| Name | Type | Req | Description |
|---|---|---|---|
| file | object | yes | The image. Provide url or data. |
| Name | Type | Req | Description |
|---|---|---|---|
| codes | array | yes | – |
| count | integer | yes | – |
No examples provided.
read_exif Read or strip photo metadata ~129
Read EXIF tags, including GPS, or strip them. action is read or strip. scope is all or gps. gps-only removal keeps the other JPEG tags. Other formats are re-encoded, which drops every tag. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | – |
| file | object | yes | The photo. Provide url or data. |
| scope | string | – | Used when action is strip. gps removes the GPS block from a JPEG. all re-encodes and drops every tag. |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| camera | string | yes | – |
| data | string | yes | Cleaned image as base64. Empty when action is read. |
| filename | string | yes | – |
| gps | – | yes | – |
| height | integer | yes | – |
| mime | string | yes | – |
| note | string | yes | – |
| stripped | string | yes | – |
| tags | array | yes | – |
| when | string | yes | – |
| width | integer | yes | – |
No examples provided.
read_image_text Read text from an image ~121
Extract text from an image with Tesseract. language defaults to eng. Other codes in the list are fetched when first used. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the text and a confidence from 0 to 100. An image with no text returns an empty string.
| Name | Type | Req | Description |
|---|---|---|---|
| file | object | yes | The image. Provide url or data. |
| language | string | – | A Tesseract language code such as eng, spa, fra, deu, or jpn. |
| Name | Type | Req | Description |
|---|---|---|---|
| confidence | number | yes | – |
| language | string | yes | – |
| text | string | yes | – |
No examples provided.
remove_background Remove a solid image background ~173
Remove a solid or near-solid background by flood-filling from the border. color is an optional #rrggbb. The portrait model runs in the browser, not in this handler: MODNet is Apache-2.0, RMBG-1.4 is non-commercial, and the ONNX runtime is too large for the serverless function. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns a PNG as base64.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | Background color as #rgb or #rrggbb. Blank samples the corners. |
| feather | boolean | – | – |
| file | object | yes | The image. Provide url or data. |
| tolerance | number | – | How far a border pixel may be from the background color, in RGB distance. |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| data | string | yes | PNG with transparency as base64. |
| filename | string | yes | – |
| height | integer | yes | – |
| method | string | yes | – |
| mime | string | yes | – |
| note | string | yes | – |
| width | integer | yes | – |
No examples provided.
render_pdf_pages Render PDF pages ~212
Render PDF pages to PNG or JPEG. DPI is 72 to 216. A page range such as 1-3,5 is optional. At most 24 pages and 25 MB of images. Send base64 or a public URL. Private addresses are refused. Returns image base64 and a ZIP when there is more than one page.
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | – | PDF bytes as base64 or a data URI. Decoded size is capped at 10 MB. Provide data or url. |
| dpi | integer | – | – |
| filename | string | – | – |
| format | string | – | – |
| mimeType | string | – | – |
| quality | integer | – | JPEG quality from 1 to 100. Ignored for PNG. |
| range | string | – | Pages to render, such as 1-3,5. Blank renders every page, up to 24. |
| url | string | – | Public URL of a PDF. Private and local addresses are refused. Provide data or url. |
| Name | Type | Req | Description |
|---|---|---|---|
| images | array | yes | – |
| pageCount | integer | yes | – |
| zip | string|null | yes | ZIP of the images when there is more than one, otherwise null. |
No examples provided.
resize_image Resize an image ~108
Resize an image by pixels or percent. Fit is contain, cover, or stretch. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64.
| Name | Type | Req | Description |
|---|---|---|---|
| file | object | yes | The image. Provide url or data. |
| fit | string | – | – |
| height | – | – | – |
| lockAspect | boolean | – | – |
| mode | string | – | – |
| percent | number | – | – |
| width | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| data | string | yes | Resized image as base64. |
| extension | string | yes | – |
| filename | string | yes | – |
| height | integer | yes | – |
| mime | string | yes | – |
| width | integer | yes | – |
No examples provided.
resize_social_image Resize an image to social media dimensions ~157
Crop and resize an image to an exact social media preset: instagram-post (1080x1080), instagram-portrait (1080x1350), instagram-story (1080x1920), youtube-thumbnail (1280x720), x-post (1200x675), x-header (1500x500), linkedin-post (1200x627), or facebook-post (1200x630). The cover crop keeps the center subject. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64 PNG.
| Name | Type | Req | Description |
|---|---|---|---|
| file | object | yes | The image. Provide url or data. |
| preset | string | yes | Social platform preset with exact pixel dimensions. |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| data | string | yes | Resized image as base64 PNG. |
| height | integer | yes | – |
| width | integer | yes | – |
No examples provided.
score_ai_seo Score a page for AI search ~75
Fetch a public page plus its robots.txt, sitemap, and llms.txt, then score how ready it is for AI search crawlers. Use this when you have a live URL.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | A public page. The check also reads robots.txt, sitemap.xml, and llms.txt on that origin. |
| Name | Type | Req | Description |
|---|---|---|---|
| checks | array | yes | – |
| finalUrl | string | yes | – |
| score | number | yes | – |
| status | number | yes | – |
No examples provided.
sign_pdf Sign a PDF with a PNG signature ~99
Stamp a PNG signature image onto one or more PDF pages at given positions (fractions of the page, x and y measured from the top-left, width as a fraction of page width). The signature keeps its aspect ratio. Returns the signed PDF as base64.
| Name | Type | Req | Description |
|---|---|---|---|
| file | object | yes | The PDF to sign. |
| placements | array | yes | – |
| signature | object | yes | The signature as a PNG image, base64 or a public URL. |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | – |
| data | string | yes | Signed PDF as base64. |
| pageCount | integer | yes | – |
No examples provided.
split_pdf Split a PDF ~172
Extract a page range into one PDF, or split into single pages or chunks of N. Send base64 or a public URL. Private addresses are refused. Returns PDF base64 and a ZIP when there are several files.
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | – | PDF bytes as base64 or a data URI. Decoded size is capped at 10 MB. Provide data or url. |
| every | integer | – | Used when mode is chunks. |
| filename | string | – | – |
| mimeType | string | – | – |
| mode | string | – | – |
| name | string | – | – |
| range | string | – | Pages to keep, such as 1-3,5. Blank keeps every page. |
| url | string | – | Public URL of a PDF. Private and local addresses are refused. Provide data or url. |
| Name | Type | Req | Description |
|---|---|---|---|
| files | array | yes | – |
| pageCount | integer | yes | – |
| zip | string|null | yes | ZIP of the PDFs when there is more than one, otherwise null. |
No examples provided.
test_regex Test a JavaScript regular expression ~83
Run a JavaScript regular expression against a sample and return every match, capture group, a short explanation, and an optional replacement.
| Name | Type | Req | Description |
|---|---|---|---|
| flags | string | – | – |
| pattern | string | yes | JavaScript regular expression body, without slashes. |
| replacement | string | – | When set, the sample is replaced and returned. |
| text | string | yes | Sample to search. |
| Name | Type | Req | Description |
|---|---|---|---|
| explanation | array | yes | – |
| matches | array | yes | – |
| replacement | string|null | yes | – |
| truncated | boolean | yes | – |
No examples provided.
trim_audio Trim a WAV audio file ~118
Trim a WAV audio file to a time range with optional fade in and out, returning a 16-bit PCM WAV as base64. Only WAV is accepted; the web UI handles MP3/OGG/M4A.
| Name | Type | Req | Description |
|---|---|---|---|
| endSec | number | yes | Trim end in seconds, after startSec. |
| fadeInSec | number | – | Linear fade-in length in seconds. |
| fadeOutSec | number | – | Linear fade-out length in seconds. |
| file | object | yes | – |
| startSec | number | yes | Trim start in seconds. |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | integer | yes | WAV file size in bytes. |
| data | string | yes | Trimmed audio as a 16-bit PCM WAV, base64. |
| durationSec | number | yes | Duration of the trimmed audio in seconds. |
| sampleRate | integer | yes | Sample rate in Hz. |
No examples provided.
url_codec Encode, decode, or parse a URL ~69
Percent-encode or decode text, or parse a URL into its host, path, hash, and query parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | – |
| mode | string | – | – |
| plusAsSpace | boolean | – | When decoding, treat + as a space. |
| value | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| hash | string | yes | – |
| hostname | string | yes | – |
| params | array | yes | – |
| pathname | string | yes | – |
| port | string | yes | – |
| protocol | string | yes | – |
| query | string | yes | – |
| username | string | yes | – |
| value | string | yes | – |
No examples provided.
validate_json_schema Infer or validate JSON Schema ~72
Infer a JSON Schema from a sample, or validate JSON against a schema. Returns error paths plus TypeScript and Zod generated from the sample.
| Name | Type | Req | Description |
|---|---|---|---|
| json | string | yes | JSON document to infer from or validate. |
| schema | string | – | JSON Schema. Omit it to infer a schema from the document. |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | array | yes | – |
| schema | string | yes | – |
| typescript | string | yes | – |
| valid | boolean | yes | – |
| zod | string | yes | – |
No examples provided.
validate_sitemap Validate or generate a sitemap ~119
Validate sitemap XML or a public sitemap URL, including a sitemap index and a sample of HTTP statuses. Or generate a urlset from a list of URLs. Private addresses are refused and responses are size-capped.
| Name | Type | Req | Description |
|---|---|---|---|
| probe | boolean | – | Request a sample of locations and report HTTP status. |
| url | string | – | Public sitemap URL. Private addresses are refused. |
| urls | array | – | URLs to place in a generated sitemap. When set, url and xml are ignored. |
| xml | string | – | Sitemap XML. Use this or url. |
| Name | Type | Req | Description |
|---|---|---|---|
| issues | array | yes | – |
| kind | string | yes | – |
| probes | array | yes | – |
| sitemapCount | number | yes | – |
| sitemaps | array | yes | – |
| source | string | yes | – |
| urlCount | number | yes | – |
| urls | array | yes | – |
| xml | string | yes | – |
No examples provided.
validate_websocket_url Validate a WebSocket URL ~50
Validate and parse a ws:// or wss:// URL into its components, and optionally decode a WebSocket close code.
| Name | Type | Req | Description |
|---|---|---|---|
| explainCloseCode | integer | – | – |
| url | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| closeCode | string | – | – |
| error | string | – | – |
| host | string | – | – |
| path | string | – | – |
| port | integer | – | – |
| protocol | string | – | – |
| secure | boolean | – | – |
| valid | boolean | yes | – |
No examples provided.
zip_files Zip files or unzip an archive ~70
Create a ZIP archive from files or list and extract the contents of a ZIP archive. Everything is handled in memory; no files are stored.
| Name | Type | Req | Description |
|---|---|---|---|
| archive | object | – | Archive to extract (unzip mode). |
| files | array | – | Files to zip (zip mode). |
| mode | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| fileCount | integer | yes | – |
| files | array | – | Extracted files (unzip mode). |
| mode | string | yes | – |
| totalBytes | integer | yes | – |
| zip | string | – | Base64 ZIP bytes (zip mode). |
No examples provided.
How do I install the Benchline MCP server?
Benchline is a hosted endpoint at https://benchline.fabwaseem.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · benchline.fabwaseem.com
claude mcp add --transport http fabwaseem-benchline 'https://benchline.fabwaseem.com/mcp'
What is the Benchline MCP server?
Benchline is an MCP server listed in the public MCP registry as io.github.fabwaseem/benchline. Open-source developer, PDF, image, SEO and security tools over a stateless HTTP MCP server. No key. This page covers its hosted endpoint (https://benchline.fabwaseem.com/mcp).
What tools does the Benchline MCP server expose?
Benchline exposes 82 tools: generate_llms_txt, score_ai_seo, build_open_graph, list_og_templates, decode_jwt, and 77 more. Their descriptions and schemas cost roughly 8,833 tokens of context every time the server is loaded.
Does the Benchline MCP server require authentication?
Its publisher declares no required credentials for Benchline. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.
Is the Benchline MCP server still maintained?
Benchline is still listed in the MCP registry, though our most recent checks did not reach this channel. We last reached this channel on 3 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.