Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Benchline

REMOTE · BENCHLINE.FABWASEEM.COM

Open-source developer, PDF, image, SEO and security tools over a stateless HTTP MCP server. No key.

0 this week 18 Trust /100

Last scanned (21 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.

Trust breakdown (7 categories)

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
Transport & Reachability0
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.

Changelog

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.

Diagnostics

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
MCP tools · 82 exposed · ~8,833 tokens

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 →

Tool Tokens
aes_crypt ~98

AES-256-GCM encryption with PBKDF2-SHA256 key derivation. Encrypt returns a base64 bundle (salt, IV, ciphertext); decrypt reverses it.

NameTypeReqDescription
bundlestring–Base64 bundle from a previous encryption (decrypt mode)
iterationsinteger––
modestringyes–
passphrasestringyes–
textstring–Plaintext to encrypt (encrypt mode)
NameTypeReqDescription
bundlestring––
modestringyes–
plaintextstring––

No examples provided.

analyze_har ~73

Parse a HAR (HTTP Archive) capture and summarize it: request counts, status distribution, slowest and largest requests, top hosts, and per-request timings.

NameTypeReqDescription
harstringyesHAR file contents as JSON text
topinteger–How many slowest/largest requests and top hosts to include
NameTypeReqDescription
largestarrayyes–
slowestarrayyes–
statusGroupsobjectyes–
topHostsarrayyes–
totalBytesintegeryes–
totalRequestsintegeryes–
totalTimeMsnumberyes–
truncatedbooleanyes–

No examples provided.

base64_codec ~124

Encode UTF-8 text as Base64, or decode Base64 and data URIs. URL-safe output uses - and _ and omits padding. Decode reports the sniffed media type and whether the bytes are UTF-8 text.

NameTypeReqDescription
actionstring––
dataUriboolean––
mimestring––
textstringyesText to encode, or Base64 or a data URI to decode.
urlSafeboolean–Encode with the URL-safe alphabet and no padding. Data URIs stay on the standard alphabet.
NameTypeReqDescription
binarybooleanyes–
errorstringyes–
filenamestringyes–
mimestringyes–
okbooleanyes–
outputstringyes–

No examples provided.

build_csp ~95

Build a Content-Security-Policy from directives, or lint an existing policy. Returns the header line, a Next.js headers() snippet, and warnings for unsafe sources.

NameTypeReqDescription
blockAllMixedContentboolean––
policystring–An existing Content-Security-Policy value to lint. When set, directive fields are ignored.
sourcesobject––
upgradeInsecureRequestsboolean––
NameTypeReqDescription
checksarrayyes–
headerstringyes–
nextConfigstringyes–
policystringyes–

No examples provided.

build_json_ld ~75

Build schema.org JSON-LD for one type, plus a script tag and a list of missing fields. Use this when you already know the fields. It does not fetch a page.

NameTypeReqDescription
typestringyes–
valuesobjectyesFields for the chosen schema.org type. Repeatable fields are arrays of objects.
NameTypeReqDescription
checksarrayyes–
json–yes–
scriptstringyes–

No examples provided.

build_nextjs_dockerfile ~141

Generate a production Dockerfile, dockerignore, compose file, and next.config snippet for a Next.js app. Defaults match a pnpm standalone image.

NameTypeReqDescription
basestring––
cacheMountsboolean––
healthPathstring––
healthcheckboolean––
migrateboolean––
nodestring––
packageManagerstring––
portinteger––
prismaboolean––
publicEnvsarray––
standaloneboolean––
telemetryDisabledboolean––
turboboolean––
NameTypeReqDescription
commandsstringyes–
composestringyes–
dockerfilestringyes–
dockerignorestringyes–
estimatedSizestringyes–
imagestringyes–
nextConfigstringyes–

No examples provided.

build_open_graph ~421

Render one of the Open Graph templates as a PNG and a Next.js opengraph-image.tsx file. Pass a template id from list_og_templates, the fields that template uses, colors, a size, and optional base64 images.

NameTypeReqDescription
afterstring–After image as base64, a data URI, or a public URL.
afterValuestring––
authorstring––
avatarstring–Portrait image as base64, a data URI, or a public URL.
badgestring––
beforestring–Before image as base64, a data URI, or a public URL.
beforeValuestring––
brandstring–Brand name shown on templates that have a brand row.
captionstring––
colorsobject––
commandstring––
ctastring––
datestring––
episodestring––
eyebrowstring––
herostring–Hero image as base64, a data URI, or a public URL.
imageUrlstring–Public URL written into og:image. This does not fetch the file.
logostring–Logo image as base64, a data URI, or a public URL. Private addresses are refused. 10 MB cap.
metastring––
pricestring––
quotestring––
readTimestring––
rolestring––
sizestring––
statstring––
statLabelstring––
stepsstring–One step per line.
subtitlestring––
templatestring–Template id from list_og_templates.
timestring––
titlestring––
urlstring––
versionsstring–One version per line, as v2.3 | Note.
NameTypeReqDescription
heightnumberyes–
metaTagsstringyes–
mimeTypestringyes–
pngstringyesPNG bytes, base64 encoded.
sourcestringyes–
templatestringyes–
widthnumberyes–

No examples provided.

calculate_cidr ~144

Return the network, broadcast, host range, and host count for an IPv4 or IPv6 CIDR. Optionally test whether an address is inside it, split it, or merge it with other CIDRs.

NameTypeReqDescription
cidrstringyesIPv4 or IPv6 CIDR, such as 192.168.1.0/24 or 2001:db8::/32. A dotted mask may follow the address.
containsstring–Address to test for membership.
mergearray–Extra CIDRs to aggregate with cidr.
splitPrefixinteger–Longer prefix to split into, at most 256 networks.
NameTypeReqDescription
containsboolean|nullyes–
containsDetailstringyes–
mergedarrayyes–
splitarrayyes–
splitCountstringyes–
summaryobjectyes–

No examples provided.

calculate_emi ~100

Calculate a reducing-balance loan installment and its amortization schedule. Money is rounded half up to cents. An optional extra monthly payment reduces principal.

NameTypeReqDescription
annualRatestring|numberyesAnnual interest rate in percent, such as 10.
extraMonthlystring|number–Extra principal paid every month.
monthsintegeryesTerm in months.
principalstring|numberyesAmount borrowed, such as 100000.
NameTypeReqDescription
csvstringyes–
emistringyes–
payoffMonthsintegeryes–
schedulearrayyes–
totalIntereststringyes–
totalPaymentstringyes–
totalPrincipalstringyes–

No examples provided.

calculate_percentage ~101

Calculate percent of a value, what percent one number is of another, percent change, the reverse, an increase or decrease, and margin versus markup.

NameTypeReqDescription
astring|numberyesFirst value. For of and increase, this is the percent.
bstring|numberyesSecond value. For of and increase, this is the amount.
modestring–of, is, change, reverse, increase, decrease, or margin.
NameTypeReqDescription
formulastringyes–
partsarrayyes–
resultstringyes–
unitstringyes–

No examples provided.

calculate_programmer ~133

Evaluate integer expressions with C-like precedence (hex/octal/binary literals, bitwise ops, shifts) and report base conversions plus signed/unsigned interpretations.

NameTypeReqDescription
astring–First operand, e.g. '0xFF' or '255'
bstring–Second operand (not needed for 'not')
bitsstring–Bit width for masking and signed interpretation
expressionstring–Integer expression, e.g. '0xFF & 0x0F | (1 << 4)'
opstring–Bitwise operation (alternative to expression)
NameTypeReqDescription
binarystringyes–
bitsintegeryes–
decimalstringyes–
hexstringyes–
octalstringyes–
signedstringyes–
unsignedstringyes–

No examples provided.

check_http_headers ~68

Fetch a public URL, follow redirects, and grade HSTS, Content-Security-Policy, framing, nosniff, and Referrer-Policy. Private addresses are refused. The body is not stored.

NameTypeReqDescription
urlstringyesPublic http or https URL. Private addresses are refused.
NameTypeReqDescription
checksarrayyes–
elapsedMsnumberyes–
finalUrlstringyes–
gradestringyes–
headersarrayyes–
redirectsarrayyes–
statusnumberyes–

No examples provided.

check_robots_txt ~72

Fetch a public robots.txt and report whether the wildcard group blocks the site and whether Sitemap lines are absolute. Use this when you have a URL, not a pasted file.

NameTypeReqDescription
urlstringyesA public page or a robots.txt URL. A page URL is resolved to /robots.txt on that origin.
NameTypeReqDescription
documentobjectyes–
finalUrlstringyes–
issuesarrayyes–
statusnumberyes–
textstringyes–

No examples provided.

check_ssl ~69

Connect to a public host on port 443 and report certificate expiry, subject alternative names, protocol, and chain. Private addresses are refused. The handshake times out after 8 seconds.

NameTypeReqDescription
hoststringyesPublic hostname or https URL. Only port 443 is contacted. Private addresses are refused.
NameTypeReqDescription
authorizationErrorstringyes–
authorizedbooleanyes–
bitsnumber|nullyes–
chainarrayyes–
checksarrayyes–
commonNamestringyes–
daysRemainingnumber|nullyes–
fingerprintstringyes–
gradestringyes–
hoststringyes–
issuerstringyes–
protocolstringyes–
sansarrayyes–
serialstringyes–
subjectstringyes–
validFromstringyes–
validTostringyes–

No examples provided.

compress_image ~107

Re-encode an image at a quality from 1 to 100, optionally capping the longest edge. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64.

NameTypeReqDescription
choicestring––
fileobjectyesThe image. Provide url or data.
maxEdge––Longest edge in pixels. Omit it to keep the size.
qualitynumber––
NameTypeReqDescription
afterintegeryes–
beforeintegeryes–
bytesintegeryes–
datastringyesCompressed image as base64.
extensionstringyes–
filenamestringyes–
formatstringyes–
heightintegeryes–
labelstringyes–
mimestringyes–
qualitynumberyes–
savedBytesintegeryes–
savedPercentnumberyes–
widthintegeryes–

No examples provided.

compress_pdf ~150

Recompress embedded images in a PDF. Presets are light, medium, and strong. Send base64 or a public URL. Private addresses are refused. An optional target size tries harder. Returns the PDF and the sizes before and after.

NameTypeReqDescription
datastring–PDF bytes as base64 or a data URI. Decoded size is capped at 10 MB. Provide data or url.
filenamestring––
mimeTypestring––
presetstring––
targetBytes––Optional size ceiling in bytes, such as 102400.
urlstring–Public URL of a PDF. Private and local addresses are refused. Provide data or url.
NameTypeReqDescription
afterintegeryes–
beforeintegeryes–
datastringyesPDF bytes as base64. The original is returned when compression would grow the file.
imagesintegeryes–
keptOriginalbooleanyes–
metTargetbooleanyes–
notestringyes–
pagesintegeryes–
percentnumberyes–
recompressedintegeryes–
savedintegeryes–

No examples provided.

convert_case ~75

Convert text to camelCase, snake_case, kebab-case, CONSTANT_CASE, and AP or Chicago title case. Returns every style unless one is requested.

NameTypeReqDescription
stylestring–Return one style. Omit it to return every style.
textstringyesText to convert. Each line is converted on its own.
NameTypeReqDescription
casesarrayyes–

No examples provided.

convert_color ~89

Convert HEX, RGB, HSL, OKLCH, or CMYK into every format, name the nearest Tailwind token, and report the WCAG 2 contrast ratio against a background.

NameTypeReqDescription
backgroundstring–Background used for the WCAG contrast ratio.
colorstringyesHEX, rgb(), hsl(), oklch(), cmyk(), or a CSS color name.
NameTypeReqDescription
aaLargebooleanyes–
aaNormalbooleanyes–
aaaLargebooleanyes–
aaaNormalbooleanyes–
cmykstringyes–
contrastRationumberyes–
contrastTextstringyes–
hexstringyes–
hslstringyes–
okbooleanyes–
oklchstringyes–
rgbstringyes–
tailwindstringyes–

No examples provided.

convert_csv_json ~140

Convert CSV to JSON or JSON to CSV. Supports comma, tab, semicolon, and pipe delimiters, an optional header, type inference, and dotted flattening. Inferred numbers that do not fit in a JavaScript number keep their digits.

NameTypeReqDescription
delimiterstring–Comma, tab, semicolon, pipe, or auto. Auto is a comma when writing CSV.
directionstring––
flattenboolean–Used when converting JSON to CSV. Nested keys become dotted columns.
headerboolean––
inferTypesboolean–Used when converting CSV to JSON.
textstringyes–
NameTypeReqDescription
columnsintegeryes–
delimiterstringyes–
errorstringyes–
okbooleanyes–
outputstringyes–
rowsintegeryes–
warningstringyes–

No examples provided.

convert_curl ~45

Parse a curl command and generate equivalent JavaScript fetch, Python requests, Go, PHP, or Rust code.

NameTypeReqDescription
commandstringyes–
targetstring––
NameTypeReqDescription
bodystring––
headersarrayyes–
methodstringyes–
snippetstringyes–
urlstringyes–
warningsarrayyes–

No examples provided.

convert_currency ~87

Convert money between ISO 4217 currencies using live exchange rates from the Frankfurter API, fetched through the SSRF-safe outbound guard. Supports historical dates.

NameTypeReqDescription
amountnumber––
datestring–Historical date; omit for the latest rates.
fromstring–ISO 4217 currency code.
tostring–ISO 4217 currency code.
NameTypeReqDescription
amountnumber––
datestring––
errorstring––
fromstring––
okbooleanyes–
ratenumber––
resultnumber––
tostring––

No examples provided.

convert_data_format ~83

Convert between JSON, YAML, TOML, and XML. Auto-detects the source. Numbers that do not fit in a JavaScript number keep their digits. Errors include a line and column. TOML refuses null and a non-table root.

NameTypeReqDescription
fromstring––
textstringyesThe source document.
tostring––
NameTypeReqDescription
column–yes–
detectedstringyes–
errorstringyes–
line–yes–
okbooleanyes–
outputstringyes–

No examples provided.

convert_image ~81

Convert an image to JPEG, PNG, WebP, or AVIF. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64. HEIC is not decoded here.

NameTypeReqDescription
fileobjectyesThe image. Provide url or data.
targetstring––
NameTypeReqDescription
bytesintegeryes–
datastringyesEncoded image as base64.
extensionstringyes–
filenamestringyes–
heightintegeryes–
mimestringyes–
sourcestringyes–
widthintegeryes–

No examples provided.

convert_json_to_types ~61

Infer types from a JSON document and generate TypeScript interfaces, Zod schemas, Python Pydantic models or dataclasses, and Go structs.

NameTypeReqDescription
jsonstringyes–
rootNamestring––
targetsarray––
NameTypeReqDescription
outputsobjectyes–
warningsarrayyes–

No examples provided.

convert_markdown_html ~67

Convert GitHub-flavored Markdown to HTML, or HTML to Markdown. to is html or markdown. sanitize strips scripts from the text output. The conversion does not fetch a URL.

NameTypeReqDescription
sanitizeboolean––
textstring––
tostring––
NameTypeReqDescription
directionstringyes–
outputstringyes–

No examples provided.

convert_units ~108

Convert length, mass, volume, temperature, area, speed, time, and data size. Decimal bytes (kB, MB) and binary bytes (KiB, MiB) are separate categories.

NameTypeReqDescription
categorystringyes–
fromstringyesSource unit id, such as m, C, MB, or MiB.
precisioninteger––
tostringyesTarget unit id from the same category.
valuestring|numberyes–
NameTypeReqDescription
resultstringyes–
rowsarrayyes–

No examples provided.

convert_unix_timestamp ~153

Convert epoch seconds, milliseconds, microseconds, or nanoseconds to ISO-8601 and RFC 2822 in an IANA time zone, or convert a calendar time back to epoch.

NameTypeReqDescription
dayinteger––
hourinteger––
inputstring–Unix timestamp, ISO-8601, RFC 2822, or now. Leave it empty when year, month, and day are set.
minuteinteger––
monthinteger––
secondinteger––
timeZonestring–IANA time zone, such as UTC or America/New_York.
unitstring––
yearinteger––
NameTypeReqDescription
alternateIsoUtcstringyes–
isoLocalstringyes–
isoUtcstringyes–
millisecondsstringyes–
offsetstringyes–
relativestringyes–
rfc2822stringyes–
secondsstringyes–
timeZonestringyes–
unitstringyes–
weekdaystringyes–

No examples provided.

count_text ~43

Count words, code points, graphemes, sentences, and paragraphs, and compare the length with SEO and social limits.

NameTypeReqDescription
textstringyesText to count.
NameTypeReqDescription
charactersintegeryes–
charactersNoSpacesintegeryes–
graphemesintegeryes–
linesintegeryes–
paragraphsintegeryes–
platformsarrayyes–
readingLabelstringyes–
sentencesintegeryes–
speakingLabelstringyes–
uniqueWordsintegeryes–
wordsintegeryes–

No examples provided.

count_tokens ~106

Count tokens with the o200k or cl100k encoder and price the count against the published model table. Claude and Gemini rows are estimates, not those vendors' tokenizers.

NameTypeReqDescription
cachedRationumber––
encodingstring––
modelIdsarray–Price rows to return. Unknown ids are rejected.
outputTokensinteger––
requestsPerDaynumber––
textstringyesThe prompt or document to count.
NameTypeReqDescription
charsnumberyes–
countnumberyes–
encodingstringyes–
pricesarrayyes–
wordsnumberyes–

No examples provided.

crop_image ~151

Crop an image to a pixel box or a 0 to 1 ratio box. circle cuts a round mask. format is png, jpeg, or webp. Send base64 or a public URL. Private addresses are refused and the decoded file is capped at 10 MB. Returns the image as base64.

NameTypeReqDescription
circleboolean––
fileobjectyesThe image. Provide url or data.
formatstring––
heightnumber––
unitstring–px is source pixels. ratio is a 0 to 1 share of the source.
widthnumber––
xnumber––
ynumber––
NameTypeReqDescription
bytesintegeryes–
datastringyesCropped image as base64.
extensionstringyes–
filenamestringyes–
heightintegeryes–
mimestringyes–
widthintegeryes–

No examples provided.

date_difference ~151

Count calendar days, elapsed time, and business days between two dates. Business days skip weekends and any YYYY-MM-DD holidays you list.

NameTypeReqDescription
endDatestringyesEnd date as YYYY-MM-DD.
endTimestring–End time as HH:MM or HH:MM:SS. Defaults to midnight.
holidaysstring–Weekday holidays to exclude from business days, one YYYY-MM-DD per line.
includeEndboolean–Count the end date as well as the days between.
startDatestringyesStart date as YYYY-MM-DD.
startTimestring–Start time as HH:MM or HH:MM:SS. Defaults to midnight.
NameTypeReqDescription
businessDaysintegeryes–
countedDaysintegeryes–
daysintegeryes–
extraDaysintegeryes–
holidayDaysintegeryes–
hoursintegeryes–
minutesintegeryes–
monthsintegeryes–
secondsintegeryes–
signintegeryes–
totalDaysintegeryes–
totalHoursstringyes–
weekendDaysintegeryes–
weeksintegeryes–
yearsintegeryes–

No examples provided.

decode_jwt ~61

Decode a signed JSON Web Token into its header, payload, and registered claims. Dates are absolute ISO timestamps. The signature is not checked.

NameTypeReqDescription
tokenstringyesA signed JWT, with or without a Bearer prefix. The signature is not verified.
NameTypeReqDescription
claimsarrayyes–
errorstringyes–
headerobjectyes–
kindstringyes–
okbooleanyes–
payloadobjectyes–
signaturestringyes–

No examples provided.

diff_text ~85

Compare two texts by line, word, or character, or compare JSON so object key order does not matter. Returns an inline diff, side-by-side rows for line and JSON modes, and a unified patch.

NameTypeReqDescription
ignoreWhitespaceboolean––
leftstringyesThe original text.
modestring––
rightstringyesThe changed text.
NameTypeReqDescription
addedintegeryes–
errorstringyes–
okbooleanyes–
patchstringyes–
piecesarrayyes–
removedintegeryes–
rowsarrayyes–
unchangedbooleanyes–
unitstringyes–

No examples provided.

execute_graphql ~87

Send a GraphQL query with optional variables and headers to a public http or https endpoint on port 80 or 443 and return the response data or errors. Local, private, and internal addresses are refused.

NameTypeReqDescription
endpointstringyes–
headersobject––
querystringyes–
timeoutMsinteger––
variablesobject––
NameTypeReqDescription
data–––
durationMsnumberyes–
errorstring––
errors–––
okbooleanyes–
statusintegeryes–

No examples provided.

explain_chmod ~75

Convert an octal or symbolic file mode into octal, symbolic notation, and a chmod command, including setuid, setgid, and the sticky bit.

NameTypeReqDescription
modestringyesOctal such as 755 or 4755, or symbolic such as rwxr-xr-x.
pathstring––
NameTypeReqDescription
commandstringyes–
octalstringyes–
setgidbooleanyes–
setuidbooleanyes–
stickybooleanyes–
symbolicstringyes–

No examples provided.

explain_cron ~115

Turn a cron expression into English, the next UTC run times, and snippets for crontab, GitHub Actions, Vercel, Kubernetes, and node-cron.

NameTypeReqDescription
dialectstring––
expressionstringyesA cron expression, including @daily or @reboot.
nowstring–ISO timestamp used as the clock. Omit it to use the current time.
timeZonestring–IANA time zone used to list the next runs. Hosted schedules stay in UTC.
NameTypeReqDescription
englishstringyes–
errorstringyes–
fieldsarrayyes–
hostedNotestringyes–
runsarrayyes–
snippetsarrayyes–
validbooleanyes–

No examples provided.

extract_pdf_text ~123

Read the selectable text layer of a PDF. Returns per-page text, markdown-style headings, and an o200k token count. Does not OCR scans. Send base64 or a public URL. Private addresses are refused.

NameTypeReqDescription
datastring–PDF bytes as base64 or a data URI. Decoded size is capped at 10 MB. Provide data or url.
filenamestring––
mimeTypestring––
urlstring–Public URL of a PDF. Private and local addresses are refused. Provide data or url.
NameTypeReqDescription
emptyPagesintegeryes–
markdownstringyes–
pageCountintegeryes–
pagesarrayyes–
textstringyes–
tokensintegeryes–

No examples provided.

fetch_page_markdown ~70

Fetch a public HTML page and return the article as Markdown, plus a title, excerpt, and o200k token count. Private and local addresses are refused. The response is capped at 800 KB.

NameTypeReqDescription
urlstringyesPublic http or https URL. Private and local addresses are refused.
NameTypeReqDescription
charsintegeryes–
excerptstringyes–
markdownstringyes–
titlestringyes–
tokensintegeryes–
urlstringyes–

No examples provided.

fill_pdf_form ~136

Fill an interactive PDF form's text fields, checkboxes, dropdowns, and radios by field name, with an option to flatten the result. Pass inspectOnly to list the fields first.

NameTypeReqDescription
fileobjectyesPDF as base64, a data URI, or a public URL. Private addresses are refused. 10 MB cap.
flattenboolean–Flatten the form so fields become plain page content.
inspectOnlyboolean–List the form fields without changing anything.
valuesobject–Field name to value. Checkboxes take booleans; dropdowns and radios take one of their options.
NameTypeReqDescription
fieldsarray–Detected form fields (inspectOnly).
filledintegeryes–
mimeTypestringyes–
pageCountintegeryes–
pdfstring–Filled PDF bytes, base64 encoded.

No examples provided.

format_json ~95

Pretty-print or minify JSON. A number that does not fit in a JavaScript number keeps the digits you sent. Returns the formatted text when it is valid, or the line and column of each syntax error.

NameTypeReqDescription
indentstring––
jsonstringyesJSON text to format or validate.
minifyboolean––
sortKeysboolean–Sort object keys. Array order is kept.
NameTypeReqDescription
errorsarrayyes–
outputstringyes–
validbooleanyes–

No examples provided.

format_sql ~72

Format SQL for PostgreSQL, MySQL, BigQuery, Snowflake, and other dialects. Choose keyword case and an indent of 2 or 4 spaces.

NameTypeReqDescription
dialectstring––
indent–––
keywordCasestring––
sqlstringyesSQL to format.
NameTypeReqDescription
sqlstringyes–

No examples provided.

Install

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

# add to Claude Code
claude mcp add --transport http fabwaseem-benchline 'https://benchline.fabwaseem.com/mcp'
Common questions

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.