Skip to main content
Glama

Unstructured API MCP Server

Official

非结构化 API MCP 服务器

用于与非结构化 API 交互的 MCP 服务器实现。该服务器提供列出源和工作流的工具。

可用工具

工具描述
list_sources列出非结构化 API 中可用的来源。
get_source_info获取有关特定源连接器的详细信息。
create_source_connector创建源连接器。)
update_source_connector通过参数更新现有的源连接器。
delete_source_connector通过源 ID 删除源连接器。
list_destinations列出非结构化 API 中可用的目的地。
get_destination_info获取有关特定目标连接器的详细信息
create_destination_connector通过参数创建目标连接器。
update_destination_connector通过目标 ID 更新现有的目标连接器。
delete_destination_connector根据目标 ID 删除目标连接器。
list_workflows列出来自非结构化 API 的工作流程。
get_workflow_info获取有关特定工作流程的详细信息。
create_workflow创建具有源、目标 ID 等的新工作流。
run_workflow运行具有工作流 ID 的特定工作流
update_workflow通过参数更新现有的工作流程。
delete_workflow根据 ID 删除特定工作流。
list_jobs列出非结构化 API 中特定工作流的作业。
get_job_info通过作业 ID 获取特定作业的详细信息。
cancel_job根据 ID 删除特定作业。

以下是UNS-MCP服务器当前支持的连接器列表,请点击此处查看非结构化平台支持的源连接器完整列表,并点击此处查看目标连接器列表。我们计划添加更多连接器!

来源目的地
S3S3
Azure威维特
Google 云端硬盘松果
OneDrive阿斯特拉数据库
SalesforceMongoDB
SharePointNeo4j
Databricks 卷
Databricks 卷增量表

要使用创建/更新/删除连接器的工具,必须在 .env 文件中定义该连接器的凭据。以下是我们支持的连接器的credentials列表:

凭证名称描述
ANTHROPIC_API_KEY需要运行minimal_client来与我们的服务器交互。
AWS_KEYAWS_SECRET需要通过uns-mcp服务器创建 S3 连接器,请参阅文档此处了解如何操作
WEAVIATE_CLOUD_API_KEY需要创建 Weaviate 向量数据库连接器,请参阅文档中的方法
FIRECRAWL_API_KEY需要在external/firecrawl.py中使用 Firecrawl 工具,在Firecrawl上注册并获取 API 密钥。
ASTRA_DB_APPLICATION_TOKEN ASTRA_DB_API_ENDPOINT需要通过uns-mcp服务器创建 Astradb 连接器,请参阅文档中的方法
AZURE_CONNECTION_STRING需要选项 1 通过uns-mcp服务器创建 Azure 连接器,请参阅文档中的方法
AZURE_ACCOUNT_NAME + AZURE_ACCOUNT_KEY需要选项 2 通过uns-mcp服务器创建 Azure 连接器,请参阅文档中的方法
AZURE_ACCOUNT_NAME + AZURE_SAS_TOKEN需要选项 3 来通过uns-mcp服务器创建 Azure 连接器,请参阅文档中的方法
NEO4J_PASSWORD需要通过uns-mcp服务器创建 Neo4j 连接器,请参阅文档中的方法
MONGO_DB_CONNECTION_STRING需要通过uns-mcp服务器创建 Mongodb 连接器,请参阅文档中的方法
GOOGLEDRIVE_SERVICE_ACCOUNT_KEY字符串值。原始服务器帐户密钥(请参阅文档)位于 json 文件中,请在终端中运行base64 < /path/to/google_service_account_key.json以获取字符串值
DATABRICKS_CLIENT_IDDATABRICKS_CLIENT_SECRET需要通过uns-mcp服务器创建 Databricks 卷/增量表连接器,请参阅文档此处了解如何操作
ONEDRIVE_CLIENT_IDONEDRIVE_CLIENT_CREDONEDRIVE_TENANT_ID需要通过uns-mcp服务器创建 One Drive 连接器,请参阅文档中的方法
PINECONE_API_KEY需要通过uns-mcp服务器创建 Pinecone 矢量 DB 连接器,请参阅文档中的方法
SALESFORCE_CONSUMER_KEYSALESFORCE_PRIVATE_KEY需要通过uns-mcp服务器创建 salesforce 源连接器,请参阅文档中的方法
SHAREPOINT_CLIENT_IDSHAREPOINT_CLIENT_CREDSHAREPOINT_TENANT_ID需要通过uns-mcp服务器创建 One Drive 连接器,请参阅文档中的方法
LOG_LEVEL用于设置minimal_client的日志记录级别,例如设置为 ERROR 以获取所有内容
CONFIRM_TOOL_USE设置为 true,以便minimal_client可以在每次工具调用之前确认执行
DEBUG_API_REQUESTS设置为 true 以便uns_mcp/server.py可以输出请求参数以便更好地调试

Firecrawl 源

Firecrawl是一个 Web 爬取 API,它在我们的 MCP 中提供两项主要功能:

  1. HTML 内容检索:使用invoke_firecrawl_crawlhtml启动抓取作业并使用check_crawlhtml_status进行监控
  2. LLM 优化文本生成:使用invoke_firecrawl_llmtxt生成文本,使用check_llmtxt_status检索结果

Firecrawl 的工作原理:

Web爬取过程:

  • 从指定的 URL 开始并分析它以识别链接
  • 如果可用,则使用站点地图;否则,遵循网站上的链接
  • 递归遍历每个链接以发现所有子页面
  • 收集每个访问页面的内容,处理 JavaScript 渲染和速率限制
  • 如果需要,可以使用cancel_crawlhtml_job取消作业
  • 如果您需要将所有信息提取到原始 HTML 中,请使用此功能,Unstructured 的工作流程可以很好地清理它:微笑:

LLM 文本生成:

  • 爬取完成后,从爬取的页面中提取干净、有意义的文本内容
  • 生成专门针对大型语言模型格式化的优化文本格式
  • 结果自动上传到指定的 S3 位置
  • 注意:LLM 文本生成作业一旦启动便无法取消。cancel_llmtxt_job 函数是为了保持一致性而提供cancel_llmtxt_job ,但目前 Firecrawl API 尚不支持该函数。

注意:必须设置FIRECRAWL_API_KEY环境变量才能使用这些功能。

安装和配置

本指南提供了使用 Python 3.12 和uv工具设置和配置 UNS_MCP 服务器的分步说明。

先决条件

  • Python 3.12+
  • uv用于环境管理
  • 来自 Unstructured 的 API 密钥。您可以在此处注册并获取您的 API 密钥。

使用uv (推荐)

使用uvx时无需额外安装,因为它会处理执行。但是,如果您希望直接安装软件包:

uv pip install uns_mcp
配置 Claude 桌面

为了与 Claude Desktop 集成,请将以下内容添加到您的claude_desktop_config.json中:

**注意:**该文件位于~/Library/Application Support/Claude/目录中。

使用uvx命令:

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

或者,使用 Python 包:

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

使用源代码

  1. 克隆存储库。
  2. 安装依赖项:
    uv sync
  3. 将您的非结构化 API 密钥设置为环境变量。在根目录中创建一个 .env 文件,其中包含以下内容:
    UNSTRUCTURED_API_KEY="YOUR_KEY"
    请参阅.env.template了解可配置的环境变量。

您现在可以使用以下方法之一运行服务器:

uvx pip install -e .

更新您的 Claude 桌面配置:

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

注意:请记住指向安装包的环境中 uvx 可执行文件

注意:Claude Desktop 不支持。

对于SSE协议,可以通过解耦客户端和服务器来更轻松地进行调试:

  1. 在一个终端中启动服务器:
    uv run python uns_mcp/server.py --host 127.0.0.1 --port 8080 # or make sse-server
  2. 在另一个终端中使用本地客户端测试服务器:
    uv run python minimal_client/client.py "http://127.0.0.1:8080/sse" # or make sse-client

**注意:**要停止服务,请先在客户端上使用Ctrl+C ,然后在服务器上使用。

配置 Claude Desktop 以使用 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" ] } } }

或者,运行本地客户端:

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

附加本地客户端配置

使用环境变量配置最小客户端:

  • LOG_LEVEL="ERROR" :设置为抑制来自 LLM 的调试输出,为用户显示清晰的消息。
  • CONFIRM_TOOL_USE='false' :执行前禁用工具使用确认。请谨慎使用,尤其是在开发期间,因为 LLM 可能会执行昂贵的工作流程或删除数据。
调试工具

Anthropic 提供了MCP Inspector工具来调试/测试您的 MCP 服务器。运行以下命令即可启动调试 UI。之后,您可以在左侧窗格中添加环境变量(指向您的本地环境变量)。并将您的个人 API 密钥作为环境变量添加到其中。前往tools ,您可以测试添加到 MCP 服务器的功能。

mcp dev uns_mcp/server.py

如果需要将请求调用参数记录到UnstructuredClient ,请设置环境变量DEBUG_API_REQUESTS=false 。日志存储在unstructured-client-{date}.log格式的文件中,可以检查该文件以调试UnstructuredClient函数的请求调用参数。

为最小客户端添加终端访问

我们将使用@wonderwhy-er/desktop-commander为精简客户端添加终端访问权限。它基于 MCP 文件系统服务器构建。请注意,客户端(也是 LLM)现在可以访问私有文件。

执行以下命令来安装该包:

npx @wonderwhy-er/desktop-commander setup

然后使用额外的参数启动客户端:

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

使用工具子集

如果您的客户端仅支持使用部分工具,则您应该注意以下事项:

  • update_workflow工具必须与create_workflow工具一起在上下文中加载,因为它包含有关如何创建和配置自定义节点的详细描述。

已知问题

  • update_workflow - 需要在上下文中具有正在更新的工作流的配置,可以通过用户提供或调用get_workflow_info工具来实现,因为该工具不能用作patch应用程序,它完全取代了工作流配置。

变更日志.md

任何新开发的功能/修复/增强功能都将添加到 CHANGELOG.md。在我们发布稳定版本之前,最好使用 0.xx-dev 预发布格式。

故障排除

  • 如果您遇到Error: spawn <command> ENOENT则表示<command>未安装或未在您的 PATH 中可见:
    • 确保安装它并将其添加到您的 PATH。
    • 或者在配置的command字段中提供命令的绝对路径。例如,将python替换为/opt/miniconda3/bin/python

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

MCP 服务器实现可与非结构化 API 进行交互,提供列出、创建、更新和管理源、目标和工作流的工具。

  1. 可用工具
    1. Firecrawl 源
  2. 安装和配置
    1. 先决条件
      1. 使用uv (推荐)
      2. 使用源代码
    2. 附加本地客户端配置
      1. 调试工具
    3. 为最小客户端添加终端访问
      1. 使用工具子集
        1. 已知问题
          1. 变更日志.md
            1. 故障排除

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                MCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.
                Last updated -
                4
                3
                TypeScript
                MIT License
              • A
                security
                A
                license
                A
                quality
                A MCP server for managing and storing code snippets in various programming languages, allowing users to create, list, and delete snippets via a standardized interface.
                Last updated -
                3
                4
                JavaScript
                MIT License
              • -
                security
                A
                license
                -
                quality
                MCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.
                Last updated -
                13
                2
                TypeScript
                MIT License
              • -
                security
                F
                license
                -
                quality
                An MCP server that provides tools and resources for managing a coding project's todo list, allowing users to view, add, update, and delete todo items with details like priority, status, and tags.
                Last updated -
                1
                Python

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/Unstructured-IO/UNS-MCP'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server