PDF Text Extractor for AI Agents
Ce que fait ce MCP
Extracts text, pages, and metadata from PDF files.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['runId'], 'properties': {'runId': {'type': 'string', 'minLength': 1, 'description': 'The ID of the Actor run to abort.'}, 'gracefully': {'type': 'boolean', 'description': 'If true, the Actor run will abort gracefully with a 30-second timeout.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['runId', 'actorId', 'status', 'storages', 'summary', 'nextStep'], 'properties': {'runId': {'type': 'string', 'description': 'Actor run ID'}, 'stats': {'type': 'object', 'properties': {'memMaxBytes': {'type': 'number'}, 'runTimeSecs': {'type': 'number'}, 'computeUnits': {'type': 'number'}}, 'description': 'Run statistics'}, 'status': {'type': 'string', 'description': 'Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED'}, 'actorId': {'type': 'string', 'description': 'Stable Apify Actor ID from the run record'}, 'summary': {'type': 'string', 'description': 'Past-tense summary of the run state'}, 'exitCode': {'type': 'number', 'description': 'Actor process exit code; populated for terminal states (especially FAILED)'}, 'nextStep': {'type': 'string', 'description': 'One primary follow-up action with identifiers interpolated'}, 'storages': {'type': 'object', 'properties': {'datasets': {'type': 'object', 'required': ['default'], 'properties': {'default': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Dataset ID'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dataset field paths in dot notation (e.g. ["metadata.url"])'}, 'itemCount': {'type': 'number'}, 'inflatedBytes': {'type': 'number', 'description': 'Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the dataset; present only for Console sessions'}}}}, 'description': 'Map of dataset alias â\x86\x92 metadata. Key "default" is always the run\'s primary dataset.', 'additionalProperties': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Dataset ID'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dataset field paths in dot notation (e.g. ["metadata.url"])'}, 'itemCount': {'type': 'number'}, 'inflatedBytes': {'type': 'number', 'description': 'Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the dataset; present only for Console sessions'}}}}, 'keyValueStores': {'type': 'object', 'required': ['default'], 'properties': {'default': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Key-value store ID'}, 'keys': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 50 key names'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'keyCount': {'type': 'number', 'description': 'Total number of keys (omitted when truncated)'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the store; present only for Console sessions'}}}}, 'description': 'Map of key-value store alias â\x86\x92 metadata. Key "default" is always the run\'s primary store.', 'additionalProperties': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Key-value store ID'}, 'keys': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 50 key names'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'keyCount': {'type': 'number', 'description': 'Total number of keys (omitted when truncated)'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the store; present only for Console sessions'}}}}}, 'description': 'Dataset and key-value store metadata, keyed by alias. "default" is always the primary entry.'}, 'actorName': {'type': 'string', 'description': '"username/actor-name"'}, 'startedAt': {'type': 'string', 'description': 'ISO timestamp when the run started'}, 'finishedAt': {'type': 'string', 'description': 'ISO timestamp when the run finished (terminal states only)'}, 'statusMessage': {'type': 'string', 'description': 'Pass-through from Apify run.statusMessage'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the run; present only for Console sessions'}}}, {'type': 'object', 'required': ['x402Version', 'accepts'], 'properties': {'error': {'type': 'string'}, 'accepts': {'type': 'array', 'items': {'type': 'object'}}, 'resource': {'type': 'object'}, 'x402Version': {'type': 'number'}}}]}
Schéma d’entrée
{'type': 'object', 'required': ['runId'], 'properties': {'runId': {'type': 'string', 'minLength': 1, 'description': 'The ID of the Actor run.'}, 'waitSecs': {'type': 'integer', 'default': 30, 'maximum': 45, 'minimum': 0, 'description': 'Maximum seconds to wait for the run to reach a terminal state (SUCCEEDED, FAILED, ABORTED, TIMED-OUT).\n0 returns immediately with the current status. Cap: 45. Default: 30.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['runId', 'actorId', 'status', 'storages', 'summary', 'nextStep'], 'properties': {'runId': {'type': 'string', 'description': 'Actor run ID'}, 'stats': {'type': 'object', 'properties': {'memMaxBytes': {'type': 'number'}, 'runTimeSecs': {'type': 'number'}, 'computeUnits': {'type': 'number'}}, 'description': 'Run statistics'}, 'status': {'type': 'string', 'description': 'Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED'}, 'actorId': {'type': 'string', 'description': 'Stable Apify Actor ID from the run record'}, 'summary': {'type': 'string', 'description': 'Past-tense summary of the run state'}, 'exitCode': {'type': 'number', 'description': 'Actor process exit code; populated for terminal states (especially FAILED)'}, 'nextStep': {'type': 'string', 'description': 'One primary follow-up action with identifiers interpolated'}, 'storages': {'type': 'object', 'properties': {'datasets': {'type': 'object', 'required': ['default'], 'properties': {'default': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Dataset ID'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dataset field paths in dot notation (e.g. ["metadata.url"])'}, 'itemCount': {'type': 'number'}, 'inflatedBytes': {'type': 'number', 'description': 'Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the dataset; present only for Console sessions'}}}}, 'description': 'Map of dataset alias â\x86\x92 metadata. Key "default" is always the run\'s primary dataset.', 'additionalProperties': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Dataset ID'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dataset field paths in dot notation (e.g. ["metadata.url"])'}, 'itemCount': {'type': 'number'}, 'inflatedBytes': {'type': 'number', 'description': 'Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the dataset; present only for Console sessions'}}}}, 'keyValueStores': {'type': 'object', 'required': ['default'], 'properties': {'default': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Key-value store ID'}, 'keys': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 50 key names'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'keyCount': {'type': 'number', 'description': 'Total number of keys (omitted when truncated)'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the store; present only for Console sessions'}}}}, 'description': 'Map of key-value store alias â\x86\x92 metadata. Key "default" is always the run\'s primary store.', 'additionalProperties': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Key-value store ID'}, 'keys': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 50 key names'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'keyCount': {'type': 'number', 'description': 'Total number of keys (omitted when truncated)'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the store; present only for Console sessions'}}}}}, 'description': 'Dataset and key-value store metadata, keyed by alias. "default" is always the primary entry.'}, 'actorName': {'type': 'string', 'description': '"username/actor-name"'}, 'startedAt': {'type': 'string', 'description': 'ISO timestamp when the run started'}, 'finishedAt': {'type': 'string', 'description': 'ISO timestamp when the run finished (terminal states only)'}, 'statusMessage': {'type': 'string', 'description': 'Pass-through from Apify run.statusMessage'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the run; present only for Console sessions'}}}, {'type': 'object', 'required': ['x402Version', 'accepts'], 'properties': {'error': {'type': 'string'}, 'accepts': {'type': 'array', 'items': {'type': 'object'}}, 'resource': {'type': 'object'}, 'x402Version': {'type': 'number'}}}]}
Schéma d’entrée
{'type': 'object', 'required': ['datasetId'], 'properties': {'desc': {'type': 'boolean', 'description': 'If true, results are returned in reverse order (newest to oldest).'}, 'omit': {'type': 'string', 'description': 'Comma-separated list of fields to exclude from results.'}, 'clean': {'type': 'boolean', 'description': 'If true, returns only non-empty items and skips hidden fields (starting with #). Shortcut for skipHidden=true and skipEmpty=true.'}, 'limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Maximum number of items to return. Default is 20.'}, 'fields': {'type': 'string', 'description': 'Comma-separated list of fields to include in results. Fields in output are sorted as specified. Use dot notation for nested objects (e.g. "metadata.url"); the server auto-flattens parent prefixes.'}, 'offset': {'type': 'number', 'description': 'Number of items to skip at the start. Default is 0.'}, 'flatten': {'type': 'string', 'description': 'Comma-separated list of fields to flatten (e.g. flatten="metadata" turns {"metadata":{"url":"x"}} into {"metadata.url":"x"}). Normally derived automatically from dot-notation in `fields`; specify only as a diagnostic override.'}, 'datasetId': {'type': 'string', 'minLength': 1, 'description': 'Dataset ID or username~dataset-name.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['datasetId', 'items', 'itemCount', 'totalItemCount', 'offset', 'limit', 'summary', 'nextStep'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Dataset items'}, 'limit': {'type': 'number', 'description': 'Limit used for pagination'}, 'offset': {'type': 'number', 'description': 'Offset used for pagination'}, 'summary': {'type': 'string', 'description': 'Summary of the result'}, 'nextStep': {'type': 'string', 'description': 'One follow-up action with tool name'}, 'datasetId': {'type': 'string', 'description': 'Dataset ID'}, 'itemCount': {'type': 'number', 'description': 'Number of items returned'}, 'totalItemCount': {'type': 'number', 'description': 'Total items in dataset'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the dataset; present only for Console sessions'}}}, {'type': 'object', 'required': ['x402Version', 'accepts'], 'properties': {'error': {'type': 'string'}, 'accepts': {'type': 'array', 'items': {'type': 'object'}}, 'resource': {'type': 'object'}, 'x402Version': {'type': 'number'}}}]}
Schéma d’entrée
{'type': 'object', 'required': ['keyValueStoreId', 'recordKey'], 'properties': {'recordKey': {'type': 'string', 'minLength': 1, 'description': 'Key of the record to retrieve.'}, 'keyValueStoreId': {'type': 'string', 'minLength': 1, 'description': 'Key-value store ID or username~store-name.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['keyValueStoreId', 'key', 'value', 'summary'], 'properties': {'key': {'type': 'string', 'description': 'Record key'}, 'value': {'description': 'The stored value (JSON, text, or binary)'}, 'summary': {'type': 'string', 'description': 'Summary of the result'}, 'contentType': {'type': 'string', 'description': 'MIME type of the stored value'}, 'keyValueStoreId': {'type': 'string', 'description': 'Key-value store ID'}}}, {'type': 'object', 'required': ['x402Version', 'accepts'], 'properties': {'error': {'type': 'string'}, 'accepts': {'type': 'array', 'items': {'type': 'object'}}, 'resource': {'type': 'object'}, 'x402Version': {'type': 'number'}}}]}
Schéma d’entrée
{'$id': 'https://apify.com/mcp/industrial_platform--pdf-text-intelligence/schema.json', 'type': 'object', 'title': 'PDF Text Intelligence input', 'required': ['urls'], 'properties': {'urls': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2048}, 'title': 'PDF URLs', 'prefill': ['https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf'], 'examples': ['https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf'], 'description': '**REQUIRED** Public HTTP/HTTPS PDF URLs to process. Up to 50 unique PDFs per run.\nExample values: ["https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"]'}, 'waitSecs': {'type': 'integer', 'default': 30, 'maximum': 45, 'minimum': 0, 'description': 'Max seconds (0â\x80\x9345, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget.'}, 'max_pages': {'type': 'integer', 'title': 'Maximum pages', 'default': 200, 'examples': [200], 'description': 'Maximum pages extracted from each PDF.\nExample values: 200'}, 'concurrency': {'type': 'integer', 'title': 'Concurrency', 'default': 5, 'examples': [5], 'description': 'Maximum number of PDFs downloaded and parsed concurrently.\nExample values: 5'}, 'max_text_chars': {'type': 'integer', 'title': 'Maximum text characters', 'default': 500000, 'examples': [500000], 'description': 'Maximum retained text characters per PDF.\nExample values: 500000'}, 'timeout_seconds': {'type': 'integer', 'title': 'Per-PDF timeout', 'default': 45, 'examples': [45], 'description': 'Maximum time allowed to download each PDF.\nExample values: 45'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['runId', 'actorId', 'status', 'storages', 'summary', 'nextStep'], 'properties': {'runId': {'type': 'string', 'description': 'Actor run ID'}, 'stats': {'type': 'object', 'properties': {'memMaxBytes': {'type': 'number'}, 'runTimeSecs': {'type': 'number'}, 'computeUnits': {'type': 'number'}}, 'description': 'Run statistics'}, 'status': {'type': 'string', 'description': 'Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED'}, 'actorId': {'type': 'string', 'description': 'Stable Apify Actor ID from the run record'}, 'summary': {'type': 'string', 'description': 'Past-tense summary of the run state'}, 'exitCode': {'type': 'number', 'description': 'Actor process exit code; populated for terminal states (especially FAILED)'}, 'nextStep': {'type': 'string', 'description': 'One primary follow-up action with identifiers interpolated'}, 'storages': {'type': 'object', 'properties': {'datasets': {'type': 'object', 'required': ['default'], 'properties': {'default': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Dataset ID'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dataset field paths in dot notation (e.g. ["metadata.url"])'}, 'itemCount': {'type': 'number'}, 'itemsSchema': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'text': {'type': 'string'}, 'pages': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'type': 'string'}, 'page_number': {'type': 'number'}, 'text_length': {'type': 'number'}}}}, 'author': {'type': 'string'}, 'status': {'type': 'string'}, 'creator': {'type': 'string'}, 'producer': {'type': 'string'}, 'final_url': {'type': 'string'}, 'fetched_at': {'type': 'string'}, 'latency_ms': {'type': 'number'}, 'page_count': {'type': 'number'}, 'http_status': {'type': 'number'}, 'text_length': {'type': 'number'}, 'content_type': {'type': 'string'}, 'creation_date': {'type': 'string'}, 'response_bytes': {'type': 'number'}, 'text_truncated': {'type': 'boolean'}, 'extracted_pages': {'type': 'number'}}, 'description': "JSON Schema for rows in the dataset at `storages.datasets.default.id` â\x80\x94 describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema."}, 'inflatedBytes': {'type': 'number', 'description': 'Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the dataset; present only for Console sessions'}}}}, 'description': 'Map of dataset alias â\x86\x92 metadata. Key "default" is always the run\'s primary dataset.', 'additionalProperties': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Dataset ID'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Dataset field paths in dot notation (e.g. ["metadata.url"])'}, 'itemCount': {'type': 'number'}, 'inflatedBytes': {'type': 'number', 'description': 'Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the dataset; present only for Console sessions'}}}}, 'keyValueStores': {'type': 'object', 'required': ['default'], 'properties': {'default': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Key-value store ID'}, 'keys': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 50 key names'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'keyCount': {'type': 'number', 'description': 'Total number of keys (omitted when truncated)'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the store; present only for Console sessions'}}}}, 'description': 'Map of key-value store alias â\x86\x92 metadata. Key "default" is always the run\'s primary store.', 'additionalProperties': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Key-value store ID'}, 'keys': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Up to 50 key names'}, 'name': {'type': 'string'}, 'title': {'type': 'string'}, 'keyCount': {'type': 'number', 'description': 'Total number of keys (omitted when truncated)'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the store; present only for Console sessions'}}}}}, 'description': 'Dataset and key-value store metadata, keyed by alias. "default" is always the primary entry.'}, 'actorName': {'type': 'string', 'description': '"username/actor-name"'}, 'startedAt': {'type': 'string', 'description': 'ISO timestamp when the run started'}, 'finishedAt': {'type': 'string', 'description': 'ISO timestamp when the run finished (terminal states only)'}, 'statusMessage': {'type': 'string', 'description': 'Pass-through from Apify run.statusMessage'}, 'apifyConsoleUrl': {'type': 'string', 'description': 'Personalized Apify Console link to the run; present only for Console sessions'}}}, {'type': 'object', 'required': ['x402Version', 'accepts'], 'properties': {'error': {'type': 'string'}, 'accepts': {'type': 'array', 'items': {'type': 'object'}}, 'resource': {'type': 'object'}, 'x402Version': {'type': 'number'}}}]}
Modifications récentes des outils
Serveurs MCP similaires
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
Dayze — Life Context
Provides authenticated personal life-context data and tools for contacts, memories, events, expenses, trips, assets, places, and …
YouSpot
Connects personal contacts, companies, notes, files, CRM records, email, Slack, LinkedIn, and calendars, with search, relationshi…
cypher-mcp
Provides named Cypher graph queries and code-orientation tools for tracing capabilities, symbols, invariants, provenance, changes…
mcp
Manages Nestr workspaces, roles, circles, tensions, governance proposals, comments, daily plans, graph relationships, agents, and…
HiveLearn
Creates and manages courses, lessons, quizzes, enrollments, learning tracks, events, certificates, resources, progress, and commu…
concordance
Provides deterministic claim verification and audit receipts, along with Bible references, commentary, geography, indexed knowled…
canton-ccpedia
Searches and explains Canton Network and Daml documentation, governance proposals, forums, code examples, APIs, releases, and eco…