使用说明
项目简介
本项目是一个基于Model Context Protocol (MCP) 的服务器实现,专门用于提供对嘉立创 (JLCPCB) SMT贴片元件库的访问。它允许LLM客户端通过标准化的MCP协议,查询零件的类别、制造商、基本信息、数据手册、图片等,从而扩展LLM在电子元件选型和设计方面的能力。
主要功能点
- 零件类别查询: 获取JLCPCB元件库的详细类别和子类别信息。
- 制造商查询: 检索JLCPCB元件库中包含的制造商列表,并支持按名称搜索制造商。
- 零件搜索: 根据类别、制造商、型号、描述、封装等多种条件,灵活搜索JLCPCB元件库中的零件。
- 数据手册获取: 根据零件编号获取对应的数据手册URL。
- 零件图片获取: 根据零件编号获取零件的实物图片。
安装步骤
- 环境准备: 确保已安装Python 3.6 或更高版本。
- 下载仓库: 从GitHub仓库 https://github.com/nvsofts/jlcpcb-parts-mcp 下载代码到本地。
- 下载数据库: 仓库的 'README.md' 文件中提到,数据来源于 JLC PCB SMD Assembly Component Catalogue 项目。你需要从该项目获取最新的元件库数据 (通常是 ZIP 压缩包),解压后得到 'cache.sqlite3' 文件。
- 安装依赖: 虽然仓库中没有明确的 'requirements.txt' 文件,但根据代码内容,你需要安装 'fastmcp' 和 'pydantic' 库。在命令行中执行:
pip install fastmcp pydantic - 配置环境变量: 设置环境变量 'JLCPCB_DB_PATH',指向你下载并解压的 'cache.sqlite3' 数据库文件的路径。例如,如果 'cache.sqlite3' 文件位于 '/path/to/database/cache.sqlite3',则需要设置 'JLCPCB_DB_PATH=/path/to/database/cache.sqlite3'。
服务器配置
以下JSON配置信息用于MCP客户端配置连接到此服务器。你需要将此配置添加到你的MCP客户端的服务器列表中。
{ "server name": "JLCPCB零件数据", "command": "python", "args": [ "path/to/server.py" // 将 "path/to/server.py" 替换为实际 server.py 脚本的路径 ], "env": { "JLCPCB_DB_PATH": "path/to/database.sqlite3" // 将 "path/to/database.sqlite3" 替换为实际 cache.sqlite3 数据库文件的路径 } }
配置参数说明:
- '"server name"': 服务器名称,可以自定义,用于在MCP客户端中标识该服务器。
- '"command"': 启动服务器的命令,这里使用 'python',假设你的Python环境已配置好。
- '"args"': 命令参数,这里指定 'server.py' 脚本的路径。请务必将其替换为 'server.py' 文件在你本地文件系统中的实际路径。
- '"env"': 环境变量配置。'JLCPCB_DB_PATH' 必须指向你下载的 'cache.sqlite3' 数据库文件的路径,请务必将其替换为实际路径。
基本使用方法
- 启动服务器: 配置完成后,在命令行中导航到 'server.py' 所在的目录,并执行 'python server.py' 启动MCP服务器。服务器默认使用 'stdio' 作为传输协议,在终端中运行。
- 配置MCP客户端: 将上述服务器配置JSON添加到你的MCP客户端配置中。
- 在LLM中使用: 在支持MCP协议的LLM应用中,选择配置好的 "JLCPCB零件数据" 服务器。你可以通过自然语言指令,指示LLM使用该服务器提供的工具来查询JLCPCB的零件数据。
例如,你可以指示LLM执行以下操作:
- "列出所有零件类别" (对应 'list_categories' 工具)
- "列出所有制造商" (对应 'list_manufacturers' 工具)
- "搜索类别ID为1的零件" (对应 'search_parts' 工具,并构造 'SearchQuery' 对象,'category_id=1')
- "获取零件编号 C123456 的数据手册" (对应 'get_datasheet_url' 工具,'part_id=123456')
- "获取零件编号 C123456 的图片" (对应 'get_part_image' 工具,'part_id=123456')
具体如何与LLM交互以及工具调用的方式,取决于你使用的MCP客户端和LLM应用的功能。请参考相关客户端和LLM的应用文档。
信息
分类
数据库与文件