Unstructured

by unstructured-io

Not rated
GitHub

About

Set up and interact with your unstructured data processing workflows in [Unstructured Platform](https://unstructured.io)

Details

Author
unstructured-io
Categories
Developer Tools, Other, Automation, File Management

Setup

Install Unstructured in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/unstructured-io/UNS-MCP

Follow the installation instructions in the repository README, then restart your MCP client.

- List available sources and destinations— Uselist_sourcesandlist_destinationsto see which connectors are configured in your Unstructured account.
- Manage source and destination connectors— Create, update, or delete connectors viacreate_source_connector,update_destination_connector, and related tools.
- Run and monitor ingestion workflows— Trigger a workflow withrun_workflow, then track its jobs usinglist_jobsandget_job_info.
- Find workflows with completed jobs— Calllist_workflows_with_finished_jobsto identify workflows that have finished processing.
- Crawl websites into your pipeline— Start a Firecrawl crawl withinvoke_firecrawl_crawlhtmland check status viacheck_crawlhtml_status.

[!NOTE] This server interacts with the Unstructured API to manage sources, destinations, and workflows. It is not actively maintained and is kept here for reference.

If you want to parse and transform files into structured output (markdown, JSON, HTML, or plain text), use theUnstructured Transform MCP serverinstead.

Unstructured Transform brings production-grade document processing to your agents as a hosted MCP server. It gives them the ability to turn 60+ file types into structured data that's ready for your applications, vector databases, and any downstream processes by parsing, enriching, chunking, and embedding files directly inside their current session.

You can start using it bysigning up here.

An MCP server implementation for interacting with the Unstructured API. This server provides tools to list sources and workflows.

Below is a list of connectors theUNS-MCPserver currently supports, please see the full list of source connectors that Unstructured platform supportshereand destination listhere. We are planning on adding more!

To use the tool that creates/updates/deletes a connector, the credentials for that specific connector must be defined in your .env file. Below is the list ofcredentialsfor the connectors we support:

Firecrawlis a web crawling API that provides two main capabilities in our MCP:
- HTML Content Retrieval: Usinginvoke_firecrawl_crawlhtmlto start crawl jobs andcheck_crawlhtml_statusto monitor them
- LLM-Optimized Text Generation: Usinginvoke_firecrawl_llmtxtto generate text andcheck_llmtxt_statusto retrieve results

- Starts with a specified URL and analyzes it to identify links
- Uses the sitemap if available; otherwise follows links found on the website
- Recursively traverses each link to discover all subpages
- Gathers content from every visited page, handling JavaScript rendering and rate limits
- Jobs can be cancelled withcancel_crawlhtml_jobif needed
- Use this if you require all the info extracted into raw HTML, Unstructured's workflow cleans it up really well :smile:

- After crawling, extracts clean, meaningful text content from the crawled pages
- Generates optimized text formats specifically formatted for large language models
- Results are automatically uploaded to the specified S3 location
- Note: LLM text generation jobs cannot be cancelled once started. Thecancel_llmtxt_jobfunction is provided for consistency but is not currently supported by the Firecrawl API.

Note: AFIRECRAWL_API_KEYenvironment variable must be set to use these functions.

This guide provides step-by-step instructions to set up and configure the UNS_MCP server using Python 3.12 and theuvtool.

- Python 3.12+
- uvfor environment management
- An API key from Unstructured. You can sign up and obtain your API key
here.

No additional installation is required when usinguvxas it handles execution. However, if you prefer to install the package directly:

For integration with Claude Desktop, add the following content to yourclaude_desktop_config.json:

Note:The file is located in the~/Library/Application Support/Claude/directory.

{ "mcpServers": { "UNS_MCP": { "command": "uvx", "args": ["uns_mcp"], "env": { "UNSTRUCTURED_API_KEY": "<your-key>" } } } }
{ "mcpServers": { "UNS_MCP": { "command": "python", "args": ["-m", "uns_mcp"], "env": { "UNSTRUCTURED_API_KEY": "<your-key>" } } } }

Set your Unstructured API key as an environment variable. Create a .env file in the root directory with the following content:

UNSTRUCTURED_API_KEY="YOUR_KEY"

Refer to.env.templatefor the configurable environment variables.

You can now run the server using one of the following methods:

{ "mcpServers": { "UNS_MCP": { "command": "uvx", "args": ["uns_mcp"] } } }

Note: Remember to point to the uvx executable in environment where you installed the package

For SSE protocol, you can debug more easily by decoupling the client and server:

uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080 # or make sse-server

Test the server using a local client in another terminal:

uv run python minimal_client/client.py "http://127.0.0.1:8080/sse" # or make sse-client

Note:To stop the services, useCtrl+Con the client first, then the server.

{ "mcpServers": { "UNS_MCP": { "command": "ABSOLUTE/PATH/TO/.local/bin/uv", "args": [ "--directory", "ABSOLUTE/PATH/TO/YOUR-UNS-MCP-REPO/uns_mcp", "run", "server.py" ] } } }
uv run python minimal_client/client.py uns_mcp/server.py

Configure the minimal client using environmental variables:

- LOG_LEVEL="ERROR": Set to suppress debug outputs from the LLM, displaying clear messages for users.
- CONFIRM_TOOL_USE='false': Disable tool use confirmation before execution.Use with caution, especially during development, as LLM may execute expensive workflows or delete data.

Anthropic providesMCP Inspectortool to debug/test your MCP server. Run the following command to spin up a debugging UI. From there, you will be able to add environment variables (pointing to your local env) on the left pane. Include your personal API key there as env var. Go totools, you can test out the capabilities you add to the MCP server.

If you need to log request call parameters toUnstructuredClient, set the environment variableDEBUG_API_REQUESTS=false. The logs are stored in a file with the formatunstructured-client-{date}.log, which can be examined to debug request call parameters toUnstructuredClientfunctions.

We are going to use@wonderwhy-er/desktop-commanderto add terminal access to the minimal client. It is built on the MCP Filesystem Server. Be careful, as the client (also LLM) nowhas access to private files.

Execute the following command to install the package:

npx @wonderwhy-er/desktop-commander setup
uv run python minimal_client/client.py "http://127.0.0.1:8080/sse" "@wonderwhy-er/desktop-commander@^0.2.11" # or make sse-client-terminal

If your client supports using only subset of tools here are the list of things you should be aware:

- update_workflowtool has to be loaded in the context together withcreate_workflowtool, because it contains detailed description on how to create and configure custom node.

- update_workflow- needs to have in context the configuration of the workflow it is updating either by providing it by the user or by callingget_workflow_infotool, as this tool doesn't work aspatchapplier, it fully replaces the workflow config.

Any new developed features/fixes/enhancements will be added to CHANGELOG.md. 0.x.x-dev pre-release format is preferred before we bump to a stable version.

- If you encounter issues withError: spawn <command> ENOENTit means<command>is not installed or visible in your PATH:

- Make sure to install it and add it to your PATH.
- or provide absolute path to the command in thecommandfield of your config. So for example replacepythonwith/opt/miniconda3/bin/python

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Interact with the Unstructured API to manage data sources, destinations, workflows, and jobs.

Automated document processing and extraction

Agentic Document Parsing and Extraction (ADP)

ADP automatically classifies overseas invoices, domestic vouchers, procurement contracts, logistics documents, financial statements and trading contracts, and accurately extracts key fields. It also supports table parsing, content verification and multilingual recognition. Requiring no template setup, data labeling or ongoing rule maintenance, it efficiently handles high-volume document processing tasks.

Connect to your CISO Adapt workspace to search, analyse, export, and manage risks and policies with natural language

M&A due diligence with 14 MCP tools for interactive chat — citation verification, cross-contract search, entity resolution, and sandboxed Excel/Word document generation across 9 specialist agent domains.

A read-only MCP server by CData that allows LLMs to query live Dropbox data. Requires the CData JDBC Driver for Dropbox.

Manage multiple Fireproof JSON document databases with cloud sync capabilities.

Gives AI agents access to Formester form submissions - read, search, update, and extract content from file attachments.

GDPR compliance automation — data mapping, DPIA generation, Article 30 records, breach notification workflows by MEOK AI Labs

international financial reporting engine for Agents and REST api users journal entries, statement generation, audit trail with workings, financial reporting automation

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.