npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

tinyfish-mcp

v1.1.0

Published

基于 TinyFish 免费搜索 API 的 MCP(Model Context Protocol)服务,提供网络搜索与网页内容抓取能力。支持 Stdio 和 HTTP 两种传输方式接入 Claude Desktop、Cursor、Windsurf 等 AI 客户端。

Readme

一个基于 TinyFish 免费搜索 API 的 MCP(Model Context Protocol)服务,为 AI 助手提供实时网络搜索与网页内容获取能力。支持 StdioHTTP 两种传输方式接入。

功能

  • 网络搜索 — 通过 search 工具进行关键词搜索,返回标题、摘要、URL 等结构化结果
  • 低质域名过滤 — 默认过滤一批内容农场和低原创价值站点,并支持按请求或环境变量追加排除域名
  • 网页内容抓取 — 通过 fetch 工具获取指定 URL 的完整网页内容(Markdown / HTML / JSON)
  • 双协议支持 — Stdio 模式(本地进程)和 HTTP 模式(远程服务)均可
  • 鉴权保护 — HTTP 模式下支持 Bearer Token 鉴权,可配置多个 Token
  • 速率限制 — HTTP 模式下内置限流保护,防止接口滥用
  • 多云部署 — 支持 Docker、Vercel 等多种部署方式

可用工具

| 工具名 | 描述 | |---|---| | search | 网络搜索,返回结构化结果(标题、URL、摘要) | | fetch | 获取指定 URL 的完整网页内容,支持 Markdown/HTML/JSON 格式 |

快速开始

准备

  1. 前往 agent.tinyfish.ai/api-keys 获取 API Key
  2. 设置环境变量 TINYFISH_API_KEY

Stdio 模式(推荐用于个人开发)

在 MCP 客户端(Claude Desktop / Cursor / Windsurf 等)配置文件中添加:

{
  "mcpServers": {
    "tinyfish-search": {
      "command": "npx",
      "args": ["-y", "tinyfish-mcp"],
      "env": {
        "TINYFISH_API_KEY": "<your-api-key>"
      }
    }
  }
}

HTTP 模式(推荐用于团队共享)

# 1. 创建 .env 文件
cat > .env << EOF
TINYFISH_API_KEY=<your-api-key>
AUTH_TOKEN=<your-auth-token>
EOF

# 2. 启动服务
npx -y tinyfish-mcp-server
# 服务运行在 http://localhost:3000

在 MCP 客户端中配置:

{
  "mcpServers": {
    "tinyfish-search": {
      "url": "http://localhost:3000/mcp",
      "headers": {
        "Authorization": "Bearer <your-auth-token>"
      }
    }
  }
}

环境变量

| 变量名 | 说明 | 默认值 | 适用模式 | |---|---|---|---| | TINYFISH_API_KEY | TinyFish API Key(必填) | — | 通用 | | SEARCH_EXCLUDED_DOMAINS | 额外排除的搜索域名列表,逗号分隔 | — | 通用 | | AUTH_TOKEN | 鉴权 Token | — | HTTP | | AUTH_TOKENS | 多 Token(逗号分隔) | — | HTTP | | AUTH_ENABLED | 鉴权开关 | true | HTTP | | RATE_LIMIT_ENABLED | 限流开关 | true | HTTP | | RATE_LIMIT_WINDOW | 限流窗口(ms) | 60000 | HTTP | | RATE_LIMIT_MAX | 窗口内最大请求数 | 30 | HTTP | | PORT | HTTP 端口 | 3000 | HTTP |

文档

🛠️ 开发

依赖要求

  • node >=20

常用命令

pnpm install       # 安装依赖
pnpm run dev       # 开发模式
pnpm run build     # 编译
pnpm run typecheck # 类型检查
pnpm run lint      # 代码检查
pnpm run test      # 运行测试

👤 作者

CaoMeiYouRen

🤝 贡献

欢迎 贡献、提问或提出新功能!如有问题请查看 issues page. 贡献或提出新功能可以查看contributing guide.

💰 支持

如果觉得这个项目有用的话请给一颗⭐️,非常感谢

🌟 Star History

Star History Chart

📝 License

Copyright © 2026 CaoMeiYouRen. This project is MIT licensed.


This README was generated with ❤️ by cmyr-template-cli