mcpField
F
fecklesspleb Apify Actors

fecklesspleb Apify Actors

本地服务
github.com/fecklesspleb商业与营销01 周前更新

关于 fecklesspleb Apify Actors

fecklesspleb Apify Actors 是面向 AI Agent 的 MCP 服务,通过 Apify Actors 提供 SEO、网站信息、新闻和招聘数据工具。结果直接随工具调用返回,并为每次运行设置费用上限。

主要功能

  1. 01SEO 审计与页面元数据提取
  2. 02提取站点地图 URL
  3. 03搜索 Hacker News 内容
  4. 04聚合远程职位与公司招聘
  5. 05可选网页抓取、截图和链接检查
  6. 06同步返回结果并限制调用费用

适用场景

  1. 01检查网站 SEO 问题与页面元数据
  2. 02查找 Hacker News 帖子或远程职位
  3. 03获取公司招聘网站的职位列表
  4. 04将网页转为 Markdown 或检查失效链接

MCP 相关

该 MCP 服务向 AI Agent 提供 14 个工具,默认启用 10 个,另有 4 个网页工具可选启用。工具调用对应 Apify Actor,并将数据集结果直接返回;每次调用可设置费用上限。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"fecklesspleb-actors": {
"command": "npx",
"args": [
"-y",
"fecklesspleb-actors-mcp"
],
"env": {
"APIFY_TOKEN": "<APIFY_TOKEN>",
"FECKLESSPLEB_TOOLSETS": "<FECKLESSPLEB_TOOLSETS>",
"APIFY_MAX_COST_USD": "<APIFY_MAX_COST_USD>",
"APIFY_MAX_COST_CEILING_USD": "<APIFY_MAX_COST_CEILING_USD>"
}
}
}
}
启动命令npx -y fecklesspleb-actors-mcp
需要配置的环境变量
APIFY_TOKEN密钥Your Apify API token. Actor runs are billed to this Apify account per result.
FECKLESSPLEB_TOOLSETSComma-separated toolsets: core, jobs, web, or all. Default: core,jobs.
APIFY_MAX_COST_USDDefault spending cap per tool call, in USD.
APIFY_MAX_COST_CEILING_USDHighest per-call cap a tool call may request, in USD.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmfecklesspleb-actors-mcp0.1.0

工具

10

收录的工具列表 · 更新于 1 周前

参数类型必填说明
startUrlsarray是要审查的网站。每个站点的起始页面,通常是主页,例如 ["https://books.toscrape.com/"]。可使用纯 URL 字符串或 {"url": "..."} 对象;未包含 http(s):// 的 URL 会自动添加 https://。仅抓取同一主机上的链接(www. 和裸域名视为同一主机),并遵守 robots.txt。默认值 ["https://www.python.org/"] 是示例运行:最多 2 个页面,15 秒后停止。
maxCostUsdnumber否此调用最多可向你的 Apify 账户收取的金额,单位为美元。默认值 0.25,最大值 5。作为 maxTotalChargeUsd 传递给 Apify,即 Apify 对本次运行的最高收费。
maxResultsinteger否数据集中的最大页面数。整个运行期间跨所有站点保存到数据集的最大行数。默认值 0 = 无上限。免费行(返回 HTTP 400+ 或无响应的页面)也计入。达到上限时停止抓取。每条收费行的费用为 $0.003。
includeJsonLdboolean否包含 JSON-LD 数据。若为 true,每行都会获得 jsonLd:解析后的 JSON-LD 区块,其中已移除 email、telephone、author、creator、contributor、editor 和 reviewedBy 键。jsonLdTypes(找到的 schema.org 类型)和 jsonLdErrors(解析失败的区块)始终包含。
excludePatternsarray否排除 URL 模式。用于排除不抓取链接的正则表达式,在完整 URL 中进行不区分大小写的任意位置匹配,例如 ["/tag/", "\\?page="]。这些模式适用于页面中找到的链接;起始 URL 始终会被审查。默认值:无。
maxPagesPerSiteinteger否每个站点的最大页面数。每个起始 URL 最多审查 1 到 10,000 个页面。默认值 10。失败的页面(HTTP 400+ 或无响应)计入;被 robots.txt 屏蔽的页面、非 HTML 文件以及重定向到其他主机的页面不计入。示例:对小型站点进行完整审查时设为 200。
onlyPagesWithIssuesboolean否仅包含存在问题的页面。若为 true,无问题的页面不会保存,也不会收费;仅输出至少存在一个问题的页面。默认值 false:输出每个已审查的页面。

详细介绍

fecklesspleb-actors-mcp

一个 MCP 服务,为 AI Agent 提供 14 个工具:默认启用 10 个,用于 SEO 审计、页面元数据、站点地图、Hacker News 搜索和职位列表;另有 4 个可选的 Web 工具,用于 Markdown 爬取、图片下载、截图和失效链接检查。每个工具都会运行我公开的一个 Apify Actor,并在工具响应中返回结果。

披露:我(fecklesspleb)编写并维护此服务及其调用的每个 Actor。运行费用按结果计费,由你自己的 Apify 账户按照 Actors Store 价格支付,其中一部分收入会作为 Actor 开发者收益归我所有。本项目与 Apify、Greenhouse、Lever、Ashby、Workday、Remote OK、We Work Remotely、Jobicy、Hacker News、Y Combinator 或 Algolia 均无关联,也未获其认可。

为什么不用 Apify 自己的 MCP 服务

你不必使用本服务。Apify 的官方服务也能运行这些 Actor:

  • 托管版:https://mcp.apify.com?tools=fecklesspleb/website-seo-audit,fecklesspleb/sitemap-extractor(OAuth,或使用 Authorization: Bearer <APIFY_TOKEN> 请求头)
  • 本地版:设置 APIFY_TOKEN 后,运行 npx -y @apify/actors-mcp-server --tools fecklesspleb/website-seo-audit,fecklesspleb/sitemap-extractor

本服务是一个更精简、更专注的选项:

  • 工具调用会直接返回结果。 每次调用都会使用 Apify 的同步 run-sync-get-dataset-items 端点,因此 Agent 会直接获得数据集条目,无须通过运行 ID 轮询。
  • 每次调用都有费用上限。 maxCostUsd(默认值为 $0.25)会作为 maxTotalChargeUsd 发送给 Apify。服务端上限(默认值为 $5)则限制 Agent 可请求的费用。
  • 默认值较小。 Agent 未提供参数时,服务会设置限制,例如最多 25 个职位、50 条 Hacker News 条目或每个站点 10 个页面。除非 Agent 请求,否则不会包含职位描述,以保持响应简短。
  • 输入架构保持最新。 启动时,服务会从 Apify 当前的构建中读取每个 Actor 的输入架构,因此工具接受的输入与 Actor 接受的完全一致。如果无法连接 Apify,则会使用随附的快照。

工具

价格为本文编写时的 Apify Store 价格。实时价格请查看各 Actor 的页面。

core(5 个工具,默认启用)
工具Actor返回内容价格
seo_audit_websitewebsite-seo-audit从 startUrls 开始爬取站点(同一主机),并为每个页面返回一条记录:状态、0-100 分数、问题(标题、元描述、H1、规范链接、noindex、替代文本、内容单薄、Open Graph、JSON-LD、页面速度慢)每页 $0.003 + 每次运行启动 $0.00005
extract_website_metadatawebsite-metadata-extractor为每个 urls 返回:标题、元描述、规范链接、语言、Open Graph、Twitter 卡片、JSON-LD、网站图标、RSS 源、hreflang。无法读取的 URL 所对应的行不收费每个 URL $0.001 + 每次运行启动 $0.00005
extract_sitemap_urlssitemap-extractor网站站点地图中的所有 URL(通过 robots.txt 查找,或使用你提供的站点地图 URL),附带 lastmod、changefreq、priority。支持正则表达式和日期筛选每个 URL $0.0002
search_hacker_newshacker-news-scrapermode: "search":通过关键词、积分、评论数和日期搜索 HN 故事和评论(使用 Algolia 的 HN Search API)。mode: "whoIsHiring":从每月的“Ask HN: Who is hiring?”帖子中获取职位记录每条 $0.00015
search_remote_jobsremote-jobs-aggregator汇总 Remote OK、We Work Remotely 和 Jobicy 的职位源,生成去重后的远程职位列表,并在每个职位上标明来源。支持关键词、地点、薪资和日期筛选每个职位 $0.001
jobs(5 个工具,默认启用)

从公司招聘网站获取职位。每个职位包含公司、职称、地点、远程标记、部门、雇佣类型、薪资(招聘信息中提供时)、发布日期和 URL。

工具Actorcompanies 的传入方式价格
greenhouse_jobsgreenhouse-jobs-scraperGreenhouse slug(airbnb)、职位板 URL 或招聘页面。也可以设置 searchDirectory: true每个职位 $0.001
lever_jobslever-jobs-scraperLever slug(palantir)、职位板 URL 或招聘页面。也可以设置 searchDirectory: true每个职位 $0.001
ashby_jobsashby-jobs-scraperAshby slug(ramp)、职位板 URL 或招聘页面。也可以设置 searchDirectory: true每个职位 $0.001
workday_jobsworkday-jobs-scraper完整的 Workday 招聘网站 URL,例如 https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite每个职位 $0.002
ats_jobsats-jobs-scraperGreenhouse、Lever、Ashby、Workday、Workable、Recruitee 或 Teamtailor 上的职位板 URL 或招聘页面(Polymer 和 HireHive 使用 URL)。不知道公司使用哪种 ATS 时使用每个职位 $0.002
web(4 个工具,选择启用:FECKLESSPLEB_TOOLSETS=core,jobs,web 或 all)
工具Actor返回内容价格
crawl_website_to_markdownwebsite-to-markdown-crawler网站页面的 Markdown 或文本每页 $0.0008 + 每次运行启动 $0.00005
download_imagesbulk-image-downloader保存到你的 Apify 存储空间中的图片和文件链接,以及大小、尺寸、替代文本和 SHA-256每个文件 $0.001 + 每次运行启动 $0.00005
screenshot_websitewebsite-screenshot保存到你的 Apify 存储空间中的 PNG/JPEG 截图链接(以及可选的 PDF)每张截图 $0.0008 + 每次运行启动 $0.00005
check_broken_linksbroken-link-checker无效链接和图片,以及所在页面、链接文本和状态码每个无效链接 $0.003(onlyBroken 关闭时,每个已检查链接 $0.0005)+ 每次运行启动 $0.00005

“运行启动”费用按运行内存的 GB 计费,每次运行收取一次。

每个工具还接受 maxCostUsd。所有其他参数都是 Actor 自身的输入字段,详见工具的输入架构。

设置

你需要 Node.js 20 或更高版本,以及一个 Apify 账户。从 Apify Console > Settings > API & Integrations 复制 API 令牌。

Claude Desktop、Cursor 和其他使用 mcpServers 配置的客户端:

{
  "mcpServers": {
    "fecklesspleb-actors": {
      "command": "npx",
      "args": ["-y", "fecklesspleb-actors-mcp"],
      "env": { "APIFY_TOKEN": "<your Apify API token>" }
    }
  }
}

Claude Code:

claude mcp add fecklesspleb-actors --env APIFY_TOKEN=<your Apify API token> -- npx -y fecklesspleb-actors-mcp

从源代码安装:

git clone https://github.com/fecklesspleb/actors-mcp.git
cd actors-mcp
npm ci && npm run build
APIFY_TOKEN=<your Apify API token> node dist/index.js

Docker:

docker build -t fecklesspleb-actors-mcp .
docker run -i --rm -e APIFY_TOKEN=<your Apify API token> fecklesspleb-actors-mcp

配置

变量默认值含义
APIFY_TOKEN(调用所必需)你的 Apify API 令牌。即使没有令牌,工具仍会列出,但调用会返回错误。
FECKLESSPLEB_TOOLSETScore,jobs逗号分隔的选项:core、jobs、web 或 all。
APIFY_MAX_COST_USD0.25当 Agent 未传入 maxCostUsd 时,每次调用的费用上限。必须为正数;若为 0、负数或非数字,服务将在启动时停止。超过上限的值会被下调至上限。
APIFY_MAX_COST_CEILING_USD5Agent 可请求的最高 maxCostUsd。更大的值会被下调至此上限。必须为正数。
APIFY_RUN_TIMEOUT_SECS280发送给 Apify 的运行超时时间。0 表示使用 Actor 自身的超时时间。
MAX_OUTPUT_CHARS60000工具响应的最大长度。超出部分会被截断,响应会说明省略了多少项。
FECKLESSPLEB_LIVE_SCHEMAS1设为 0 可跳过实时架构查询,改用捆绑的快照。
APIFY_API_BASE_URLhttps://api.apify.com/v2API 基础 URL。仅用于针对模拟 API 进行测试;请保持未设置。必须使用 https;只有 localhost、127.0.0.1 和 ::1 才接受纯 http。

调用会返回什么

{
  "actor": "fecklesspleb/sitemap-extractor",
  "itemCount": 2,
  "maxCostUsd": 0.25,
  "items": [
    { "url": "https://example.com/blog/a", "lastmod": "2026-10-01", "sitemapUrl": "https://example.com/sitemap.xml" },
    { "url": "https://example.com/blog/b", "lastmod": "2026-10-03", "sitemapUrl": "https://example.com/sitemap.xml" }
  ]
}

items 是 Actor 的数据集条目,原样返回。每个 Actor 的字段都列在其 Apify Store 页面上。

限制

  • Apify 的同步端点最多等待 300 秒。运行时间更长时会返回错误,但运行可能仍会在你的 Apify Console 中继续。请减少 URL、页面或公司的数量。
  • 超过 MAX_OUTPUT_CHARS 的结果会被截断。完整数据集仍保留在你的 Apify 账户中。
  • 截图和下载的文件会以 Apify 存储链接的形式返回,而不是图像数据。

开发

构建和运行测试需要 Node.js 20.19 或更高版本(在 Node 22 上,需要 22.12 或更高版本),因为测试运行器(基于 Vite 8 的 Vitest)有此要求。运行服务仍只需要 Node.js 20 或更高版本。

npm ci
npm run build
npm test                  # builds, then runs unit, protocol and token-leak tests against a mocked Apify API, no network
APIFY_TOKEN=<your Apify API token> npm run e2e   # one real call (Hacker News, 5 items, about $0.00075, billed to that account)
npm run snapshot-schemas  # refresh the bundled input schemas from the live Actor builds

许可证

MIT。版权所有 (c) 2026 fecklesspleb。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。