聚合登录,就是利用用户在第三方平台上已有的账号来快速完成自己应用的登录流程。这里的第三方平台,是指QQ、微信、微博、百度等平台。通过本站的聚合登录接口,你的网站可以登录获取相应的用户信息和授权信息,例如uid、token、用户昵称、头像等。本站的聚合登录完全符合OAuth2.0身份鉴权机制。
传输方式:HTTP
数据格式:JSON
字符编码:UTF-8
https://ul.mzfk.cn/connect.php?act=login&appid={你的appid}&appkey={你的appkey}&type={登录方式}&redirect_uri={返回地址}| 对应值 | 登录方式名称 |
|---|---|
| QQ | |
| wx | 微信 |
| alipay | 支付宝 |
| sina | 微博 |
| douyin | 抖音 |
| feishu | 飞书 |
| gitee | Gitee |
| github | GitHub |
{
"code": 0,
"msg": "succ",
"type": "qq",
"url": "https://graph.qq.com/oauth2.0/XXXXXXXXXX"
}
返回参数说明:
| 参数名 | 参数类型 | 参数说明 | 参数示例 |
|---|---|---|---|
| code | int | 返回状态码 | 0为成功,其它值为失败 |
| msg | string | 返回信息 | 返回错误时的说明 |
| type | string | 登录方式 | |
| url | string | 登录跳转地址 | https://graph.qq.com/oauth2.0/XXXXXXXXXX |
| qrcode | string | 登录扫码地址 | 此地址仅微信和支付宝返回 |
http://www.qq.com/my.php?type=qq&code=520DD95263C1CFEA0870FBB66E******
https://ul.mzfk.cn/connect.php?act=callback&appid={appid}&appkey={appkey}&type={登录方式}&code={code}{
"code": 0,
"msg": "succ",
"type": "qq",
"access_token": "89DC9691E274D6B596FFCB8D43368234",
"social_uid": "AD3F5033279C8187CBCBB29235D5F827",
"faceimg": "https://thirdqq.qlogo.cn/g?b=oidb&k=3WrWp3peBxlW4MFxDgDJEQ&s=100&t=1596856919",
"nickname": "大白",
"location": "XXXXX市",
"gender": "男",
"ip": "1.12.3.40"
}
返回参数说明:
| 参数名 | 参数类型 | 参数说明 | 参数示例 |
|---|---|---|---|
| code | int | 返回状态码 | 0为成功,2为未完成登录,其它值为失败 |
| msg | string | 返回信息 | 返回错误时的说明 |
| type | string | 登录方式 | |
| social_uid | string | 第三方登录UID | AD3F5033279C8187CBCBB29235D5F827 |
| access_token | string | 第三方登录token | 89DC9691E274D6B596FFCB8D43368234 |
| faceimg | string | 用户头像 | https://thirdqq.qlogo.cn/g?...... |
| nickname | string | 用户昵称 | 消失的彩虹海 |
| gender | string | 用户性别 | 男 |
| location | string | 用户所在地 | XXXXX市(仅限支付宝/微信返回) |
| ip | string | 用户登录IP | 1.12.3.40 |
https://ul.mzfk.cn/connect.php?act=query&appid={appid}&appkey={appkey}&type={登录方式}&social_uid={social_uid}{
"code": 0,
"msg": "succ",
"type": "qq",
"social_uid": "AD3F5033279C8187CBCBB29235D5F827",
"access_token": "89DC9691E274D6B596FFCB8D43368234",
"nickname": "大白",
"faceimg": "https://thirdqq.qlogo.cn/g?b=oidb&k=ianyRGEnPZlMV2aQvvzg2uA&s=100&t=1599703185",
"location": "XXXXX市",
"gender": "男",
"ip": "1.12.3.40"
}
返回参数说明:
| 参数名 | 参数类型 | 参数说明 | 参数示例 |
|---|---|---|---|
| code | int | 返回状态码 | 0为成功,其它值为失败 |
| msg | string | 返回信息 | 返回错误时的说明 |
| type | string | 登录方式 | |
| social_uid | string | 第三方登录UID | AD3F5033279C8187CBCBB29235D5F827 |
| access_token | string | 第三方登录token | 89DC9691E274D6B596FFCB8D43368234 |
| faceimg | string | 用户头像 | https://thirdqq.qlogo.cn/g?...... |
| nickname | string | 用户昵称 | 消失的彩虹海 |
| gender | string | 用户性别 | 男 |
| location | string | 用户所在地 | XXXXX市(仅限支付宝/微信返回) |
| ip | string | 用户登录IP | 1.12.3.40 |
SDK版本:1.0
MCP(Model Context Protocol)是一种让AI助手能够直接调用外部工具和服务的协议。通过本站提供的MCP Server(云端SSE模式),你可以在支持MCP的AI工具(如Claude Desktop、Cursor、Trae等)中直接查询API文档、构建登录URL、调用登录接口,无需手动查阅文档。
1. 确保服务器已安装 Node.js 18+
2. 将 mcp-server 目录上传到服务器
3. 安装依赖:
cd mcp-server npm install
4. 配置环境变量并启动:
export UL_SITE_URL="https://ul.mzfk.cn/" export UL_APPID="你的appid" export UL_APPKEY="你的appkey" export MCP_PORT=3000 node index.js
5. 推荐使用 pm2 守护进程保持运行:
npm install -g pm2 pm2 start index.js --name ul-mcp-server pm2 save pm2 startup
| 变量名 | 必填 | 说明 | 示例 |
|---|---|---|---|
| UL_SITE_URL | 是 | 站点地址 | https://ul.example.com |
| UL_APPID | 否 | 应用appid,配置后可省去手动填写 | 10001 |
| UL_APPKEY | 否 | 应用appkey,配置后可省去手动填写 | xxxxxxxxxxxxxx |
| MCP_PORT | 否 | 服务监听端口,默认3000 | 3000 |
| 端点 | 方法 | 说明 |
|---|---|---|
/health |
GET | 健康检查,返回服务状态 |
/docs |
GET | 直接获取完整API文档(JSON格式) |
/sse |
GET | MCP SSE连接端点,AI工具通过此端点建立连接 |
/messages |
POST | MCP消息端点,AI工具通过此端点发送请求 |
以Claude Desktop为例,编辑配置文件 claude_desktop_config.json:
{
"mcpServers": {
"ul-login": {
"url": "http://你的服务器IP:3000/sse"
}
}
}
以Cursor/Trae为例,在MCP配置中添加:
{
"mcpServers": {
"ul-login": {
"url": "http://你的服务器IP:3000/sse"
}
}
}
如果部署了Nginx反向代理并配置了HTTPS,则使用:
{
"mcpServers": {
"ul-login": {
"url": "https://mcp.example.com/sse"
}
}
}
建议使用Nginx反向代理并启用HTTPS,示例配置:
server {
listen 443 ssl;
server_name mcp.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Connection '';
proxy_buffering off;
proxy_cache off;
chunked_transfer_encoding off;
}
}
| 工具名称 | 说明 | 参数 |
|---|---|---|
get_api_docs |
获取完整API文档,包含接口说明、参数、返回值、错误码 | 无 |
get_login_url |
构建聚合登录跳转地址 | type(登录方式), redirect_uri(回调地址), state(可选) |
get_callback_docs |
获取回调接口文档与参数说明 | 无 |
get_query_docs |
获取用户信息查询接口文档 | 无 |
get_error_codes |
获取所有API错误码说明 | 无 |
get_login_flow |
获取聚合登录完整流程说明 | 无 |
call_api |
直接调用API接口(需配置环境变量) | act(login/callback/query), type, redirect_uri/code/social_uid |
配置完成后,你可以在AI助手中直接对话:
get_api_docs 返回完整文档get_login_url 生成URLget_callback_docs 返回字段说明get_error_codes 查询错误码call_api 直接请求接口⚠️ 请勿将包含 appid/appkey 的配置文件提交到公开代码仓库。
⚠️ call_api 工具会直接请求真实接口,请确保仅在受信任的环境中使用。
⚠️ 建议在生产环境中仅启用文档查询类工具,禁用 call_api 直接调用功能。
⚠️ 云端部署时建议配置Nginx HTTPS反向代理,避免数据明文传输。
⚠️ 如需限制访问,可在Nginx中配置IP白名单或Basic Auth。