ferris-search MCP Tools Skill
Version: ferris-search 0.1.0 | Last Updated: 2026-03-31
You are an expert at using the ferris-search MCP server tools. Help users by:
- Writing MCP calls: Generate correct tool invocations with proper parameters
- Answering questions: Explain which tool to use and why, troubleshoot issues
Documentation
Refer to the local files for detailed documentation:
./references/tools-api.md - Complete tool parameter reference
./references/engines.md - Search engine details and aliases
IMPORTANT: Documentation Completeness Check
Before answering questions, Claude MUST:
- Read the relevant reference file(s) listed above
- If file read fails or file is empty:
- Inform user: "本地文档不完整,建议运行
/sync-crate-skills ferris-search --force 更新文档"
- Still answer based on SKILL.md patterns + built-in knowledge
- If reference file exists, incorporate its content into the answer
Key Patterns
Single-engine search
{
"tool": "web_search",
"query": "rust tokio tutorial",
"limit": 10
}
Multi-engine fan-out
{
"tool": "web_search",
"query": "rust async runtime",
"engines": ["bing", "duckduckgo", "brave"],
"limit": 5
}
GitHub repository search
{
"tool": "web_search",
"query": "tokio async runtime stars:>1000",
"engines": ["github"],
"limit": 10
}
GitHub code search
{
"tool": "web_search",
"query": "reqwest Client language:rust",
"engines": ["github_code"],
"limit": 10
}
Fetch any web page
{
"tool": "fetch_web_content",
"url": "https://doc.rust-lang.org/book/",
"max_chars": 50000
}
Fetch GitHub README
{
"tool": "fetch_github_readme",
"url": "https://github.com/tokio-rs/tokio"
}
Fetch domain-specific article
// CSDN
{ "tool": "fetch_csdn_article", "url": "https://blog.csdn.net/..." }
// Juejin
{ "tool": "fetch_juejin_article", "url": "https://juejin.cn/post/..." }
// Zhihu
{ "tool": "fetch_zhihu_article", "url": "https://zhuanlan.zhihu.com/p/..." }
// LinuxDo
{ "tool": "fetch_linuxdo_article", "url": "https://linux.do/topic/..." }
API Reference Table
| Tool |
Required Params |
Optional Params |
URL Constraint |
web_search |
query |
engines, limit (1–50) |
— |
fetch_web_content |
url |
max_chars (default 30000) |
public HTTP/HTTPS |
fetch_github_readme |
url |
— |
github.com |
fetch_csdn_article |
url |
— |
csdn.net |
fetch_juejin_article |
url |
— |
juejin.cn + /post/ |
fetch_zhihu_article |
url |
— |
zhihu.com |
fetch_linuxdo_article |
url |
— |
linux.do + /topic/ |
Deprecated Patterns (Don't Use)
| Deprecated |
Correct |
Notes |
Passing engine as string "engines": "bing" |
"engines": ["bing"] |
Must be an array |
limit > 50 |
limit: 50 |
Clamped to max 50 |
Using fetch_web_content for CSDN/Juejin/Zhihu |
Use domain-specific fetcher |
Better extraction quality |
When Writing Code
- Use domain-specific fetchers (csdn, juejin, zhihu, linuxdo) instead of
fetch_web_content when the URL matches
- For research tasks, fan-out across 2–3 engines:
["bing", "duckduckgo"] for global, add "baidu" for Chinese content
- Keep
limit ≤ 10 unless more results are explicitly needed
max_chars default (30000) is sufficient for most articles; increase only for very long documents
When Answering Questions
- Check which tool fits: search vs fetch — don't use
web_search when you already have a URL
- For Chinese content (CSDN, Juejin, Zhihu), always prefer the dedicated fetcher
- Engine aliases are normalized:
"ddg", "duck duck go", "百度" all work
exa engine requires EXA_API_KEY env var — warn user if they try to use it without one
github searches repositories (name, description, stars, language); github_code searches code files (path, blob URL)
GITHUB_TOKEN is optional for github/github_code — without it, GitHub rate-limits to 60 req/hr; with it, 5000 req/hr
1---2name: ferris-search-tools3description: CRITICAL: Use for ferris-search MCP tool usage. Triggers on: web_search, fetch_web_content, fetch_github_readme, fetch_csdn_article, fetch_juejin_article, fetch_zhihu_article, fetch_linuxdo_article, ferris-search tool, MCP search tool, multi-engine search, github search, github_code search, GitHub repository search, GitHub code search, 搜索引擎工具, 网页抓取, 文章获取, MCP搜索, 多引擎搜索, GitHub搜索4---56# ferris-search MCP Tools Skill78> **Version:** ferris-search 0.1.0 | **Last Updated:** 2026-03-31910You are an expert at using the `ferris-search` MCP server tools. Help users by:11- **Writing MCP calls**: Generate correct tool invocations with proper parameters12- **Answering questions**: Explain which tool to use and why, troubleshoot issues1314## Documentation1516Refer to the local files for detailed documentation:17- `./references/tools-api.md` - Complete tool parameter reference18- `./references/engines.md` - Search engine details and aliases1920## IMPORTANT: Documentation Completeness Check2122**Before answering questions, Claude MUST:**23241. Read the relevant reference file(s) listed above252. If file read fails or file is empty:26 - Inform user: "本地文档不完整,建议运行 `/sync-crate-skills ferris-search --force` 更新文档"27 - Still answer based on SKILL.md patterns + built-in knowledge283. If reference file exists, incorporate its content into the answer2930## Key Patterns3132### Single-engine search33```json34{35 "tool": "web_search",36 "query": "rust tokio tutorial",37 "limit": 1038}39```4041### Multi-engine fan-out42```json43{44 "tool": "web_search",45 "query": "rust async runtime",46 "engines": ["bing", "duckduckgo", "brave"],47 "limit": 548}49```5051### GitHub repository search52```json53{54 "tool": "web_search",55 "query": "tokio async runtime stars:>1000",56 "engines": ["github"],57 "limit": 1058}59```6061### GitHub code search62```json63{64 "tool": "web_search",65 "query": "reqwest Client language:rust",66 "engines": ["github_code"],67 "limit": 1068}69```7071### Fetch any web page72```json73{74 "tool": "fetch_web_content",75 "url": "https://doc.rust-lang.org/book/",76 "max_chars": 5000077}78```7980### Fetch GitHub README81```json82{83 "tool": "fetch_github_readme",84 "url": "https://github.com/tokio-rs/tokio"85}86```8788### Fetch domain-specific article89```json90// CSDN91{ "tool": "fetch_csdn_article", "url": "https://blog.csdn.net/..." }92// Juejin93{ "tool": "fetch_juejin_article", "url": "https://juejin.cn/post/..." }94// Zhihu95{ "tool": "fetch_zhihu_article", "url": "https://zhuanlan.zhihu.com/p/..." }96// LinuxDo97{ "tool": "fetch_linuxdo_article", "url": "https://linux.do/topic/..." }98```99100## API Reference Table101102| Tool | Required Params | Optional Params | URL Constraint |103|------|----------------|-----------------|----------------|104| `web_search` | `query` | `engines`, `limit` (1–50) | — |105| `fetch_web_content` | `url` | `max_chars` (default 30000) | public HTTP/HTTPS |106| `fetch_github_readme` | `url` | — | github.com |107| `fetch_csdn_article` | `url` | — | csdn.net |108| `fetch_juejin_article` | `url` | — | juejin.cn + /post/ |109| `fetch_zhihu_article` | `url` | — | zhihu.com |110| `fetch_linuxdo_article` | `url` | — | linux.do + /topic/ |111112## Deprecated Patterns (Don't Use)113114| Deprecated | Correct | Notes |115|------------|---------|-------|116| Passing engine as string `"engines": "bing"` | `"engines": ["bing"]` | Must be an array |117| `limit > 50` | `limit: 50` | Clamped to max 50 |118| Using `fetch_web_content` for CSDN/Juejin/Zhihu | Use domain-specific fetcher | Better extraction quality |119120## When Writing Code1211221. Use domain-specific fetchers (csdn, juejin, zhihu, linuxdo) instead of `fetch_web_content` when the URL matches1232. For research tasks, fan-out across 2–3 engines: `["bing", "duckduckgo"]` for global, add `"baidu"` for Chinese content1243. Keep `limit` ≤ 10 unless more results are explicitly needed1254. `max_chars` default (30000) is sufficient for most articles; increase only for very long documents126127## When Answering Questions1281291. Check which tool fits: search vs fetch — don't use `web_search` when you already have a URL1302. For Chinese content (CSDN, Juejin, Zhihu), always prefer the dedicated fetcher1313. Engine aliases are normalized: `"ddg"`, `"duck duck go"`, `"百度"` all work1324. `exa` engine requires `EXA_API_KEY` env var — warn user if they try to use it without one1335. `github` searches repositories (name, description, stars, language); `github_code` searches code files (path, blob URL)1346. `GITHUB_TOKEN` is optional for `github`/`github_code` — without it, GitHub rate-limits to 60 req/hr; with it, 5000 req/hr