使用说明
项目简介
本项目 'personal_mcp_agents' 是一个 MCP (Model Context Protocol) 服务器的示例实现,专注于为 LLM (大型语言模型) 提供网页搜索能力。它利用 Perplexity AI 的 API 作为后端搜索引擎,并通过 MCP 协议将搜索功能以工具 (Tools) 的形式暴露给 LLM 客户端。该服务器允许客户端调用不同的搜索工具,例如基础搜索、指定域名搜索、近期内容搜索、高级搜索以及带对话历史的搜索,并支持选择不同的 Perplexity 模型。
主要功能点
- 网页搜索工具: 提供多种网页搜索工具,包括:
- 'search': 基础网页搜索。
- 'search_with_domains': 指定域名范围的网页搜索。
- 'search_recent': 搜索最近一段时间内的网页内容。
- 'advanced_search': 高级搜索,允许自定义更多参数,如模型、prompt、tokens、temperature等。
- 'search_with_conversation': 支持结合对话历史的上下文搜索。
- 模型信息查询工具: 提供查询 Perplexity AI 支持模型的功能:
- 'get_supported_models': 获取支持的模型列表。
- 'get_model_info': 获取特定模型的详细信息。
- 基于 FastMCP 框架: 使用 'fastmcp' 库简化 MCP 服务器的开发。
- 支持 stdio 传输协议: 默认使用标准输入输出 (stdio) 作为 MCP 服务器与客户端的通信协议。
安装步骤
-
克隆仓库
git clone https://github.com/shubham0704/personal_mcp_agents cd personal_mcp_agents -
安装 uv (如果尚未安装,uv 是一个快速的 Python 包安装和虚拟环境管理工具,项目推荐使用)
curl -LsSf https://astral.sh/uv/install.sh | sh按照提示将 'uv' 添加到您的 PATH 环境变量中。
-
创建并激活虚拟环境
uv venv source .venv/bin/activate -
安装依赖
uv add "mcp[cli]" httpx requests -
初始化 search 模块 (如果需要,此步骤仓库已包含,可跳过)
uv init search mv search.py search/ -
配置 Perplexity API 密钥 打开 'search/search.py' 文件,找到 'API_KEY = "ADD_YOUR_API_KEY"' 这一行,将 'ADD_YOUR_API_KEY' 替换为您在 Perplexity AI 官网申请的 API 密钥。
服务器配置
要将此 MCP 服务器集成到 MCP 客户端(例如 Claude),您需要在客户端的配置文件中添加服务器配置信息。以下是根据仓库信息生成的 Claude 客户端配置示例 ('claude_desktop_config.json'),请根据您的实际路径进行调整:
{ "mcpServers": { "search": { // 服务器名称,客户端用此名称引用 "command": "/Users/username/.local/bin/uv", // uv 命令的绝对路径,根据 uv 安装位置调整 "args": [ "--directory", // 指定工作目录参数 "path/to/personal_mcp_agents/search", // personal_mcp_agents 仓库中 search 目录的绝对路径,请替换为您的实际路径 "run", // uv run 命令,用于运行 Python 脚本 "search.py" // 要运行的 Python 脚本名称 ] } } }
请务必将上述配置中的 '/Users/username/.local/bin/uv' 和 'path/to/personal_mcp_agents/search' 替换为您实际的 'uv' 命令路径和 'personal_mcp_agents/search' 目录的绝对路径。
基本使用方法
-
启动 MCP 服务器 在 'personal_mcp_agents/search' 目录下,通过 uv 运行 'search.py' 脚本。由于配置中使用的是 'stdio' 传输协议,服务器将在前台运行,并将日志输出到终端。
uv run search.py或者,如果您已经在 'personal_mcp_agents' 根目录下,可以使用配置中的命令启动服务器:
/Users/username/.local/bin/uv --directory path/to/personal_mcp_agents/search run search.py -
配置 MCP 客户端 根据您的 MCP 客户端 (例如 Claude) 的文档,将上述服务器配置信息添加到客户端的配置文件中。
-
在 MCP 客户端中使用搜索工具 启动 MCP 客户端,客户端应该能够检测到名为 "search" 的 MCP 服务器,并可以使用服务器提供的工具。具体的工具调用方式取决于 MCP 客户端的界面和交互设计。例如,在 Claude 中,您可能可以通过特定的指令或界面操作来触发 'search' 服务器提供的搜索工具,从而实现网页搜索功能。
注意:
- 首次运行前请确保已正确配置 Perplexity API 密钥。
- 请根据您的操作系统和 uv 安装位置,调整 'command' 字段中 'uv' 命令的路径。
- 'args' 字段中的目录路径也需要替换为 'personal_mcp_agents/search' 目录在您系统中的绝对路径。
- 本示例使用 'stdio' 作为传输协议,适用于本地环境或客户端与服务器在同一台机器上的情况。对于更复杂的部署场景,MCP 协议支持其他传输协议,但本仓库示例未涉及。
信息
分类
网页与API