Quid MCP-通用内容访问平台
   
什么 (拉丁语:“什么?”)-一个模块化平台,供人工智能助手访问搜索引擎、登录墙和付费墙后面的内容。思考 “受保护文件的困惑”.
最初是为VITO EMIS环境门户网站构建的,现在发展成为一个基于插件架构的通用内容访问层。
视觉
在尊重身份验证、安全性和道德界限的同时,实现从受保护来源检索信息的民主化。使Claude和其他AI助手能够通过统一的界面访问不同的内容平台。
主要特点
✅ 插件架构 -每个内容源都是一个自包含的、可安装的插件\ ✅ 多种身份验证场景 -简单表单、API密钥、OAuth 2.0、CAPTCHA、2FA/MFA\ ✅ 多样化的内容类型 -HTML、PDF、表格、JSON API、Markdown\ ✅ 多个接口 -用于人工智能助手的CLI、REST API和MCP服务器\ ✅ 伦理框架 -内置负责任的内容访问指南\ ✅ 开源 -麻省理工学院授权、社区驱动的插件生态系统\ ✅ 会话管理 -具有适当并发处理的持久会话\ ✅ 向后兼容的 -现有的EMIS集成仍然有效
用例
- 🏥 医疗/制药:medicines.org.uk,美国食品药品监督管理局数据库,临床试验
- ⚖️ 法律/合规:Staatsblad Monitor、EUR Lex、法律数据库
- 🔬 研究:学术期刊、科学数据库、预印本服务器
- 🌍 环境的:环境管理信息系统门户,环境机构数据
- 💼 商业智能:行业报告、市场研究平台
- 📚 技术文档:API文档、开发人员门户网站
可用插件
- 机器信息系统的生态系统 -VITO环境信息系统(比利时)
- 模板 -创建新插件的入门模板
*更多插件即将推出!欢迎捐款。*
入门指南
Quid新手? 从这里开始: 入门指南 🚀
先决条件
- 已安装Python 3.9+
- Docker和Docker Compose(可选-用于容器化部署)
- 目标站点的凭据(例如,EMIS门户电子邮件和密码)
安装
简易设置(推荐):
为了获得最简单的安装体验,请使用我们特定于平台的设置脚本来指导您完成整个过程:
macOS:
# Double-click in Finder or run:
open macos/setup-quid.command窗户:
REM Double-click in File Explorer or run:
windows\setup-quid.bat安装脚本将提示您在以下选项之间进行选择:
- 虚拟环境 (Python venv)-更快,最适合开发,在91060端口上运行
- 码头工人 (容器化)-隔离环境,没有Python问题,在端口8906上运行
然后,它将自动:
- 检查先决条件(Python或Docker)
- 设置环境
- 提示输入凭据
- 为您配置一切
手动安装(高级):
如果您更喜欢手动设置:
- 导航到后端目录:
cd backend- 创建虚拟环境:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt
playwright install chromium- 设置凭据:
cp .env.example .env
# Edit .env and add your credentials:
# EMIS_EMAIL=your_email@example.com
# EMIS_PASSWORD=your_password
# PORT=91060启动后端
轻松启动(推荐):
如果您使用了安装脚本,启动也同样简单:
macOS:
# Double-click in Finder or run:
open macos/start-quid-backend.command窗户:
REM Double-click in File Explorer or run:
windows\start-quid-backend.batDocker(如果你在安装过程中选择了Docker):
docker-compose up
# Or run in background: docker-compose up -d端口:
- 虚拟环境:
http://localhost:91060 - Docker:
http://localhost:8906
手动启动(高级):
选项1:命令行
cd backend
python app.py选项2:辅助脚本
cd backend
./start.sh要停止后端:
- 虚拟环境: 按
Ctrl+C在终端中,或运行:pkill -f "python.*app.py" - Docker:
docker-compose down - macOS/Windows图形用户界面: 关闭终端/命令提示符窗口
验证安装
测试运行状况检查端点(使用适合您部署的端口):
虚拟环境:
curl http://localhost:91060/Docker:
curl http://localhost:8906/您应该看到:
{"status": "ok", "service": "Quid MCP API", "version": "2.0.0"}用法
1.命令行界面(CLI)
测试和使用刮刀的最简单方法:
# List available sites
./scrape list
# Query a site
./scrape query emis "BBT water treatment"
# Different output formats
./scrape query emis "water" --format json
./scrape query emis "water" --format table
./scrape query emis "water" --raw
# Check credentials
./scrape check emis
# View configuration
./scrape config emis看 docs/user/CLI_USAGE.md 获取完整的CLI文档。
2.REST API
启动API服务器(见上文),然后使用(替换 PORT 使用您的部署端口: 91060 对于venv或 8906 Docker):
# Health check
curl http://localhost:PORT/
# List legacy sites
curl http://localhost:PORT/sites
# List plugins
curl http://localhost:PORT/plugins
# Get plugin details
curl http://localhost:PORT/plugins/emis
# Enable/disable plugin
curl -X POST http://localhost:PORT/plugins/emis/enable
curl -X POST http://localhost:PORT/plugins/emis/disable
# Query default site (EMIS)
curl -X POST http://localhost:PORT/query \
-H "Content-Type: application/json" \
-d '{"query": "BBT water treatment"}'
# Query specific site (plugin or legacy)
curl -X POST http://localhost:PORT/query/your_site \
-H "Content-Type: application/json" \
-d '{"query": "search term"}'示例:
# Virtual Environment (port 91060)
curl http://localhost:91060/plugins
curl http://localhost:91060/plugins/emis
# Docker (port 8906)
curl http://localhost:8906/plugins
curl http://localhost:8906/plugins/emis3.MCP服务器
通过模型上下文协议连接,实现AI代理与Claude Desktop的集成。
快速设置:
- 启动后端(见上文)
- macOS:双击
macos/generate-mcp-config.command\
视窗:双击 windows\generate-mcp-config.bat
- 将配置添加到Claude Desktop设置中
- 重新启动克劳德桌面
看 MCP设置指南 有关详细的设置说明。
添加新网站
- 创建配置 (
backend/sites/your_site.yaml):
site_id: your_site
name: Your Website
base_url: https://example.com
auth:
type: form_based
login_url: https://example.com/login
selectors:
email_field: 'input[name="email"]'
password_field: 'input[name="password"]'
submit_button: 'button[type="submit"]'
success_indicators:
- type: url_change
pattern: "!login"
extraction:
strategies:
- type: table
selector: 'table.results'
- type: content
selector: 'main'- 设置凭据:
export YOUR_SITE_EMAIL=user@example.com
export YOUR_SITE_PASSWORD=password- 测试IT:
./scrape check your_site
./scrape query your_site "test search"看 docs/advanced/通用框架.md 获取完整的框架文档。
项目结构
emis/
├── backend/ # Core scraping framework
│ ├── core/ # Framework components
│ │ ├── scraper.py # Generic scraper
│ │ ├── session_manager.py # Session handling
│ │ └── config_loader.py # Config management
│ ├── auth/ # Authentication strategies
│ │ ├── base.py
│ │ └── strategies/
│ ├── extractors/ # Data extraction
│ │ ├── table.py
│ │ └── content.py
│ ├── sites/ # Site configurations
│ │ ├── emis.yaml
│ │ └── example.yaml
│ ├── cli.py # Command-line interface
│ ├── app.py # REST API server
│ └── scrape # CLI wrapper script
├── mcp-server/ # MCP integration
├── macos/ # macOS setup scripts (.command files)
├── windows/ # Windows setup scripts (.bat files)
├── docs/ # Documentation
│ ├── user/ # User guides
│ ├── advanced/ # Advanced features
│ ├── troubleshooting/ # Troubleshooting guides
│ ├── testing/ # Testing scenarios
│ └── development/ # Developer docs
├── examples/ # Example scripts and configs
├── LICENSE # MIT License
├── CONTRIBUTING.md # Contribution guidelines
├── SECURITY.md # Security policy
└── CHANGELOG.md # Version history快速测试
使用CLI进行测试
cd backend
# List sites
./scrape list
# Test query
./scrape query emis "test"
# Verbose output
./scrape -v query emis "test"测试API
# Start server
python app.py
# In another terminal
curl http://localhost:38153/sites
curl -X POST http://localhost:38153/query/emis \
-H "Content-Type: application/json" \
-d '{"query": "test"}'调试模式
# Watch browser in action
HEADLESS=false ./scrape query emis "test"
# Slow motion
PLAYWRIGHT_SLOW_MO=2000 ./scrape query emis "test"文档
📚 基本指南
🔌 插件开发
📖 用户指南
🛠️ 开发者指南
安全说明
- 永不承诺
.env文件或凭据 - 会话数据存储在本地
backend/data/sessions/ - 后端使用带有隐形插件的Playwright来避免被检测到
- 所有抓取都遵守速率限制,并使用类似人类的延迟
贡献
欢迎投稿!请看 贡献.md 作为指导方针。
贡献方式:
- 添加新站点配置
- 报告错误或请求功能
- 改进文档
- 添加新的身份验证/提取策略
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
- 内置于 剧作家 用于浏览器自动化
- 最初是为VITO EMIS门户网站开发的
- 演变为Quid MCP——一个通用的内容访问平台
- 受人工智能助手信息访问民主化需求的启发
- 社区驱动,欢迎捐款
支持
______________________________________________________________________
⭐ 如果你觉得这个存储库有用,请为其加星!
