314 查看 · 2026-07-07 更新
PhoneLCDParts MCP 服务器
该项目提供了一个模型上下文协议(MCP)服务器,并附带一个从 phonelcdparts.com 抓取产品搜索结果的工具。
目的
主要工具 scrape_phonelcdparts 允许与 MCP 兼容的客户端(如 LLM 代理)根据搜索词查询 phonelcdparts.com 网站上的产品。它返回包含产品名称、价格、直接 URL 和图片 URL 的结构化 JSON 数据。
这使得可以自动化获取产品信息,适用于各种应用,例如价格跟踪、数据分析或集成到更大的 AI 驱动工作流中。
前提条件
- Python 3.12 或更高版本。
uv(用于环境和包管理)。- 有效的 Firecrawl API 密钥(来自 firecrawl.dev)。
设置
-
克隆仓库(如果适用)或导航到项目目录: bash cd path/to/phonelcdpart-mcp
-
使用
uv创建并激活虚拟环境: bash uv venv source .venv/bin/activate -
配置 Firecrawl API 密钥: 在
phonelcdpart-mcp项目的根目录下创建一个名为.env的文件(即phonelcdpart-mcp/.env)。 将您的 Firecrawl API 密钥添加到此文件中: env FIRECRAWL_API_KEY="YOUR_ACTUAL_FIRECRAWL_API_KEY_HERE"应用程序使用
python-dotenv库在运行时加载此密钥。 -
使用
uv安装依赖项: bash uv pip install .这将安装
pyproject.toml中列出的所有依赖项,包括python-dotenv。
运行 MCP 服务器
您有几种选项来运行服务器:
-
直接使用 Python(适用于简单的开发): bash python app.py
-
使用 Uvicorn(推荐用于开发,提供自动重载): 确保已安装
uvicorn(它在pyproject.toml中)。 bash uvicorn app:mcp --reload --host 0.0.0.0 --port 8000(
app:mcp指的是app.py文件中的FastMCP实例mcp。) -
使用已安装的脚本(如果
uv pip install .成功): 成功执行uv pip install .后,pyproject.toml中定义的脚本应该可用: bash start-mcp这通常会使用
mcp.run()方法。
服务器通常会在 http://127.0.0.1:8000 或 http://0.0.0.0:8000 上启动。
使用工具
一旦服务器运行起来,您可以使用任何与 MCP 兼容的客户端与其交互。
- 工具名称:
scrape_phonelcdparts - 描述(来自文档字符串): 根据给定的搜索查询从
phonelcdparts.com抓取产品信息(名称、价格、URL、图片 URL)。 - 参数:
search_query(字符串):产品搜索词(例如 "iphone 15 pro max lcd")。
- 返回值: 字典列表,每个字典包含:
name(字符串)price(字符串)url(字符串)image_url(字符串)
示例调用(概念性的,使用 Python 客户端):
python
(这是一个概念性示例,展示客户端如何调用该工具)
import asyncio
from fastmcp import Client
async def main():
# 确保 server_url 与您的 MCP 服务器运行的位置匹配
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结果。
来源
- 来源:github
- 链接:https://github.com/cnguyen14/plp-mcpserver