Uno MCP Tools
Call MCPMarket's REST API directly via curl to search and invoke 2000+ tools. No packages to install.
Prerequisites
- -
curl (pre-installed on most systems)
Authentication
CODEBLOCK0
You MUST display the exact verification_uri and user_code from the response to the user. Never construct or modify the URL yourself.
CODEBLOCK1
Verify login:
CODEBLOCK2
Two-Step Invocation (Core Flow)
CODEBLOCK3
API Endpoints
| Endpoint | Method | Description |
|---|
| INLINECODE4 | GET | Search tools (main entry) — returns tools + inputSchema + stats |
| INLINECODE5 |
GET | Search servers |
|
/api/uno/call-tool | POST | Invoke a tool (server.tool_name format) |
|
/api/uno/rate-server | POST | Rate a tool/skill (tool
name or skillid), affects search ranking |
|
/api/uno/categories | GET | List all categories with counts |
|
/api/uno/credits | GET | Query credit balance + recharge URL |
|
/api/uno/skills-search | POST | Search Agent Skills — returns meta + quality signals |
|
/api/uno/skills-fetch | POST | Fetch full Skill content (SKILL.md + file list) |
All endpoints use Base URL https://mcpmarket.cn and require Authorization: Bearer <token>.
search-tools Parameters
| Parameter | Type | Description |
|---|
| INLINECODE14 | string | Search keyword |
| INLINECODE15 |
string | Browse by category, e.g.
search,
dev,
finance,
social |
|
mode | string |
keyword (exact) /
semantic /
hybrid (recommended) |
|
limit | int | Number of results, default 5, max 15 |
Returns: tools[] (with tool, desc, inputSchema + stats fields), INLINECODE29
tools[] stats fields (for selection guidance):
| Field | Description |
|---|
| INLINECODE30 | Score (0–5) |
| INLINECODE31 |
Number of ratings |
|
avg_ms | Average response latency (ms) |
|
calls_7d | Calls in the last 7 days |
|
success_rate | Success rate (0–1) |
Search keyword tips: The backend vector index is built from tool function descriptions, so keywords should match what the tool does, not your query intent.
- - ✅
weather — matches weather tool descriptions - ❌
weather in Shanghai tomorrow — reads like a query, less likely to match tools
call-tool Parameters
| Parameter | Type | Description |
|---|
| INLINECODE37 | string | Required Format: server_name.tool_name (from tool field in search-tools result) |
| INLINECODE40 |
object |
Required Constructed from inputSchema |
Response structure:
{"content": [{"type": "text", "text": "<JSON string>"}], "isError": false}
INLINECODE41 is itself a JSON string and needs to be parsed again. On error, isError is true and error contains the message.
Downstream OAuth: Some services (e.g. GitHub, Notion) require authorization on first call:
{"auth_required": true, "auth_url": "https://...", "state_id": "..."}
Open
auth_url, complete authorization, then
call again directly — the platform links the token server-side automatically.
categories (Browse by Category)
CODEBLOCK6
Returns category names, counts, and representative server names. Useful when you're not sure which tool to use.
rate-server (Rate After Use)
After calling a tool or fetching a skill, submit a rating (0–5) to help improve search ranking:
CODEBLOCK7
| Parameter | Description |
|---|
| INLINECODE46 | Rate a tool (server.tool format) |
| INLINECODE47 |
Rate a skill |
|
server_name | Legacy compatibility |
|
rating | 0.0–5.0 (required) |
|
user_id | User ID (required) |
When call-tool or skills-fetch succeeds, a rating_hint is included in the response. Please rate proactively when you receive it.
credits (Balance + Recharge)
CODEBLOCK8
Returns:
CODEBLOCK9
When credits run low, show recharge_url to the user.
skills-search (Search Agent Skills)
CODEBLOCK10
Returns skills[], each containing:
| Field | Description |
|---|
| INLINECODE56 | Unique ID, used for skills-fetch |
| INLINECODE57 |
Name |
|
description | Description (may include en/zh) |
|
categories | Category tags |
|
stars | GitHub stars |
|
forks | Fork count (popularity indicator) |
|
token_count | Token count of SKILL.md (loading cost reference) |
skills-fetch (Fetch Full Skill Content)
CODEBLOCK11
Returns for each skill:
- -
skill_md: Full SKILL.md content - INLINECODE64 : File list
- INLINECODE65 : ZIP download link
- INLINECODE66 : GitHub repository link
Maximum 10 skills per request.
⚠️ Parameter Construction Rules (Must Read)
Always read inputSchema before calling — never guess parameters.
| Check | Description | Common Mistake |
|---|
| INLINECODE67 fields | All must be provided | Missing required fields causes errors |
| INLINECODE68 |
No empty strings
"" | Empty query returns empty results |
| Copy field names from schema | Don't rely on memory |
filter vs
filters — one character breaks everything |
|
enum constraints | Only valid enum values | Wrong value causes silent failure |
|
description | Read when field meaning is unclear | Avoid wrong format inputs |
Standard two-step flow (step 1 is mandatory):
CODEBLOCK12
Workflow Tips
- 1. Search tools first, read inputSchema before calling — the most important step, never skip
- Keywords match tool function, not query intent —
weather ✅, tomorrow's weather in Shanghai ❌ - Copy field names from schema — don't rely on memory;
filters ≠ INLINECODE77 - Rate after successful calls — when
rating_hint is returned, call rate-server to help improve rankings - Need a capability or guide — use
skills-search to find, skills-fetch to load full content - No results — try English keywords, or switch to INLINECODE82
- Low credits — use
credits to check balance, direct user to INLINECODE84
Credential Reference
| Item | Value |
|---|
| Token file | INLINECODE85 (permissions 0600) |
| API Base URL |
https://mcpmarket.cn |
| Logout |
rm ~/.uno/token |
Uno MCP 工具
通过 curl 直接调用 MCPMarket 的 REST API,搜索并调用 2000+ 个工具。无需安装任何包。
前置条件
身份认证
bash
1. 请求设备码
curl -s -X POST https://mcpmarket.cn/oauth/device/code \
-d client_id=skill-agent&scope=mcp:*
你必须将响应中的 verificationuri 和 usercode 原样展示给用户。切勿自行构造或修改 URL。
bash
2. 用户授权后轮询获取令牌(每 5 秒重试,直到返回 access_token)
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:devicecode&device
code=DEVICECODE&client_id=skill-agent
3. 存储令牌
mkdir -p ~/.uno && chmod 700 ~/.uno
echo ACCESS
TOKENVALUE > ~/.uno/token && chmod 600 ~/.uno/token
验证登录:
bash
curl -s https://mcpmarket.cn/api/uno/verify-token \
-H Authorization: Bearer $(cat ~/.uno/token)
两步调用(核心流程)
bash
步骤 1:搜索工具,获取 tool_name 和 inputSchema
curl -s https://mcpmarket.cn/api/uno/search-tools?q=weather&mode=hybrid&limit=5 \
-H Authorization: Bearer $(cat ~/.uno/token)
步骤 2:调用工具
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:Beijing}}
API 端点
| 端点 | 方法 | 描述 |
|---|
| /api/uno/search-tools | GET | 搜索工具(主要入口)— 返回工具 + inputSchema + 统计信息 |
| /api/uno/search-servers |
GET | 搜索服务器 |
| /api/uno/call-tool | POST | 调用工具(server.tool_name 格式) |
| /api/uno/rate-server | POST | 评价工具/技能(tool
name 或 skillid),影响搜索排名 |
| /api/uno/categories | GET | 列出所有分类及数量 |
| /api/uno/credits | GET | 查询积分余额 + 充值链接 |
| /api/uno/skills-search | POST | 搜索 Agent 技能 — 返回元数据 + 质量信号 |
| /api/uno/skills-fetch | POST | 获取完整技能内容(SKILL.md + 文件列表) |
所有端点使用基础 URL https://mcpmarket.cn,需要 Authorization: Bearer 。
search-tools 参数
| 参数 | 类型 | 描述 |
|---|
| q | string | 搜索关键词 |
| category |
string | 按分类浏览,例如 search、dev、finance、social |
| 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) |
搜索关键词提示: 后端向量索引基于工具功能描述构建,因此关键词应匹配工具的功能,而非你的查询意图。
- - ✅ weather — 匹配天气工具描述
- ❌ 明天上海的天气 — 看起来像查询语句,匹配工具的可能性较低
call-tool 参数
| 参数 | 类型 | 描述 |
|---|
| toolname | string | 必填 格式:servername.tool_name(来自 search-tools 结果的 tool 字段) |
| arguments |
object |
必填 根据 inputSchema 构建 |
响应结构:
json
{content: [{type: text, text: }], isError: false}
content[0].text 本身是一个 JSON 字符串,需要再次解析。出错时,isError 为 true,error 包含错误信息。
下游 OAuth: 某些服务(如 GitHub、Notion)在首次调用时需要授权:
json
{authrequired: true, authurl: https://..., state_id: ...}
打开 auth_url,完成授权,然后直接再次调用 — 平台会自动在服务端关联令牌。
categories(按分类浏览)
bash
curl -s https://mcpmarket.cn/api/uno/categories \
-H Authorization: Bearer $(cat ~/.uno/token)
返回分类名称、数量及代表性服务器名称。当不确定使用哪个工具时很有用。
rate-server(使用后评价)
调用工具或获取技能后,提交评分(0–5)以帮助改进搜索排名:
bash
评价工具(推荐 — 工具级别粒度)
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.mapsweather,rating:4.5,user
id:YOURUSER_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,userid:YOUR
USERID}
| 参数 | 描述 |
|---|
| toolname | 评价工具(server.tool 格式) |
| skillid |
评价技能 |
| server_name | 遗留兼容 |
| rating | 0.0–5.0(必填) |
| user_id | 用户 ID(必填) |
当 call-tool 或 skills-fetch 成功时,响应中会包含 rating_hint。收到后请主动评价。
credits(余额 + 充值)
bash
curl -s https://mcpmarket.cn/api/uno/credits \
-H Authorization: Bearer $(cat ~/.uno/token)
返回:
json
{
credits: 86,
dailyfreecredits: 100,
dailyfreemax: 100,
total_consumed: 14,
recharge_url: https://mcpmarket.cn/billing
}
当积分不足时,向用户展示 recharge_url。
skills-search(搜索 Agent 技能)
bash
curl -s -X POST https://mcpmarket.cn/api/uno/skills-search \
-H Authorization: Bearer $(cat ~/.uno/token) \
-H Content-Type: application/json \
-d {q:wechat article,mode:hybrid,limit:5}
返回 skills[],每个包含:
| 字段 | 描述 |
|---|
| skillid | 唯一 ID,用于 skills-fetch |
| skillname |
名称 |
| description | 描述(可能包含中/英文) |
| categories | 分类标签 |
| stars | GitHub 星标数 |
| forks | Fork 数(流行度指标) |
| token_count | SKILL.md 的 Token 数(加载成本参考) |
skills-fetch(获取完整技能内容)
bash
curl -s -X POST https://mcpmarket.cn/api/uno/skills-fetch \
-H Authorization: Bearer $(cat ~/.uno/token) \
-H