The Unstructured API MCP Server acts as a bridge to the Unstructured platform, enabling users to manage data sources, destinations, workflows, and jobs through a set of specialized tools. This server makes it easy to create automated document processing pipelines between various storage systems and vector databases.
uv
for environment managementInstall the package directly:
uv pip install uns_mcp
uv sync
.env
file with your API key:
UNSTRUCTURED_API_KEY="YOUR_KEY"
Add the following to your claude_desktop_config.json
file (located in ~/Library/Application Support/Claude/
):
Using the uvx command:
{
"mcpServers": {
"UNS_MCP": {
"command": "uvx",
"args": ["uns_mcp"],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
Using the Python package:
{
"mcpServers": {
"UNS_MCP": {
"command": "python",
"args": ["-m", "uns_mcp"],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
The UNS_MCP server provides the following capabilities:
The following credentials must be defined in your .env
file to use the respective connectors:
UNSTRUCTURED_API_KEY
: Required for all operationsANTHROPIC_API_KEY
: Required for running the minimal clientAWS_KEY
, AWS_SECRET
AZURE_CONNECTION_STRING
, AZURE_ACCOUNT_NAME
+AZURE_ACCOUNT_KEY
, or AZURE_ACCOUNT_NAME
+AZURE_SAS_TOKEN
GOOGLEDRIVE_SERVICE_ACCOUNT_KEY
ONEDRIVE_CLIENT_ID
, ONEDRIVE_CLIENT_CRED
, ONEDRIVE_TENANT_ID
SALESFORCE_CONSUMER_KEY
, SALESFORCE_PRIVATE_KEY
SHAREPOINT_CLIENT_ID
, SHAREPOINT_CLIENT_CRED
, SHAREPOINT_TENANT_ID
WEAVIATE_CLOUD_API_KEY
ASTRA_DB_APPLICATION_TOKEN
, ASTRA_DB_API_ENDPOINT
NEO4J_PASSWORD
MONGO_DB_CONNECTION_STRING
DATABRICKS_CLIENT_ID
, DATABRICKS_CLIENT_SECRET
PINECONE_API_KEY
LOG_LEVEL
: Set logging level for the minimal clientCONFIRM_TOOL_USE
: Set to true to confirm execution before each tool callDEBUG_API_REQUESTS
: Set to true for detailed API request debuggingThe server includes integration with Firecrawl for web content extraction:
invoke_firecrawl_crawlhtml
to start web crawlingcheck_crawlhtml_status
cancel_crawlhtml_job
invoke_firecrawl_llmtxt
to generate LLM-optimized textcheck_llmtxt_status
Note: You'll need to set the FIRECRAWL_API_KEY
environment variable to use these features.
For debugging your MCP server, Anthropic provides an MCP Inspector tool:
mcp dev uns_mcp/server.py
You can also enable detailed logging of API request parameters by setting:
DEBUG_API_REQUESTS=true
To add terminal access to the minimal client:
Install desktop-commander:
npx @wonderwhy-er/desktop-commander setup
Start the client with the additional parameter:
uv run python minimal_client/client.py "http://127.0.0.1:8080/sse" "@wonderwhy-er/desktop-commander"
Warning: This gives the client (and LLM) access to your local files. Use with caution.
If you encounter Error: spawn <command> ENOENT
, the command is not installed or not in your PATH:
To add this MCP server to Claude Code, run this command in your terminal:
claude mcp add-json "UNS_MCP" '{"command":"uvx","args":["uns_mcp"],"env":{"UNSTRUCTURED_API_KEY":"<your-key>"}}'
See the official Claude Code MCP documentation for more details.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"UNS_MCP": {
"command": "uvx",
"args": [
"uns_mcp"
],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
2. Add this to your configuration file:
{
"mcpServers": {
"UNS_MCP": {
"command": "uvx",
"args": [
"uns_mcp"
],
"env": {
"UNSTRUCTURED_API_KEY": "<your-key>"
}
}
}
}
3. Restart Claude Desktop for the changes to take effect