PhoneLCDParts MCP 서버
이 프로젝트는 phonelcdparts.com 에서 제품 검색 결과를 스크래핑하는 도구인 MCP(Model Context Protocol) 서버를 제공합니다.
목적
기본 도구인 scrape_phonelcdparts 는 MCP 호환 클라이언트(예: LLM 에이전트)가 검색어를 기반으로 phonelcdparts.com 웹사이트에서 제품을 쿼리할 수 있도록 합니다. 제품명, 가격, 직접 URL, 이미지 URL이 포함된 구조화된 JSON 데이터를 반환합니다.
이를 통해 가격 추적, 데이터 분석 또는 대규모 AI 기반 워크플로 통합 등 다양한 애플리케이션에 대한 자동화된 제품 정보 검색이 가능해집니다.
Related MCP server: Vinted-scrapper
필수 조건
Python 3.12 이상.
uv(환경 및 패키지 관리용).유효한 Firecrawl API 키( firecrawl.dev 에서 제공).
설정
저장소를 복제하거나(해당되는 경우) 프로젝트 디렉토리로 이동합니다.
지엑스피1
uvuv venv source .venv/bin/activateFirecrawl API 키 구성:
phonelcdpart-mcp프로젝트 루트 디렉터리에.env라는 이름의 파일을 만듭니다(예:phonelcdpart-mcp/.env). 이 파일에 Firecrawl API 키를 추가합니다.FIRECRAWL_API_KEY="YOUR_ACTUAL_FIRECRAWL_API_KEY_HERE"해당 애플리케이션은
python-dotenv라이브러리를 사용하여 런타임에 이 키를 로드합니다.uvuv pip install .이렇게 하면
python-dotenv포함하여pyproject.toml에 나열된 모든 종속성이 설치됩니다.
MCP 서버 실행
서버를 실행하려면 몇 가지 옵션이 있습니다.
Python을 직접 사용하는 경우(간단한 개발의 경우):
python app.pyUvicorn 사용(개발에 권장, 자동 다시 로드 제공):
uvicorn설치되어 있는지 확인하세요(pyproject.toml에 있음).uvicorn app:mcp --reload --host 0.0.0.0 --port 8000(
app:mcp``app.py파일에 있는FastMCP의mcp인스턴스를 참조합니다.)설치된 스크립트 사용(
uv pip install .이 성공적으로 실행되면pyproject.toml에 정의된 스크립트를 사용할 수 있어야 합니다.start-mcp일반적으로
mcp.run()메서드를 사용합니다.
서버는 일반적으로 http://127.0.0.1:8000 또는 http://0.0.0.0:8000 에서 시작됩니다.
도구 사용
서버가 실행되면 MCP 호환 클라이언트를 사용하여 서버와 상호 작용할 수 있습니다.
도구 이름:
scrape_phonelcdparts설명(docstring에서): 주어진 검색어에 대해
phonelcdparts.com에서 제품 정보(이름, 가격, URL, 이미지 URL)를 스크래핑합니다.논쟁:
search_query(문자열): 제품 검색어(예: "iphone 15 pro max lcd").
반환: 사전 목록, 각 사전에는 다음이 포함됩니다.
name(문자열)price(문자열)url(문자열)image_url(문자열)
예제 호출(개념적, Python 클라이언트 사용):
# (This is a conceptual example of how a client might call the tool)
# import asyncio
# from fastmcp import Client
#
# async def main():
# # Ensure the server_url matches where your MCP server is running
# server_url = "http://127.0.0.1:8000/sse"
# async with Client(server_url) as client:
# try:
# result = await client.call_tool(
# "scrape_phonelcdparts",
# {"search_query": "iphone 14 screen"}
# )
# if result and result.data:
# print("Tool Result:")
# for item in result.data:
# print(item)
# else:
# print("No data returned or tool call failed.")
# except Exception as e:
# print(f"Error calling tool: {e}")
#
# if __name__ == "__main__":
# asyncio.run(main())이 클라이언트 코드는 실행 중인 MCP 서버에 연결하여 지정된 검색 쿼리로 scrape_phonelcdparts 도구를 호출한 다음 구조화된 JSON 결과를 인쇄합니다.
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.