Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2025 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Uns Mcp

    37 stars
    Jupyter Notebook
    Updated Oct 26, 2025

    Documentation

    Unstructured API MCP Server

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

    Available Tools

    ToolDescription
    list_sourcesLists available sources from the Unstructured API.
    get_source_infoGet detailed information about a specific source connector.
    create_source_connectorCreate a source connector.)
    update_source_connectorUpdate an existing source connector by params.
    delete_source_connectorDelete a source connector by source id.
    list_destinationsLists available destinations from the Unstructured API.
    get_destination_infoGet detailed info about a specific destination connector
    create_destination_connectorCreate a destination connector by params.
    update_destination_connectorUpdate an existing destination connector by destination id.
    delete_destination_connectorDelete a destination connector by destination id.
    list_workflowsLists workflows from the Unstructured API.
    get_workflow_infoGet detailed information about a specific workflow.
    create_workflowCreate a new workflow with source, destination id, etc.
    run_workflowRun a specific workflow with workflow id
    update_workflowUpdate an existing workflow by params.
    delete_workflowDelete a specific workflow by id.
    list_jobsLists jobs for a specific workflow from the Unstructured API.
    get_job_infoGet detailed information about a specific job by job id.
    cancel_jobDelete a specific job by id.
    list_workflows_with_finished_jobsLists all workflows that have any completed job, together with information about source and destination details.

    Below is a list of connectors the UNS-MCP server currently supports, please see the full list of source connectors that Unstructured platform supports here and destination list here. We are planning on adding more!

    SourceDestination
    S3S3
    AzureWeaviate
    Google DrivePinecone
    OneDriveAstraDB
    SalesforceMongoDB
    SharepointNeo4j
    Databricks Volumes
    Databricks Volumes Delta Table

    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 of credentials for the connectors we support:

    Credential NameDescription
    ANTHROPIC_API_KEYrequired to run the minimal_client to interact with our server.
    AWS_KEY, AWS_SECRETrequired to create S3 connector via uns-mcp server, see how in documentation and here
    WEAVIATE_CLOUD_API_KEYrequired to create Weaviate vector db connector, see how in documentation
    FIRECRAWL_API_KEYrequired to use Firecrawl tools in external/firecrawl.py, sign up on Firecrawl and get an API key.
    ASTRA_DB_APPLICATION_TOKEN, ASTRA_DB_API_ENDPOINTrequired to create Astradb connector via uns-mcp server, see how in documentation
    AZURE_CONNECTION_STRINGrequired option 1 to create Azure connector via `uns-mcp` server, see how in documentation
    AZURE_ACCOUNT_NAME+AZURE_ACCOUNT_KEYrequired option 2 to create Azure connector via uns-mcp server, see how in documentation
    AZURE_ACCOUNT_NAME+AZURE_SAS_TOKENrequired option 3 to create Azure connector via uns-mcp server, see how in documentation
    NEO4J_PASSWORDrequired to create Neo4j connector via uns-mcp server, see how in documentation
    MONGO_DB_CONNECTION_STRINGrequired to create Mongodb connector via uns-mcp server, see how in documentation
    GOOGLEDRIVE_SERVICE_ACCOUNT_KEYa string value. The original server account key (follow documentation) is in json file, run `base64 "

    }

    }

    }

    }

    code
    **Alternatively, Using Python Package:**

    {

    "mcpServers": {

    "UNS_MCP": {

    "command": "python",

    "args": ["-m", "uns_mcp"],

    "env": {

    "UNSTRUCTURED_API_KEY": ""

    }

    }

    }

    }

    code
    ### Using Source Code
    1. Clone the repository.
    
    2. Install dependencies:

    uv sync

    code
    3. 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.template` for the configurable environment variables.
    
    You can now run the server using one of the following methods:
    
    Using Editable Package Installation
    
    Install as an editable package:

    uvx pip install -e .

    code
    Update your Claude Desktop config:

    {

    "mcpServers": {

    "UNS_MCP": {

    "command": "uvx",

    "args": ["uns_mcp"]

    }

    }

    }

    code
    **Note**: Remember to point to the uvx executable in environment where you installed the package
    
    Using SSE Server Protocol
    
    **Note: Not supported by Claude Desktop.**
    
    For SSE protocol, you can debug more easily by decoupling the client and server:
    
    1. Start the server in one terminal:

    uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080

    # or

    make sse-server

    code
    2. 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

    code
    **Note:** To stop the services, use `Ctrl+C` on the client first, then the server.
    
    Using Stdio Server Protocol
    
    Configure Claude Desktop to use stdio:

    {

    "mcpServers": {

    "UNS_MCP": {

    "command": "ABSOLUTE/PATH/TO/.local/bin/uv",

    "args": [

    "--directory",

    "ABSOLUTE/PATH/TO/YOUR-UNS-MCP-REPO/uns_mcp",

    "run",

    "server.py"

    ]

    }

    }

    }

    code
    Alternatively, run the local client:

    uv run python minimal_client/client.py uns_mcp/server.py

    code
    ## Additional Local Client Configuration
    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.
    
    #### Debugging tools
    
    Anthropic provides `MCP Inspector` tool 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 to `tools`, you can test out the capabilities you add to the MCP server.

    mcp dev uns_mcp/server.py

    code
    If you need to log request call parameters to `UnstructuredClient`, set the environment variable `DEBUG_API_REQUESTS=false`.
    The logs are stored in a file with the format `unstructured-client-{date}.log`, which can be examined to debug request call parameters to `UnstructuredClient` functions.
    
    ## Add terminal access to minimal client
    We are going to use [@wonderwhy-er/desktop-commander](https://github.com/wonderwhy-er/DesktopCommanderMCP) to add terminal access to the minimal client. It is built on the MCP Filesystem Server. Be careful, as the client (also LLM) now **has access to private files.**
    
    Execute the following command to install the package:

    npx @wonderwhy-er/desktop-commander setup

    code
    Then start client with extra parameter:

    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

    code
    ## Using subset of tools
    If your client supports using only subset of tools here are the list of things you should be aware:
    - `update_workflow` tool has to be loaded in the context together with `create_workflow` tool, because it contains detailed description on how to create and configure custom node.
    
    ## Known issues
    - `update_workflow` - needs to have in context the configuration of the workflow it is updating either by providing it by the user or by calling `get_workflow_info` tool, as this tool doesn't work as `patch` applier, it fully replaces the workflow config.
    
    ## CHANGELOG.md
    
    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.
    
    # Troubleshooting
    - If you encounter issues with `Error: spawn  ENOENT` it means `` 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 the `command` field of your config. So for example replace `python` with `/opt/miniconda3/bin/python`

    Similar MCP

    Based on tags & features

    • MC

      Mcpmcp Server

      21
    • IM

      Imagen3 Mcp

      Rust·
      46
    • MC

      Mcgravity

      TypeScript·
      71
    • MC

      Mcp Open Library

      TypeScript·
      42

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • MC

      Mcpmcp Server

      21
    • IM

      Imagen3 Mcp

      Rust·
      46
    • MC

      Mcgravity

      TypeScript·
      71
    • MC

      Mcp Open Library

      TypeScript·
      42

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k