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.
Integrations
Used for loading environment variables from a .env file, specifically for storing and accessing the Unstructured API key
Serves as the implementation language for the MCP server, with specific dependencies including unstructured-client for API interaction
非结构化 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
服务器当前支持的连接器列表,请点击此处查看非结构化平台支持的源连接器完整列表,并点击此处查看目标连接器列表。我们计划添加更多连接器!
来源 | 目的地 |
---|---|
S3 | S3 |
Azure | 威维特 |
Google 云端硬盘 | 松果 |
OneDrive | 阿斯特拉数据库 |
Salesforce | MongoDB |
SharePoint | Neo4j |
Databricks 卷 | |
Databricks 卷增量表 |
要使用创建/更新/删除连接器的工具,必须在 .env 文件中定义该连接器的凭据。以下是我们支持的连接器的credentials
列表:
凭证名称 | 描述 |
---|---|
ANTHROPIC_API_KEY | 需要运行minimal_client 来与我们的服务器交互。 |
AWS_KEY 和AWS_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_ID 和DATABRICKS_CLIENT_SECRET | 需要通过uns-mcp 服务器创建 Databricks 卷/增量表连接器,请参阅文档和此处了解如何操作 |
ONEDRIVE_CLIENT_ID 、 ONEDRIVE_CLIENT_CRED 、 ONEDRIVE_TENANT_ID | 需要通过uns-mcp 服务器创建 One Drive 连接器,请参阅文档中的方法 |
PINECONE_API_KEY | 需要通过uns-mcp 服务器创建 Pinecone 矢量 DB 连接器,请参阅文档中的方法 |
SALESFORCE_CONSUMER_KEY 、 SALESFORCE_PRIVATE_KEY | 需要通过uns-mcp 服务器创建 salesforce 源连接器,请参阅文档中的方法 |
SHAREPOINT_CLIENT_ID 、 SHAREPOINT_CLIENT_CRED 、 SHAREPOINT_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 中提供两项主要功能:
- HTML 内容检索:使用
invoke_firecrawl_crawlhtml
启动抓取作业并使用check_crawlhtml_status
进行监控 - 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
时无需额外安装,因为它会处理执行。但是,如果您希望直接安装软件包:
配置 Claude 桌面
为了与 Claude Desktop 集成,请将以下内容添加到您的claude_desktop_config.json
中:
**注意:**该文件位于~/Library/Application Support/Claude/
目录中。
使用uvx
命令:
或者,使用 Python 包:
使用源代码
- 克隆存储库。
- 安装依赖项:Copy
- 将您的非结构化 API 密钥设置为环境变量。在根目录中创建一个 .env 文件,其中包含以下内容:请参阅Copy
.env.template
了解可配置的环境变量。
您现在可以使用以下方法之一运行服务器:
更新您的 Claude 桌面配置:
注意:请记住指向安装包的环境中 uvx 可执行文件
注意:Claude Desktop 不支持。
对于SSE协议,可以通过解耦客户端和服务器来更轻松地进行调试:
- 在一个终端中启动服务器:Copy
- 在另一个终端中使用本地客户端测试服务器:Copy
**注意:**要停止服务,请先在客户端上使用Ctrl+C
,然后在服务器上使用。
配置 Claude Desktop 以使用 stdio:
或者,运行本地客户端:
附加本地客户端配置
使用环境变量配置最小客户端:
LOG_LEVEL="ERROR"
:设置为抑制来自 LLM 的调试输出,为用户显示清晰的消息。CONFIRM_TOOL_USE='false'
:执行前禁用工具使用确认。请谨慎使用,尤其是在开发期间,因为 LLM 可能会执行昂贵的工作流程或删除数据。
调试工具
Anthropic 提供了MCP Inspector
工具来调试/测试您的 MCP 服务器。运行以下命令即可启动调试 UI。之后,您可以在左侧窗格中添加环境变量(指向您的本地环境变量)。并将您的个人 API 密钥作为环境变量添加到其中。前往tools
,您可以测试添加到 MCP 服务器的功能。
如果需要将请求调用参数记录到UnstructuredClient
,请设置环境变量DEBUG_API_REQUESTS=false
。日志存储在unstructured-client-{date}.log
格式的文件中,可以检查该文件以调试UnstructuredClient
函数的请求调用参数。
为最小客户端添加终端访问
我们将使用@wonderwhy-er/desktop-commander为精简客户端添加终端访问权限。它基于 MCP 文件系统服务器构建。请注意,客户端(也是 LLM)现在可以访问私有文件。
执行以下命令来安装该包:
然后使用额外的参数启动客户端:
使用工具子集
如果您的客户端仅支持使用部分工具,则您应该注意以下事项:
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.
Tools
MCP 服务器实现可与非结构化 API 进行交互,提供列出、创建、更新和管理源、目标和工作流的工具。
- Available Tools
- Installation & Configuration
- Prerequisites
- Additional Local Client Configuration
- Add terminal access to minimal client
- Using subset of tools
- Known issues
- CHANGELOG.md
- Troubleshooting