← 返回目录
U

Unstructured API MCP Server

官方
通过 MCP 管理 Unstructured API 的数据源、目标和流程
GitHub 源仓库 ↗
★ 42 Stars 分类 · 开发工具 热门
36FMRS · D

这是 Unstructured 官方提供的、面向 Unstructured API 的 MCP 服务器,覆盖 source、destination、workflow 和 job 的完整管理,并集成了 Firecrawl 网页抓取能力,支持 stdio 与 SSE 传输,已在 Claude Desktop 中给出配置示例。README 明确说明该服务器并非积极维护、仅作参考保留,并建议需要文件解析与结构化转换的用户改用 Unstructured Transform MCP 服务器。它适合已有 Unstructured API key、需要以 MCP 方式管理连接器与工作流的用户;不适合要求长期维护支持的生产场景,同时删除类工具与 update_workflow 的全量替换行为需要谨慎对待。

可靠性
6/20
安全与权限
7/20
维护活跃度
3/20
文档质量
11/20
安装易用性
9/20
查看 FMRS 评分方法 →

这是一个面向 Unstructured API 的 MCP 服务器实现,用于管理 source(数据源)、destination(目标)和 workflow(工作流)。它提供列出、创建、更新、删除连接器的工具,以及创建工作流、运行工作流、查看和取消作业的工具,还包含 Firecrawl 网页抓取相关功能。需要注意的是,该服务器并非积极维护,仅作为参考保留;若要将文件解析并转换为结构化输出(markdown、JSON、HTML 或纯文本),官方建议改用 Unstructured Transform MCP 服务器。使用创建/更新/删除连接器的工具时,相应连接器的凭证必须在 .env 文件中定义。

工具能力

list_sources
列出 Unstructured API 中可用的数据源。
get_source_info
获取特定 source 连接器的详细信息。
create_source_connector
创建一个 source 连接器。
update_source_connector
根据参数更新已有的 source 连接器。
delete_source_connector
根据 source id 删除 source 连接器。
list_destinations
列出 Unstructured API 中可用的目标。
get_destination_info
获取特定 destination 连接器的详细信息。
create_destination_connector
根据参数创建 destination 连接器。
update_destination_connector
根据 destination id 更新已有的 destination 连接器。
delete_destination_connector
根据 destination id 删除 destination 连接器。
list_workflows
列出 Unstructured API 中的工作流。
get_workflow_info
获取特定工作流的详细信息。
create_workflow
使用 source、destination id 等创建新工作流。
run_workflow
根据 workflow id 运行特定工作流。
update_workflow
根据参数更新已有的工作流。
delete_workflow
根据 id 删除特定工作流。
list_jobs
列出特定工作流的作业。
get_job_info
根据 job id 获取特定作业的详细信息。
cancel_job
根据 id 取消特定作业。
list_workflows_with_finished_jobs
列出所有存在已完成作业的工作流,并附上 source 和 destination 的详细信息。
invoke_firecrawl_crawlhtml
启动 Firecrawl HTML 内容抓取作业。
check_crawlhtml_status
监控 Firecrawl HTML 抓取作业的状态。
cancel_crawlhtml_job
取消 Firecrawl HTML 抓取作业。
invoke_firecrawl_llmtxt
启动 Firecrawl 面向大语言模型优化的文本生成作业。
check_llmtxt_status
获取 Firecrawl LLM 文本生成作业的结果。
cancel_llmtxt_job
用于保持接口一致性,但 Firecrawl API 目前不支持取消 LLM 文本生成作业。

安装接入

前置条件:Python 3.12+、uv 环境管理工具,以及从 Unstructured 获取的 API key。推荐使用 uvx(无需额外安装)。在 claude_desktop_config.json(位于 ~/Library/Application Support/Claude/ 目录)中配置 mcpServers.UNS_MCP,command 使用 uvx,args 为 uns_mcp,并在 env 中设置 UNSTRUCTURED_API_KEY。也可改用 Python 包方式,command 为 python、args 为 ["-m", "uns_mcp"]。若使用源码方式:克隆仓库后执行 uv sync,在根目录创建 .env 并写入 UNSTRUCTURED_API_KEY,可参考 .env.template。SSE 模式可运行 uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080(或 make sse-server),并用本地客户端测试(Claude Desktop 不支持 SSE)。STDIO 模式可在 Claude Desktop 配置中指向本地 uv 可执行文件并以 server.py 启动。

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

选型与风险

适合谁

  • 需要以编程方式通过 MCP 客户端管理 Unstructured 工作流与连接器的用户
  • 已经持有 Unstructured API key 并熟悉其平台概念的团队
  • 需要将网页抓取结果接入 Unstructured 流程的用户

不适合谁

  • 需要长期维护和支持的生产环境(该服务器已不再积极维护)
  • 只需要解析和转换文件为结构化输出的用户(应改用 Unstructured Transform MCP 服务器)
  • 没有 Unstructured API key 或对应连接器凭证的用户

所需权限

  • 需要 Unstructured API key(UNSTRUCTURED_API_KEY)
  • 创建/更新/删除连接器时需要在 .env 中提供对应连接器凭证,例如 AWS_KEY、AWS_SECRET、WEAVIATE_CLOUD_API_KEY、PINECONE_API_KEY、ASTRA_DB_APPLICATION_TOKEN、AZURE_CONNECTION_STRING、NEO4J_PASSWORD、MONGO_DB_CONNECTION_STRING、GOOGLEDRIVE_SERVICE_ACCOUNT_KEY、DATABRICKS_CLIENT_ID/SECRET、ONEDRIVE 与 SHAREPOINT 的客户端凭证、SALESFORCE_CONSUMER_KEY 与 SALESFORCE_PRIVATE_KEY 等
  • 使用 Firecrawl 功能需要 FIRECRAWL_API_KEY
  • 若为最小的本地客户端添加终端访问(desktop-commander),客户端与 LLM 将获得对私有文件的访问权限

风险与副作用

  • 该服务器未积极维护,可能存在未修复的问题
  • 删除类工具会删除连接器、工作流或作业,误用可能造成数据丢失
  • update_workflow 不是增量补丁,而是完整替换工作流配置,必须先在上下文中提供现有配置(例如调用 get_workflow_info),否则可能覆盖配置
  • CONFIRM_TOOL_USE 设为 false 时可能执行昂贵工作流或删除数据
  • 在 .env 中配置多个第三方凭证会扩大凭证泄露的影响范围
  • 为最小客户端添加终端访问后,LLM 可能访问私有文件

常见排障

  1. 出现 Error: spawn <command> ENOENT 表示命令未安装或不在 PATH 中;请安装并加入 PATH,或在配置的 command 字段中使用绝对路径
  2. 需要查看请求参数时,将 DEBUG_API_REQUESTS 设为 true,日志会写入 unstructured-client-{date}.log
  3. 可使用 Anthropic 提供的 MCP Inspector 调试:运行 mcp dev uns_mcp/server.py,在左侧面板添加环境变量和 API key,然后在 tools 中测试
  4. SSE 模式停止服务时,先在客户端按 Ctrl+C,再停止服务器
  5. 本地客户端可通过 LOG_LEVEL="ERROR" 抑制 LLM 的调试输出,通过 CONFIRM_TOOL_USE='false' 关闭工具执行确认(需谨慎)
  6. 使用工具子集时,update_workflow 工具需与 create_workflow 工具一起加载

使用场景

在 Unstructured 平台中列出与管理 source 和 destination 连接器
创建、运行、更新和删除数据工作流
查看工作流作业状态并取消作业
通过 Firecrawl 抓取网页 HTML 或生成面向 LLM 的文本并上传至 S3

支持客户端

Claude Desktop完整支持