这是一个提供自动化搜索监控功能并集成x402支付的Model Context Protocol (MCP)服务器。监控搜索查询,使用AI驱动的重复检测来检测新内容,并自动处理任务创建的支付。
系统由多个协同工作的组件组成:
src/api/task_manager_api.py - 集成x402支付中间件的FastAPI服务src/api/task_manager_client.py - 支持x402支付的HTTP客户端src/mcp/searcher_mcp.py - 向Claude Desktop暴露工具的MCP服务器src/core/search_engine.py - 网络搜索执行和AI比较src/core/task_manager.py - 数据库操作和任务管理src/core/models.py - SQLAlchemy数据库模型0x671cE47E4F38051ba3A990Ba306E2885C2Fe4102cd /path/to/MCP_Server
uv sync
复制示例环境文件并进行配置:
cp .env.example .env
编辑.env以添加您的配置:
# x402支付配置
PAY_TO_ADDRESS=0x671cE47E4F38051ba3A990Ba306E2885C2Fe4102
PRIVATE_KEY=your_ethereum_private_key_here
# API配置
TASK_MANAGER_API_URL=http://localhost:8000
# OpenAI配置
OPENAI_API_KEY=your_openai_api_key_here
# 数据库配置(可选)
DATABASE_URL=sqlite:///timelooker.db
npm install -g aws-cdkuv sync# 部署AWS基础设施(RDS、Lambda角色、SES等)
python scripts/deploy_infrastructure.py
这会创建:
部署后,更新AWS Secrets Manager中的密钥:
# 更新OpenAI API密钥
aws secretsmanager update-secret \
--secret-id "timelooker/openai/api-key" \
--secret-string '{"api_key":"your_openai_key_here"}'
# 更新X402私钥
aws secretsmanager update-secret \
--secret-id "timelooker/x402/private-key" \
--secret-string '{"private_key":"your_private_key_here"}'
前往AWS控制台 > SES > 验证的身份并验证您的发件人电子邮件地址。
部署脚本创建了包含基础设施详情的.env.aws。用您的值更新它:
cp .env.aws .env
# 编辑.env以添加您的私钥和发件人电子邮件
验证系统能否从AWS Secrets Manager中检索密钥:
# 测试密钥检索
python scripts/test_secrets.py
这将显示系统是否能自动检索数据库凭据、API密钥和其他密钥。
# 基础初始化
python scripts/init_db.py
# 使用示例数据初始化
python scripts/init_db.py --sample
# 检查模式版本
python scripts/init_db.py --version
# 验证数据库完整性
python scripts/init_db.py --validate
# 运行数据库迁移
python scripts/init_db.py --migrate
# 重置数据库(删除并重新创建)
python scripts/init_db.py --reset
# 重置并创建示例数据
python scripts/init_db.py --reset --sample
python run_api_server.py
# 或
uv run run_api_server.py
编辑您的Claude Desktop配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json根据您的部署模式选择适当的配置:
cp claude_desktop_config_local.json ~/Library/Application\ Support/Claude/claude_desktop_config.json
cp claude_desktop_config_cloud.json ~/Library/Application\ Support/Claude/claude_desktop_config.json
# 然后编辑文件,用实际部署值替换YOUR_ACCOUNT和端点值
您也可以手动复制claude_config_example.json的内容并添加您的值。
重要:将/absolute/path/to/MCP_Server替换为您实际的绝对路径!
在编辑配置后完全重启Claude Desktop。
MCP服务器为Claude Desktop提供了6个强大的工具:
为任何搜索查询创建自动化监控任务。
对现有任务执行搜索并获取新结果。
查看所有活动的监控任务。
获取任务的详细状态和执行历史。
停用一个监控任务。
预览搜索结果而不创建任务。
一旦配置完成,您可以在Claude Desktop中使用自然语言:
.envpython run_api_server.pypython run_mcp_server.pyDEPLOY_TO_CLOUD=true的.env# 每5分钟检查一次,运行符合条件的任务
*/5 * * * * cd /path/to/MCP_Server && python scripts/run_scheduled_tasks.py
# 持续运行,每60秒检查一次
python scripts/run_scheduled_tasks.py --daemon --interval 60
FastAPI服务器提供以下端点:
POST /tasks/ - 创建任务(需要支付)GET /tasks/ - 列出活动任务GET /tasks/{task_id} - 获取任务详情DELETE /tasks/{task_id} - 停用任务POST /executions/ - 创建执行记录PUT /executions/{execution_id} - 更新执行GET /tasks/{task_id}/should-run - 检查任务是否应运行POST /tasks/{task_id}/results - 保存搜索结果GET /tasks/{task_id}/results - 获取先前的结果POST /tasks/{task_id}/notify - 发送电子邮件通知~/Library/Logs/Claude/mcp*.log.env中设置了PRIVATE_KEYOPENAI_API_KEY或ANTHROPIC_API_KEY已设置且有效timelooker.db是否存在且可写python scripts/init_db.py --validate以检查数据库完整性python scripts/init_db.py --reset以重新初始化如果损坏python scripts/init_db.py --version检查模式版本注意:非常频繁的检查非常适合测试,但请注意长期任务的OpenAI API费用。
MCP_Server/
├── src/
│ ├── api/ # HTTP API层
│ ├── core/ # 核心业务逻辑
│ └── mcp/ # MCP服务器接口
├── tests/ # 所有测试文件
├── scripts/ # 实用脚本
├── run_mcp_server.py # MCP服务器入口点
└── run_api_server.py # API服务器入口点
tests/test_search_quality.py,tests/quick_quality_test.py,tests/monitor_query_test.pyscripts/lambda_function.py,tests/test_lambda.pyscripts/run_scheduled_tasks.pyrun_mcp_server.py,run_api_server.py该项目包括一个全面的测试套件,涵盖搜索质量、支付集成和API功能。
# 运行所有测试
python tests/run_all_tests.py
# 交互式测试选择
python tests/run_quality_tests.py
验证搜索结果质量和重复检测:
python tests/quick_quality_test.py
python tests/test_search_quality.py
使用模拟的x402客户端测试支付流程:
python tests/test_x402_integration.py
测试包括:
测试FastAPI端点和数据库集成:
# 首先启动API服务器
python run_api_server.py
# 在另一个终端运行测试
python tests/test_api_integration.py
测试包括:
测试AWS Lambda兼容性:
python tests/test_lambda.py
对于API集成测试,确保:
.env中有有效的环境变量python scripts/init_db.py初始化# 支付测试所需
PRIVATE_KEY=your_test_private_key_here
PAY_TO_ADDRESS=0x671cE47E4F38051ba3A990Ba306E2885C2Fe4102
X402_NETWORK=base-sepolia
# 搜索测试所需
OPENAI_API_KEY=your_openai_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
# 测试可选
DATABASE_URL=sqlite:///test.db
LOG_LEVEL=INFO
测试套件验证:
该系统提供了强大的搜索监控能力,并通过x402协议无缝集成了支付!