lispking/ferris-search · Archived

ferris-search-tools

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, 搜索引擎工?

First seen Apr 1, 2026

Installation

$ npx skills add lispking/ferris-search --skill ferris-search-tools

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 29
License LICENSE
Default branch main
Open issues 2
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,689 B
  • docs SUMMARY.md 453 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

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:

  1. Read the relevant reference file(s) listed above
  2. 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

  1. 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) —
fetchwebcontent url max_chars (default 30000) public HTTP/HTTPS
fetchgithubreadme url — github.com
fetchcsdnarticle url — csdn.net
fetchjuejinarticle url — juejin.cn + /post/
fetchzhihuarticle url — zhihu.com
fetchlinuxdoarticle 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 fetchwebcontent for CSDN/Juejin/Zhihu Use domain-specific fetcher Better extraction quality

When Writing Code

  1. Use domain-specific fetchers (csdn, juejin, zhihu, linuxdo) instead of fetchwebcontent when the URL matches
  2. For research tasks, fan-out across 2–3 engines: ["bing", "duckduckgo"] for global, add "baidu" for Chinese content
  3. Keep limit ≤ 10 unless more results are explicitly needed
  4. max_chars default (30000) is sufficient for most articles; increase only for very long documents

When Answering Questions

  1. Check which tool fits: search vs fetch — don't use web_search when you already have a URL
  2. For Chinese content (CSDN, Juejin, Zhihu), always prefer the dedicated fetcher
  3. Engine aliases are normalized: "ddg", "duck duck go", "百度" all work
  4. exa engine requires EXAAPIKEY env var — warn user if they try to use it without one
  5. github searches repositories (name, description, stars, language); github_code searches code files (path, blob URL)
  6. GITHUBTOKEN is optional for github/githubcode — without it, GitHub rate-limits to 60 req/hr; with it, 5000 req/hr