# Benchline > A quiet bench for exact work. Local developer tools, in the browser. Canonical site: https://tools.fabwaseem.com MCP endpoint: https://tools.fabwaseem.com/mcp OpenAPI: https://tools.fabwaseem.com/openapi.json Connect instructions: https://tools.fabwaseem.com/ai ## AI search - [llms.txt generator](https://tools.fabwaseem.com/t/llms-txt-generator): Read a public sitemap and write an llms.txt index, plus an optional llms-full.txt. - [AI SEO checker](https://tools.fabwaseem.com/t/ai-seo-checker): Score crawler access, llms.txt, structured data, and the on-page signals AI search uses. - [robots.txt checker](https://tools.fabwaseem.com/t/robots-txt-checker): Read allow and disallow rules, sitemap links, and the mistakes that make a robots.txt file lie. ## Social previews - [OG image generator](https://tools.fabwaseem.com/t/og-image-generator): Compose a 1200×630 card, watch it update, then download the PNG or copy the Next.js file. - [Meta tags inspector](https://tools.fabwaseem.com/t/meta-tags-inspector): Read title, description, canonical, robots, Open Graph, Twitter, and JSON-LD types from one public URL. ## Auth debugging - [JWT decoder](https://tools.fabwaseem.com/t/jwt-decoder): Paste a JSON Web Token, read the claims, and verify the signature in the browser. ## SEO - [JSON-LD schema generator](https://tools.fabwaseem.com/t/schema-generator): Fill a form, get valid schema.org JSON-LD for Article, FAQ, Product, Organization, and more. ## AI dev - [AI token counter](https://tools.fabwaseem.com/t/ai-token-counter): Count tokens and estimate the API cost of a prompt for GPT, Claude, and Gemini models. ## Developer - [Cron expression builder](https://tools.fabwaseem.com/t/cron-expression-builder): Build or paste a cron schedule, read it in plain English, and see the next run times. ## Next.js - [Next.js Dockerfile generator](https://tools.fabwaseem.com/t/nextjs-dockerfile-generator): Generate a production multi-stage Dockerfile for Next.js, plus .dockerignore and compose. ## Agent tools - `generate_llms_txt` — 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. HTTP: POST https://tools.fabwaseem.com/api/v1/tools/llms-txt-generator. - `score_ai_seo` — 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. HTTP: POST https://tools.fabwaseem.com/api/v1/tools/ai-seo-checker. This call fetches a public URL. - `build_open_graph` — Build the meta tags and a Next.js opengraph-image.tsx source file for a 1200 by 630 card. Use this when a page needs share tags, not when you only need to inspect a live URL. HTTP: POST https://tools.fabwaseem.com/api/v1/tools/og-image-generator. - `decode_jwt` — Decode a signed JSON Web Token into its header, payload, and registered claims. Dates are absolute ISO timestamps. The signature is not checked. HTTP: POST https://tools.fabwaseem.com/api/v1/tools/jwt-decoder. - `check_robots_txt` — 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. HTTP: POST https://tools.fabwaseem.com/api/v1/tools/robots-txt-checker. This call fetches a public URL. - `inspect_meta_tags` — 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. HTTP: POST https://tools.fabwaseem.com/api/v1/tools/meta-tags-inspector. This call fetches a public URL. - `build_json_ld` — 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. HTTP: POST https://tools.fabwaseem.com/api/v1/tools/schema-generator. - `count_tokens` — 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. HTTP: POST https://tools.fabwaseem.com/api/v1/tools/ai-token-counter. - `explain_cron` — Turn a cron expression into English, the next UTC run times, and snippets for crontab, GitHub Actions, Vercel, Kubernetes, and node-cron. HTTP: POST https://tools.fabwaseem.com/api/v1/tools/cron-expression-builder. - `build_nextjs_dockerfile` — Generate a production Dockerfile, dockerignore, compose file, and next.config snippet for a Next.js app. Defaults match a pnpm standalone image. HTTP: POST https://tools.fabwaseem.com/api/v1/tools/nextjs-dockerfile-generator. ## Optional - [Explore](https://tools.fabwaseem.com/explore): every tool, with search, category, and tag filters. - [Categories](https://tools.fabwaseem.com/categories): the category index, with hue, description, and the top tools. - [About](https://tools.fabwaseem.com/about): who built the bench and what stays in the browser. - [AI access](https://tools.fabwaseem.com/ai): Cursor, Claude, and ChatGPT setup. # Full tool notes ## Generate llms.txt MCP name: `generate_llms_txt` Page: https://tools.fabwaseem.com/t/llms-txt-generator HTTP: POST https://tools.fabwaseem.com/api/v1/tools/llms-txt-generator with a JSON body matching the tool input. 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. Generate a spec-compliant llms.txt and an optional llms-full.txt from a public sitemap, with an editable preview. This tool does not fetch. It runs on the arguments you send. ## Score a page for AI search MCP name: `score_ai_seo` Page: https://tools.fabwaseem.com/t/ai-seo-checker HTTP: POST https://tools.fabwaseem.com/api/v1/tools/ai-seo-checker with a JSON body matching the tool input. 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. Score a public URL for AI crawlers, llms.txt, sitemap, JSON-LD, metadata, headings, and answer-first content. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Build Open Graph tags MCP name: `build_open_graph` Page: https://tools.fabwaseem.com/t/og-image-generator HTTP: POST https://tools.fabwaseem.com/api/v1/tools/og-image-generator with a JSON body matching the tool input. Build the meta tags and a Next.js opengraph-image.tsx source file for a 1200 by 630 card. Use this when a page needs share tags, not when you only need to inspect a live URL. Design a 1200×630 Open Graph image in the browser. Choose a template, set type and colors, download a PNG, or copy a Next.js opengraph-image.tsx file. This tool does not fetch. It runs on the arguments you send. ## Decode a JWT MCP name: `decode_jwt` Page: https://tools.fabwaseem.com/t/jwt-decoder HTTP: POST https://tools.fabwaseem.com/api/v1/tools/jwt-decoder with a JSON body matching the tool input. Decode a signed JSON Web Token into its header, payload, and registered claims. Dates are absolute ISO timestamps. The signature is not checked. Decode a JWT and verify HS, RS, PS, ES, and EdDSA signatures in the browser. The token and keys are not uploaded. This tool does not fetch. It runs on the arguments you send. ## Check robots.txt MCP name: `check_robots_txt` Page: https://tools.fabwaseem.com/t/robots-txt-checker HTTP: POST https://tools.fabwaseem.com/api/v1/tools/robots-txt-checker with a JSON body matching the tool input. 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. Fetch a public robots.txt, list Allow and Disallow rules and sitemap links, and flag common mistakes. Private addresses are blocked. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Inspect meta tags MCP name: `inspect_meta_tags` Page: https://tools.fabwaseem.com/t/meta-tags-inspector HTTP: POST https://tools.fabwaseem.com/api/v1/tools/meta-tags-inspector with a JSON body matching the tool input. 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. Inspect a public page for title, description, canonical, robots, Open Graph, Twitter cards, and JSON-LD types. A checklist marks what social previews and AI search need. This tool fetches a public URL. The browser UI still fetches only the URL you submit; an agent call does the fetch on the server. ## Build JSON-LD MCP name: `build_json_ld` Page: https://tools.fabwaseem.com/t/schema-generator HTTP: POST https://tools.fabwaseem.com/api/v1/tools/schema-generator with a JSON body matching the tool input. 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. Free JSON-LD schema markup generator. Build Article, BlogPosting, FAQPage, HowTo, Product, Organization, Person, LocalBusiness, BreadcrumbList, SoftwareApplication, WebSite, and Event schema, then copy the script tag or a Next.js component. This tool does not fetch. It runs on the arguments you send. ## Count tokens MCP name: `count_tokens` Page: https://tools.fabwaseem.com/t/ai-token-counter HTTP: POST https://tools.fabwaseem.com/api/v1/tools/ai-token-counter with a JSON body matching the tool input. 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. Free LLM token counter and API cost calculator. Paste text to count tokens with OpenAI's tokenizers and estimate input and output cost across GPT, Claude, Gemini, and other models. This tool does not fetch. It runs on the arguments you send. ## Explain a cron expression MCP name: `explain_cron` Page: https://tools.fabwaseem.com/t/cron-expression-builder HTTP: POST https://tools.fabwaseem.com/api/v1/tools/cron-expression-builder with a JSON body matching the tool input. Turn a cron expression into English, the next UTC run times, and snippets for crontab, GitHub Actions, Vercel, Kubernetes, and node-cron. Free cron expression generator and explainer. Build a schedule visually or paste one to translate it into plain English, validate it, and preview the next 10 run times in any timezone. Supports standard 5-field cron, seconds, Quartz, and macros. This tool does not fetch. It runs on the arguments you send. ## Build a Next.js Dockerfile MCP name: `build_nextjs_dockerfile` Page: https://tools.fabwaseem.com/t/nextjs-dockerfile-generator HTTP: POST https://tools.fabwaseem.com/api/v1/tools/nextjs-dockerfile-generator with a JSON body matching the tool input. Generate a production Dockerfile, dockerignore, compose file, and next.config snippet for a Next.js app. Defaults match a pnpm standalone image. Free Next.js Dockerfile generator. Pick your package manager, Node version, standalone output, Prisma, and healthcheck, and get a small multi-stage Dockerfile with .dockerignore, docker-compose.yml, and next.config settings. This tool does not fetch. It runs on the arguments you send.