SUU MCP服务器
用于伦敦大学学院学生会表单自动化的强大模型上下文协议(MCP)服务器(https://studentsunionucl.org).由Playwright和FastMCP构建。
特性
- 表单自动化:记录和回放复杂Drupal表单的表单交互(键入、单击、文件上传)。
- 智能推理:如果缺少数据,则自动推断常见字段的默认值(例如“大额/非授权”、“付款方式”),从而减少对用户提示的需求。
- 安全:身份验证会话(Cookie)保存在本地,从不共享。敏感文件是合法的。
- 鲁棒性:处理样式怪癖(隐藏文件输入)、条件可见性和具有自动重试逻辑的AJAX上传。
支持的表单
| 表单ID | 描述 | 用例 |
|---|---|---|
purchase_request | 采购申请表 | (向供应商)支付发票或要求工会购买东西。 |
payment_request | 付款申请单 | 仅报销(偿还会员)。请勿用于发票。 |
安装
- 克隆并安装:
git clone
cd suu-mcp
pip install -e .- 安装Playwright浏览器:
playwright install chromium安全和身份验证
\[!警告\] 永远不要承诺你的auth.json文件夹。 它们包含实时会话Cookie。这.gitignore配置为排除forms/*_auth.json.
- 登录:
运行auth脚本以交互方式登录。这会捕获您的会话Cookie forms/default_auth.json.
python scripts/save_auth.py用法
1.填写表格(试运行)
您可以在“审阅模式”(无提交)下运行表单自动化,以验证其是否正常工作。
采购请求:
python scripts/run_form.py purchase_request --data examples/my_test_data.json付款请求:
python scripts/run_form.py payment_request --data examples/test_payment_data.json2.智能推理
该系统被设计为“智能”的。你不需要提供每一个字段。
- 缺少付款方式? 默认为“英国银行转账”。
- 缺少补助金状态? 默认为“不授予”。
- 摘要:您可以提供一个成本项目,汇总同一发票中的多个小额费用。
3.记录新表格
要教系统一种新形式:
python scripts/record_form_def.py "https://studentsunionucl.org/forms/your-form-url" --id new_form_id项目结构
src/:核心逻辑(server,executor,schema).forms/:表单定义(.json)以及身份验证文件。scripts/:用于运行、录制和调试的实用程序脚本。examples/:示例数据文件和资产(收据/发票)。
Claude桌面配置
要在Claude Desktop中使用此功能,请将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"suu-mcp": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/suu-mcp",
"run",
"suu-mcp"
]
}
}
}*(替换 /absolute/path/to/suu-mcp 与您的实际路径)。*
