Atlas / MCP servers / suhuail / Universal

UniversalSAFE

mcp/suhuail/universal
Verdict
SAFE
Grade
B
Trust score
88 /100
Exposed tools
3 2r · 0w · 1d
Transport
stdio
License
—
Stars
75
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

一个万能的MCP工具,能够将Web API接口轻松转化为MCP工具,供AI助手使用。

功能特点

  • 通过简单配置,快速将API转化为MCP工具
  • 支持GET和POST请求方法
  • 可视化界面,操作简便
  • 支持动态添加、删除和修改API配置
  • 实时查看和编辑API描述和参数格式
  • API测试功能,确保API可用性,提前验证请求和响应
  • API密钥管理,支持多种密钥认证方式,AI助手可自动使用密钥调用API

安装要求

python 3.13
requests>=2.31.0
beautifulsoup4>=4.12.3
websockets>=12.0
python-dotenv>=1.0.0
fastmcp>=0.1.0

快速开始

  1. 安装依赖
pip install -r requirements.txt
  1. 启动应用
python 启动_universal_mcp.py

使用指南

基本配置

  1. 在"基本配置"选项卡中设置MCP端点
  2. 点击"保存配置"按钮保存设置

API管理

  1. 在"API管理"选项卡中,您可以添加、删除和修改API配置
  2. 添加API时,需要提供以下信息:
  3. API名称:将会成为MCP工具的名称
  4. API URL:API的完整URL地址
  5. 请求方法:GET或POST
  6. API描述:对API功能的简短描述
  7. API密钥:需要授权的API可以设置密钥
  8. 密钥位置:header、query或body,指定密钥放在哪里
  9. 密钥参数名:密钥的参数名称,如"Authorization"、"api_key"等
  10. 请求参数格式:JSON格式的请求参数描述
  11. 返回参数格式:JSON格式的返回参数描述
  1. 添加完成后,点击"保存API"按钮

API密钥管理

  1. 对于需要密钥的API,可在添加时直接填写"API密钥"字段
  2. 可选择密钥位置:
  3. header:在HTTP请求头中添加密钥(如Authorization头)
  4. query:在URL查询参数中添加密钥(如?api_key=xxx)
  5. body:在请求体中添加密钥(适用于POST请求)
  6. 密钥参数名根据API要求填写,例如"Authorization"、"api_key"、"token"等
  7. 系统会自动处理密钥的添加,AI助手无需知道密钥即可调用API

API测试

  1. 选择已添加的API,点击"测试API"按钮
  2. 在弹出的测试窗口中,填写API请求参数
  3. 点击"发送请求"按钮测试API
  4. 查看API响应结果和格式验证
  5. 系统会自动验证响应是否符合预期格式
  6. 如果有缺少的字段,会显示警告信息

启动服务

  1. 在"日志"选项卡中,点击"启动服务"按钮启动MCP服务
  2. 服务启动后,将在后台运行,可以与AI助手集成使用

API配置示例

天气查询API

{
"api_name": "查询天气",
"api_url": "https://api.example.com/weather",
"method": "GET",
"request_format": {
"city": "string",
"days": "number"
},
"response_format": {
"temperature": "number",
"weather": "string",
"humidity": "number"
},
"description": "根据城市名称查询天气预报"
}

需要API密钥的翻译API

{
"api_name": "翻译文本",
"api_url": "https://api.example.com/translate",
"method": "POST",
"api_key": "your-api-key-here",
"key_location": "header",
"key_name": "Authorization",
"request_format": {
"text": "string",
"source": "string",
"target": "string"
Read from source at commit 727272113977OBSERVED · 2026-10-07
Advertisement
02

Exposed tools (3)

2 read · 0 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
list_registered_apisread
register_apiread
remove_registered_apidestructive
03

Trust audit

SAFEgrade B · trust 88/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (5 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (3)

MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
remove_registered_api
Why it matters. 1 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
requirements.txt
zhipuai, requests, beautifulsoup4, websockets, python-dotenv, fastmcp
Why it matters. 6 requirement(s) not pinned with ==
Fix. pin exact versions

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-07 · audit v0.4.1 · source sha 727272113977full audit observations/trust-audit/mcp-server/suhuail__universal.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-07727272113977SAFEB88first audit
05

Questions

What tools does Universal expose?

3 in total: 2 read-only, 0 that write, and 1 that can delete or overwrite (remove_registered_api). Every one is listed on this page with its risk.

Is Universal safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (88/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does Universal need?

No credential environment variables were found in its source, so it appears to need none.

How does Universal run?

It speaks stdio, so it runs as a local process your client starts.

How current is this page?

The grade is for one exact copy of the source (727272113977), read on 2026-10-07. The repository is watched and re-audited when it changes.

Advertisement