← WebMCP Directory

Tool tree

athousandtools.in

Productivity & BusinessTools verified
Website
73 free PDF and image tools that run in your browser - merge, compress, convert, sign, OCR and protect. No uploads, no account, no watermarks, no daily limits. The private alternative to iLovePDF…
Explore capabilities

    page: Every page

    athousandtools_list_toolsAction

    List the PDF and image operations this site can perform, with the id to pass to athousandtools_run. Start here. Optionally filter by category or a search term.

    View tool JSON
    {
      "name": "athousandtools_list_tools",
      "kind": "act",
      "impl": "imperative",
      "description": "List the PDF and image operations this site can perform, with the id to pass to athousandtools_run. Start here. Optionally filter by category or a search term.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "Organize",
              "Optimize",
              "Convert",
              "Edit",
              "Security",
              "Image"
            ]
          },
          "query": {
            "type": "string",
            "description": "Free-text filter over titles and descriptions."
          }
        },
        "required": []
      },
      "page": "/"
    }
    athousandtools_describe_toolAnswer

    Describe one operation: how many input files it needs, what it accepts, and every option it takes with its default. Call this before athousandtools_run rather than guessing option names.

    View tool JSON
    {
      "name": "athousandtools_describe_tool",
      "kind": "answer",
      "impl": "imperative",
      "description": "Describe one operation: how many input files it needs, what it accepts, and every option it takes with its default. Call this before athousandtools_run rather than guessing option names.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "description": "Tool id from athousandtools_list_tools, e.g. \"pdf_to_markdown\"."
          }
        },
        "required": [
          "tool"
        ]
      },
      "page": "/"
    }
    athousandtools_attach_fileAction

    Attach a file for the operations to work on, as base64. Suitable for small inputs; for anything over a megabyte or so use athousandtools_open_file_picker instead, which takes the file without moving its bytes through this conversation.

    View tool JSON
    {
      "name": "athousandtools_attach_file",
      "kind": "act",
      "impl": "imperative",
      "description": "Attach a file for the operations to work on, as base64. Suitable for small inputs; for anything over a megabyte or so use athousandtools_open_file_picker instead, which takes the file without moving its bytes through this conversation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Filename including extension - the extension is how engines recognise the format."
          },
          "base64": {
            "type": "string",
            "description": "File contents, base64. A data: URL is also accepted."
          }
        },
        "required": [
          "name",
          "base64"
        ]
      },
      "page": "/"
    }
    athousandtools_open_file_pickerAction

    Open the browser file chooser and attach whatever is selected. This is the efficient way to hand over a real file: call it, then satisfy the file chooser with your browser-automation upload command. Resolves once files are chosen.

    View tool JSON
    {
      "name": "athousandtools_open_file_picker",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the browser file chooser and attach whatever is selected. This is the efficient way to hand over a real file: call it, then satisfy the file chooser with your browser-automation upload command. Resolves once files are chosen.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "multiple": {
            "type": "boolean",
            "description": "Allow selecting more than one file. Default true."
          }
        },
        "required": []
      },
      "page": "/"
    }
    athousandtools_list_filesAction

    List the files currently attached, with the ids that athousandtools_run takes. Pass clear:true to drop them all first.

    View tool JSON
    {
      "name": "athousandtools_list_files",
      "kind": "act",
      "impl": "imperative",
      "description": "List the files currently attached, with the ids that athousandtools_run takes. Pass clear:true to drop them all first.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "clear": {
            "type": "boolean",
            "description": "Remove every attached file. Default false."
          }
        },
        "required": []
      },
      "page": "/"
    }
    athousandtools_inspect_pdfAnswer

    Read an attached PDF without changing it: page count, page size, metadata, form fields, and whether it has extractable text or is a scan. Worth calling before choosing page ranges or deciding whether OCR is needed.

    View tool JSON
    {
      "name": "athousandtools_inspect_pdf",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read an attached PDF without changing it: page count, page size, metadata, form fields, and whether it has extractable text or is a scan. Worth calling before choosing page ranges or deciding whether OCR is needed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "description": "Which attached file. Defaults to the first one."
          }
        },
        "required": []
      },
      "page": "/"
    }
    athousandtools_runAction

    Run one operation on the attached files, in this browser. Returns a summary plus any text the operation produced; a resulting file is held in memory for athousandtools_get_result or athousandtools_save_result. Nothing is uploaded - the work happens locally, so a large document can take a while.

    View tool JSON
    {
      "name": "athousandtools_run",
      "kind": "act",
      "impl": "imperative",
      "description": "Run one operation on the attached files, in this browser. Returns a summary plus any text the operation produced; a resulting file is held in memory for athousandtools_get_result or athousandtools_save_result. Nothing is uploaded - the work happens locally, so a large document can take a while.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "description": "Tool id, e.g. \"merge\", \"compress\", \"pdf_to_markdown\"."
          },
          "options": {
            "type": "object",
            "additionalProperties": true,
            "description": "Operation options. Call athousandtools_describe_tool for the exact shape."
          },
          "text": {
            "type": "string",
            "description": "Text input, for the operations that take typed text instead of a file."
          },
          "fileIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Which attached files to use, in order. Defaults to all of them."
          }
        },
        "required": [
          "tool"
        ]
      },
      "page": "/"
    }
    athousandtools_get_resultAnswer

    Return the last result. Text results come back in full; a file comes back base64, which is expensive - prefer athousandtools_save_result unless you genuinely need the bytes in the conversation.

    View tool JSON
    {
      "name": "athousandtools_get_result",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the last result. Text results come back in full; a file comes back base64, which is expensive - prefer athousandtools_save_result unless you genuinely need the bytes in the conversation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "maxBytes": {
            "type": "number",
            "description": "Refuse a file larger than this rather than flooding the context. Default 750000."
          }
        },
        "required": []
      },
      "page": "/"
    }
    athousandtools_save_resultAction

    Download the last result through the browser, the same way the Download button does. Use this for anything of real size; the file lands wherever the browser saves downloads.

    View tool JSON
    {
      "name": "athousandtools_save_result",
      "kind": "act",
      "impl": "imperative",
      "description": "Download the last result through the browser, the same way the Download button does. Use this for anything of real size; the file lands wherever the browser saves downloads.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string",
            "description": "Override the suggested filename. Optional."
          }
        },
        "required": []
      },
      "page": "/"
    }
    athousandtools_open_toolAction

    Navigate the visible page to a tool, its directory, or the home page - for when a person is watching, or when you want to finish a job in the on-screen editor. This only changes the view; it runs nothing.

    View tool JSON
    {
      "name": "athousandtools_open_tool",
      "kind": "act",
      "impl": "imperative",
      "description": "Navigate the visible page to a tool, its directory, or the home page - for when a person is watching, or when you want to finish a job in the on-screen editor. This only changes the view; it runs nothing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "description": "A tool id, or \"all\" for the tool directory, or \"home\"."
          }
        },
        "required": [
          "tool"
        ]
      },
      "page": "/"
    }