| name | uno |
| description | 通过 curl 调用 2000+ tools,零安装。支持 tool 级别语义搜索,一步拿到完整 inputSchema 直接调用。覆盖:搜索、开发、文档、金融、地图、出行、AI媒体、社交、办公、企业等领域。 |
| homepage | https://mcpmarket.cn |
| license | MIT |
| metadata | {"emoji":"🔧","category":"tools"} |
Uno MCP Tools
通过 curl 直接调用 MCPMarket 平台的 REST API,搜索并调用 2000+ tools。无需安装任何包。
前置条件
认证
curl -s -X POST https://mcpmarket.cn/oauth/device/code \
-d "client_id=skill-agent&scope=mcp:*"
必须原样复制终端输出的 verification_uri 和 user_code 展示给用户,禁止自行拼接或修改 URL。
curl -s -X POST https://mcpmarket.cn/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=urn:ietf:params:oauth:grant-type:device_code&device_code=DEVICE_CODE&client_id=skill-agent"
mkdir -p ~/.uno && chmod 700 ~/.uno
echo "ACCESS_TOKEN_VALUE" > ~/.uno/token && chmod 600 ~/.uno/token
验证登录:
curl -s https://mcpmarket.cn/api/uno/verify-token \
-H "Authorization: Bearer $(cat ~/.uno/token)"
两步调用(核心流程)
curl -s "https://mcpmarket.cn/api/uno/search-tools?q=weather&mode=hybrid&limit=5" \
-H "Authorization: Bearer $(cat ~/.uno/token)"
curl -s -X POST https://mcpmarket.cn/api/uno/call-tool \
-H "Authorization: Bearer $(cat ~/.uno/token)" \
-H "Content-Type: application/json" \
-d '{"tool_name":"tonghu-weather.weatherArea","arguments":{"area":"北京"}}'
API 端点
| 端点 | 方法 | 说明 |
|---|
/api/uno/search-tools | GET | 搜索 tools(主入口)— 返回 tools + inputSchema + 统计 |
/api/uno/search-servers | GET | 搜索 servers |
/api/uno/call-tool | POST | 调用工具(server.tool_name 格式) |
/api/uno/rate-server | POST | 对 tool/skill 评分(tool_name 或 skill_id),影响搜索排名 |
/api/uno/categories | GET | 获取所有分类及数量 |
/api/uno/credits | GET | 查询积分余额 + 充值链接 |
/api/uno/skills-search | POST | 搜索 Agent Skills — 返回 meta + 质量信号 |
/api/uno/skills-fetch | POST | 批量获取 Skills 全文(SKILL.md + 文件清单) |
所有端点 Base URL 为 https://mcpmarket.cn,需要 Authorization: Bearer <token> 头。
search-tools 参数
| 参数 | 类型 | 说明 |
|---|
q | string | 搜索关键词 |
category | string | 按分类浏览,如 搜索、开发、金融、社交 |
mode | string | keyword(精确)/ semantic(语义)/ hybrid(混合,推荐) |
limit | int | 返回数量,默认 5,最大 15 |
返回:tools[](含 tool、desc、inputSchema + 统计字段)、servers[]
tools[] 统计字段(供选择参考):
| 字段 | 说明 |
|---|
rating | 评分(0-5) |
rating_count | 评分人数 |
avg_ms | 平均响应延时(毫秒) |
calls_7d | 近 7 天调用次数 |
success_rate | 成功率(0-1) |
搜索关键词技巧: 后台向量数据库以 tool 的功能描述作为索引源,搜索词应匹配工具功能而非具体查询意图。
- ✅
weather / 天气 — 能命中天气类工具描述
- ❌
上海天气 — 像查询意图,反而不易命中工具
call-tool 参数
| 参数 | 类型 | 说明 |
|---|
tool_name | string | 必填 格式 server_name.tool_name(从 search-tools 的 tool 字段获取) |
arguments | object | 必填 按 inputSchema 构造 |
响应结构:
{"content": [{"type": "text", "text": "<JSON字符串>"}], "isError": false}
content[0].text 本身是 JSON 字符串,需要二次解析。错误时 isError 为 true,error 字段包含错误信息。
下游服务 OAuth 授权: 首次调用某些服务(如 GitHub、Notion)时会返回:
{"auth_required": true, "auth_url": "https://...", "state_id": "..."}
打开 auth_url 完成授权后,直接重新调用即可,平台服务端自动关联,无需额外操作。
categories(分类浏览)
curl -s https://mcpmarket.cn/api/uno/categories \
-H "Authorization: Bearer $(cat ~/.uno/token)"
返回各分类名称、数量、代表性 server 名称,适合在不确定用什么工具时浏览。
rate-server(使用后评分)
调用 tool 或获取 skill 后,请评分(0-5),帮助优化搜索排名:
curl -s -X POST https://mcpmarket.cn/api/uno/rate-server \
-H "Authorization: Bearer $(cat ~/.uno/token)" \
-H "Content-Type: application/json" \
-d '{"tool_name":"amap-maps.maps_weather","rating":4.5,"user_id":"YOUR_USER_ID"}'
curl -s -X POST https://mcpmarket.cn/api/uno/rate-server \
-H "Authorization: Bearer $(cat ~/.uno/token)" \
-H "Content-Type: application/json" \
-d '{"skill_id":"abc123","rating":4.0,"user_id":"YOUR_USER_ID"}'
| 参数 | 说明 |
|---|
tool_name | 对 tool 评分(server.tool 格式) |
skill_id | 对 skill 评分 |
server_name | 兼容旧接口 |
rating | 0.0-5.0(必填) |
user_id | 用户 ID(必填) |
call-tool 和 skills-fetch 成功时会返回 rating_hint,收到后请主动评分。
credits(积分查询 + 充值)
curl -s https://mcpmarket.cn/api/uno/credits \
-H "Authorization: Bearer $(cat ~/.uno/token)"
返回:
{
"credits": 86,
"daily_free_credits": 100,
"daily_free_max": 100,
"total_consumed": 14,
"recharge_url": "https://mcpmarket.cn/billing"
}
积分不足时,将 recharge_url 展示给用户,引导充值。
skills-search(搜索 Agent Skills)
curl -s -X POST https://mcpmarket.cn/api/uno/skills-search \
-H "Authorization: Bearer $(cat ~/.uno/token)" \
-H "Content-Type: application/json" \
-d '{"q":"微信公众号文章","mode":"hybrid","limit":5}'
返回 skills[],每个包含:
| 字段 | 说明 |
|---|
skill_id | 唯一标识,用于 skills-fetch |
skill_name | 名称 |
description | 描述(可能含 en/zh) |
categories | 分类标签 |
stars | GitHub stars |
forks | 被 fork 次数(流行度指标) |
token_count | SKILL.md 的 token 数(加载成本参考) |
skills-fetch(获取 Skills 全文)
curl -s -X POST https://mcpmarket.cn/api/uno/skills-fetch \
-H "Authorization: Bearer $(cat ~/.uno/token)" \
-H "Content-Type: application/json" \
-d '{"skill_ids":["abc123","def456"]}'
返回每个 skill 的:
skill_md:SKILL.md 完整内容
files:文件清单
download_url:ZIP 下载链接
repo_url:GitHub 仓库链接
单次最多获取 10 个 skills。
⚠️ 参数构造铁律(必读,避免反复试错)
调用前必须先读 inputSchema,不猜参数。 具体检查项:
| 检查项 | 说明 | 反例教训 |
|---|
required 字段 | 必传,一个都不能少 | 漏传导致报错 |
minLength: 1 | 不能传空字符串 "" | Notion search 空 query 返回空结果 |
| 字段名从 schema 原文复制 | 不凭印象写 | filter vs filters 一字之差直接报错 |
enum 约束 | 只能传枚举值内的字符串 | 传错值工具静默失败 |
description | 字段含义不明时必看 | 避免传入格式错误的值 |
标准两步流程(不可跳过第一步):
curl -s "https://mcpmarket.cn/api/uno/search-tools?q=<功能关键词>&mode=hybrid&limit=5" \
-H "Authorization: Bearer $(cat ~/.uno/token)"
curl -s -X POST https://mcpmarket.cn/api/uno/call-tool \
-H "Authorization: Bearer $(cat ~/.uno/token)" \
-H "Content-Type: application/json" \
-d '{"tool_name":"<tool>","arguments":{<按schema填写>}}'
工作流建议
- 先 search-tools,读完 inputSchema 再调用 — 这是最重要的一步,不可省略
- 搜索词匹配工具功能,不是查询意图 —
weather ✅,上海明天天气 ❌
- 参数名从 schema 原文复制 — 不凭印象,
filters 不是 filter
- 调用成功后评分 — 收到
rating_hint 时调 rate-server 评分,帮助优化搜索排名
- 需要能力/指南时 — 用
skills-search 搜索,skills-fetch 获取全文
- 无结果时 — 换英文关键词,或换
mode=semantic 重试
- 积分不足时 —
credits 查余额,引导用户去 recharge_url 充值
凭证管理
| 项目 | 值 |
|---|
| Token 文件 | ~/.uno/token(权限 0600) |
| API Base URL | https://mcpmarket.cn |
| 登出 | rm ~/.uno/token |