S3S3eidat Tools MCP
Claude skill

The S3eidat Tools skill

skills/s3eidat-tools/SKILL.md teaches an AI assistant which S3eidat tool fits which job, how to chain tools, the privacy promise, and when to send a person to the web version instead. It works together with the MCP server (npx -y s3eidat-tools-mcp): install the server first (see the main README), then the skill.

Claude Code

Personal (all projects):

mkdir -p ~/.claude/skills
cp -r skills/s3eidat-tools ~/.claude/skills/

Or for one project: copy the folder to .claude/skills/s3eidat-tools/ in that project. Without cloning the repo:

mkdir -p ~/.claude/skills/s3eidat-tools && curl -fsSL https://raw.githubusercontent.com/s3eidat/s3eidat-tools-mcp/main/skills/s3eidat-tools/SKILL.md -o ~/.claude/skills/s3eidat-tools/SKILL.md

The npm package also ships the skill: cp -r "$(npm root -g)/s3eidat-tools-mcp/skills/s3eidat-tools" ~/.claude/skills/ after npm i -g s3eidat-tools-mcp.

Claude.ai and Claude Desktop

  1. Download the folder as a zip: skills/s3eidat-tools/ must be the top folder inside the zip (cd skills && zip -r s3eidat-tools.zip s3eidat-tools).
  2. In Claude: Settings → Capabilities → Skills → Upload skill, and pick the zip.
  3. Make sure the S3eidat Tools MCP server is connected in Claude Desktop (claude.ai on the web can't reach a local server, so there the skill mainly helps Claude point people to the right web tool).

Other assistants

Most agents that read Markdown instructions can use SKILL.md as-is: add it to the agent's rules/instructions file (for example AGENTS.md, Cursor rules, or a Copilot instructions file).

The skill itself

Source: skills/s3eidat-tools/SKILL.md

--- name: s3eidat-tools description: Use the S3eidat Tools MCP server (tools named pdf_, image_, text_, json_, csv_, calc_, qr_, doc_ …) for everyday file and data chores done locally and privately — merging, splitting, compressing, rotating, watermarking, numbering, signing or filling PDFs; PDF to text or images; images to PDF; converting, resizing, cropping, compressing images, reading or stripping EXIF/GPS; word counts, case, slugs, diffs, Arabic text fixes, numbers to words; formatting or converting JSON/CSV/YAML/XML/SQL; hashes, Base64, JWT, UUIDs, regex, cron, timestamps, subnets; loan, interest, percentage, zakat, GPA, BMI, date and unit calculations, Hijri dates; prayer times and qibla; passwords and AES encryption; QR codes, barcodes; invoices, receipts, labels, calendars and CVs as PDF. Trigger whenever the user asks for one of these jobs, even without naming the tools. ---

S3eidat Tools

A local MCP server (npx -y s3eidat-tools-mcp) with about 140 small, reliable tools (plus extra tools made for AI agents) ported from https://s3eidat.github.io. Everything runs on the user's machine: files are never uploaded. Prefer these tools over writing ad-hoc scripts for the same job: they are tested against the website's own known answers, so results match.

How to call them

  • File inputs take a local path (absolute, ~/…, or relative to the server's --root) or base64. Prefer paths: they are faster and keep big files out of the conversation.
  • File outputs go to the output you pass (a file path, or a folder ending in /). Without one they go to a temp folder and the result tells you the path. Always tell the user where the file is.
  • Results are JSON with small metadata (path, bytes, page counts…). Ask for returnBase64 only when you really need the bytes in the conversation.
  • Errors come back as clear messages (isError). Fix the input and retry; don't loop on the same call.
  • If the server was started with --root, every path must be inside that folder.

Compact mode

If the server was started with --compact, you will only see s3eidat_find_tools, s3eidat_tool_info and s3eidat_run_tool. Find the tool by keywords (e.g. "merge pdf"), read its inputs with s3eidat_tool_info, then call s3eidat_run_tool with name and arguments. The tool names below are the same in both modes.

Which tool for which job

JobTool(s)
Page count, sizes, encryption, text layer?pdf_info (a good first call before other PDF work)
Combine PDFspdf_merge
Split / pull out pagespdf_split, pdf_extract_pages
Reorder, delete, rotate pagespdf_organize, pdf_rotate
Make a PDF smallerpdf_compress
Stamp text/logo, add page numberspdf_watermark, pdf_page_numbers
Read or clean PDF metadatapdf_metadata_read, pdf_metadata_write
Get the text out of a PDFpdf_to_text, or ai_pdf_to_markdown to keep headings and lists (scanned PDFs have no text: use ai_ocr)
Photos/scans → one PDFpdf_from_images
PDF pages → PNG/JPEGpdf_to_images
Put a signature image on a PDFpdf_sign_image
Fill a PDF formpdf_form_fields (see the field names first), then pdf_form_fill
Convert / resize / crop / rotate imagesimage_convert, image_resize, image_crop, image_rotate
Shrink imagesimage_compress
Watermark a photoimage_watermark
See or remove photo metadata (GPS!)image_exif_read, image_exif_strip
Favicons, placeholders, palettes, ASCII artimage_favicon_set, image_placeholder, image_palette, image_ascii_art, image_ascii_banner
SVG → PNG, images ⇄ base64/data URIsimage_svg_to_png, image_to_base64, image_from_base64
Count words, change case, slugstext_word_count, text_case, text_slugify
Clean lines, compare textstext_clean, text_diff
Arabic: tashkeel, digits, Arabizi, wrong keyboardtext_arabic, text_layout_fix
Numbers as words (EN/AR), readability, citationstext_number_to_words, text_readability, text_citation
Escape strings for code, fancy Unicode, Morse, lorem ipsumtext_escape, text_fancy, text_morse, text_lorem
Post/SMS length limitstext_social_count
JSON / CSV / YAML / XML / SQL / HTML / CSSjson_format, json_query, csv_to_json, json_to_csv, yaml_to_json, json_to_yaml, xml_format, sql_format, html_format, css_format
XPath over XML, Markdown tablesxml_query, markdown_table, markdown_table_parse
Types from JSON, curl → codejson_to_types, curl_to_code
Hashes, Base64, URLs, JWThash_compute, base64_encode, base64_decode, url_encode, url_decode, url_parse, jwt_decode
IDs, regex, cron, timestampsid_generate, id_inspect, regex_test, cron_explain, time_convert
Number bases, bytes, CSS unitsbase_convert, bytes_convert, css_units, css_clamp
Web dev bitsmeta_tags_generate, useragent_parse, gitignore_generate
Networks and permissionssubnet_calc, ip_in_range, chmod_calc, http_status
Money mathscalc_loan, calc_compound_interest, calc_percentage, calc_discount, calc_salary, calc_zakat, calc_split_bill, calc_cash_count, calc_fuel_cost
Work, study, healthcalc_hours, calc_gpa, calc_bmi, calc_sleep
Datescalc_age, calc_date_diff, calc_hijri, calc_due_date
Other mathscalc_unit_convert, calc_fraction, calc_stats, calc_equation, calc_primes, calc_roman, calc_expression
Prayer times, qibla, world clockprayer_times, qibla_direction, time_world_clock
Random picks, dice, teams, Secret Santarandom_pick, random_dice, random_teams, secret_santa_draw
Passwordspassword_generate, password_check
Encrypt / decrypt (compatible with the website)crypto_text_encrypt, crypto_text_decrypt, crypto_file_encrypt, crypto_file_decrypt
Hide a message in an imagecrypto_stego_hide, crypto_stego_reveal
QR codes and barcodesqr_generate, qr_wifi, qr_read, barcode_generate
Documents as PDFdoc_invoice, doc_receipt, doc_business_cards, doc_labels, doc_calendar, doc_resume, doc_attendance_sheet
Read a web page (uses the network)ai_web_fetch (clean markdown; respects robots.txt; no JavaScript-only pages)
Any document → markdown you can readai_html_to_markdown, ai_pdf_to_markdown, ai_docx_to_markdown, ai_xlsx_to_markdown, ai_pptx_to_markdown
Text in images or scanned PDFs (English, Arabic)ai_ocr (offline)
Fit text in a context window, split it for search/RAGai_token_count, ai_chunk_text
Near-duplicates, language, emails/phones/dates/money in textai_text_similarity, ai_detect_language, ai_extract_entities
Questions over CSV / Excel / JSON dataai_sql_query (read-only SELECT across several tables), ai_csv_profile
JSON Schemasai_json_schema_infer (from samples), ai_json_schema_validate
Make Word, Excel, PowerPoint, PDF from contentai_markdown_to_docx, ai_create_xlsx, ai_create_pptx, ai_markdown_to_pdf (Latin script only)
Charts and diagramsai_chart (simple spec or Vega-Lite → SVG/PNG), ai_diagram (A -> B: label text → SVG/PNG)
Zip, what is this file, compare images, audio/video infoai_zip, ai_file_identify, ai_image_diff, ai_media_info

Do the arithmetic with the calculator tools instead of in your head: they use the same rounding and conventions as the website the user may compare with. Random tools (random_pick, random_dice, random_teams, secret_santa_draw) use secure randomness; pass a seed only when the user wants a reproducible draw.

Chaining

Pass one result's path straight into the next tool:

  1. Scans to a small PDF: pdf_from_images → pdf_compress → pdf_page_numbers.
  2. Share photos safely: image_exif_strip → image_resize (e.g. 1600 px) → image_compress.
  3. Pull a table out of a report: pdf_to_text (pages) → reshape → json_to_csv.
  4. Sign and send: pdf_form_fields → pdf_form_fill → pdf_sign_image → pdf_compress.
  5. Wi-Fi poster: qr_wifi (PDF card) or qr_generate → pdf_from_images.
  6. Scanned contract to editable Word: ai_ocr (write .txt) → tidy into markdown → ai_markdown_to_docx.
  7. Spreadsheet to a report: ai_csv_profile → ai_sql_query → ai_chart (PNG) → ai_create_pptx with the chart image.
  8. Long document Q&A: ai_pdf_to_markdown → ai_token_count → ai_chunk_text if it doesn't fit.

Write intermediate files to a temp folder and only the final file where the user asked.

Privacy promise

Tell users plainly when it matters: the files stay on their computer, nothing is uploaded, there is no account and no tracking. Website-port tools never touch the network. Tools marked openWorldHint (for example fetching a web page) do use the network; say so before calling them.

When to send a person to the web tool instead

Every tool's description ends with its web version (https://s3eidat.github.io/<slug>/). Point the user there when the job is visual or hands-on: drawing a signature, choosing a crop by eye, arranging pages by dragging, designing a QR code's look, live previews, scanning a QR with a camera, editing a CV layout, or when they have no AI client with this server. The web tools are free and also run entirely in the browser.

Limits to know

  • Document makers (doc_*) currently write Latin-script text only; for Arabic invoices/CVs send the user to the web tool.
  • Very large files: the server rejects inputs above its --max-mb (default 200 MB). Split work into parts.
  • pdf_compress works best on scanned/image-heavy PDFs; text-only PDFs are often already small.
  • Encrypted PDFs must be unlocked first (pass password where a tool offers it).