비정형 API MCP 서버
비정형 API와 상호 작용하기 위한 MCP 서버 구현입니다. 이 서버는 소스와 워크플로를 나열하는 도구를 제공합니다.
사용 가능한 도구
도구 | 설명 |
---|---|
list_sources | Unstructured 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
서버가 현재 지원하는 커넥터 목록입니다. Unstructured 플랫폼에서 지원하는 소스 커넥터의 전체 목록은 여기에서 , 대상 커넥터 목록은 여기에서 확인하세요. 더 많은 커넥터를 추가할 계획입니다!
원천 | 목적지 |
---|---|
S3 | S3 |
하늘빛 | 위비에이트 |
구글 드라이브 | 솔방울 |
원드라이브 | 아스트라DB |
세일즈포스 | 몽고디비 |
셰어포인트 | 네오4j |
Databricks 볼륨 | |
Databricks 볼륨 델타 테이블 |
커넥터를 생성/업데이트/삭제하는 도구를 사용하려면 해당 커넥터의 사용자 인증 정보를 .env 파일에 정의해야 합니다. 아래는 지원되는 커넥터의 credentials
목록입니다.
자격 증명 이름 | 설명 |
---|---|
ANTHROPIC_API_KEY | 서버와 상호 작용하려면 minimal_client 실행해야 합니다. |
AWS_KEY , AWS_SECRET | uns-mcp 서버를 통해 S3 커넥터를 생성해야 합니다. 설명서 와 여기 에서 방법을 확인하세요. |
WEAVIATE_CLOUD_API_KEY | Weaviate 벡터 DB 커넥터를 생성하는 데 필요한 방법은 설명서 를 참조하세요. |
FIRECRAWL_API_KEY | external/firecrawl.py 에 있는 Firecrawl 도구를 사용하려면 Firecrawl 에 가입하고 API 키를 받아야 합니다. |
ASTRA_DB_APPLICATION_TOKEN , ASTRA_DB_API_ENDPOINT | uns-mcp 서버를 통해 Astradb 커넥터를 생성해야 합니다. 설명서 를 참조하세요. |
AZURE_CONNECTION_STRING | uns-mcp 서버를 통해 Azure 커넥터를 생성하려면 옵션 1이 필요합니다. 자세한 내용은 설명서를 참조하세요. |
AZURE_ACCOUNT_NAME + AZURE_ACCOUNT_KEY | uns-mcp 서버를 통해 Azure 커넥터를 생성하려면 옵션 2가 필요합니다. 자세한 내용은 설명서를 참조하세요. |
AZURE_ACCOUNT_NAME + AZURE_SAS_TOKEN | uns-mcp 서버를 통해 Azure 커넥터를 생성하려면 옵션 3이 필요합니다. 자세한 내용은 설명서를 참조하세요. |
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 | minimal_client 각 도구 호출 전에 실행을 확인할 수 있도록 true로 설정 |
DEBUG_API_REQUESTS | uns_mcp/server.py 더 나은 디버깅을 위해 요청 매개변수를 출력할 수 있도록 true로 설정 |
파이어크롤 소스
Firecrawl 은 MCP에서 두 가지 주요 기능을 제공하는 웹 크롤링 API입니다.
- HTML 콘텐츠 검색 :
invoke_firecrawl_crawlhtml
사용하여 크롤링 작업을 시작하고check_crawlhtml_status
사용하여 모니터링합니다. - LLM 최적화된 텍스트 생성 :
invoke_firecrawl_llmtxt
사용하여 텍스트를 생성하고check_llmtxt_status
사용하여 결과를 검색합니다.
Firecrawl 작동 방식:
웹 크롤링 프로세스:
- 지정된 URL로 시작하여 이를 분석하여 링크를 식별합니다.
- 사이트맵이 있으면 사용하고, 그렇지 않으면 웹사이트에서 찾은 링크를 따릅니다.
- 각 링크를 재귀적으로 탐색하여 모든 하위 페이지를 발견합니다.
- 방문한 모든 페이지에서 콘텐츠를 수집하고 JavaScript 렌더링 및 속도 제한을 처리합니다.
- 필요한 경우
cancel_crawlhtml_job
사용하여 작업을 취소할 수 있습니다. - 모든 정보를 원시 HTML로 추출해야 하는 경우 이것을 사용하세요. Unstructured의 워크플로가 이를 정말 잘 정리해 줍니다. :smile:
LLM 텍스트 생성:
- 크롤링 후 크롤링된 페이지에서 깔끔하고 의미 있는 텍스트 콘텐츠를 추출합니다.
- 대규모 언어 모델에 맞게 특별히 포맷된 최적화된 텍스트 형식을 생성합니다.
- 결과는 지정된 S3 위치에 자동으로 업로드됩니다.
- 참고: LLM 텍스트 생성 작업은 시작된 후에는 취소할 수 없습니다.
cancel_llmtxt_job
함수는 일관성을 위해 제공되지만, 현재 Firecrawl API에서는 지원되지 않습니다.
참고: 이러한 기능을 사용하려면 FIRECRAWL_API_KEY
환경 변수를 설정해야 합니다.
설치 및 구성
이 가이드에서는 Python 3.12와 uv
도구를 사용하여 UNS_MCP 서버를 설정하고 구성하는 단계별 지침을 제공합니다.
필수 조건
- 파이썬 3.12+
- 환경 관리를 위한
uv
- Unstructured의 API 키입니다. 여기에서 가입하고 API 키를 받으실 수 있습니다.
uv
사용 (추천)
uvx
사용하면 실행을 처리하므로 추가 설치가 필요하지 않습니다. 하지만 패키지를 직접 설치하려면 다음을 수행하세요.
지엑스피1
Claude Desktop 구성
Claude Desktop과 통합하려면 claude_desktop_config.json
에 다음 내용을 추가하세요.
참고: 해당 파일은 ~/Library/Application Support/Claude/
디렉토리에 있습니다.
uvx
명령 사용:
또는 Python 패키지를 사용합니다.
소스 코드 사용
- 저장소를 복제합니다.
- 종속성 설치:
- 비정형 API 키를 환경 변수로 설정하세요. 루트 디렉터리에 다음 내용으로 .env 파일을 생성하세요.구성 가능한 환경 변수는
.env.template
참조하세요.
이제 다음 방법 중 하나를 사용하여 서버를 실행할 수 있습니다.
Claude Desktop 구성을 업데이트하세요.
참고 : 패키지를 설치한 환경에서 uvx 실행 파일을 가리키도록 하세요.
참고: Claude Desktop에서는 지원되지 않습니다.
SSE 프로토콜의 경우 클라이언트와 서버를 분리하면 더 쉽게 디버깅할 수 있습니다.
- 한 터미널에서 서버를 시작합니다.
- 다른 터미널에서 로컬 클라이언트를 사용하여 서버를 테스트하세요.
참고: 서비스를 중지하려면 먼저 클라이언트에서 Ctrl+C
사용한 다음 서버에서 Ctrl+C를 사용하세요.
Claude Desktop을 stdio를 사용하도록 구성합니다.
또는 로컬 클라이언트를 실행합니다.
추가 로컬 클라이언트 구성
환경 변수를 사용하여 최소 클라이언트를 구성합니다.
LOG_LEVEL="ERROR"
: LLM에서 디버그 출력을 억제하고 사용자에게 명확한 메시지를 표시합니다.CONFIRM_TOOL_USE='false'
: 실행 전 도구 사용 확인을 비활성화합니다. 특히 개발 중에는 LLM이 비용이 많이 드는 워크플로를 실행하거나 데이터를 삭제할 수 있으므로 주의해서 사용해야 합니다 .
디버깅 도구
Anthropic은 MCP 서버를 디버깅/테스트할 수 있는 MCP Inspector
도구를 제공합니다. 다음 명령을 실행하여 디버깅 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.
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.
Tools
소스, 대상 및 워크플로를 나열, 생성, 업데이트 및 관리하는 도구를 제공하여 비정형 API와의 상호작용을 가능하게 하는 MCP 서버 구현입니다.
Related Resources
Related MCP Servers
- -securityAlicense-qualityMCP 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 -43TypeScriptMIT License
- AsecurityAlicenseAqualityA 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 -34JavaScriptMIT License
- -securityAlicense-qualityMCP 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 -132TypeScriptMIT License
- -securityFlicense-qualityAn 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 -1Python