关于 TheSEO
TheSEO 是面向营销工作者的开源远程 MCP 服务,提供 SEO 检查、AI 可见度数据、技能检索和行业数据查询。工具涵盖单页扫描、本地商家可见度检查及免费荷兰语 Claude 技能目录。
主要功能
- 01扫描页面的 24 项 SEO 指标
- 02检查 Google Maps 本地可见度
- 03搜索免费荷兰语 Claude 技能
- 04获取企业背景模板
- 05查询行业 AI Index 测量数据
适用场景
- 01初步检查单页 SEO 问题
- 02核对企业的本地商家信息
- 03查找适用的 Claude 技能
- 04研究行业或品牌的 AI Index 数据
MCP 相关
该远程 MCP 服务向 AI 客户端公开 SEO、技能目录、企业模板和 AI Index 等工具。README 指出,线上站点暂时关闭 seo_scan 和 lokale_vindbaarheid_check;它们可通过单独的服务端点使用。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.theseo.nl/mcpclaude mcp add --transport http nl-theseo-theseo https://mcp.theseo.nl/mcp{"mcpServers":{"nl-theseo-theseo":{"type":"http","url":"https://mcp.theseo.nl/mcp"}}}在 Cursor 中打开{"servers":{"nl-theseo-theseo":{"type":"http","url":"https://mcp.theseo.nl/mcp"}}}在 VS Code 中打开{"mcpServers":{"nl-theseo-theseo":{"type":"http","url":"https://mcp.theseo.nl/mcp"}}}{"mcpServers":{"nl-theseo-theseo":{"serverUrl":"https://mcp.theseo.nl/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
theseo-mcp
来自 TheSEO(专注于提升可见度的机构)的开源远程 MCP 服务。据我们所知,这是荷兰营销机构推出的首个 MCP 服务。
MCP(模型上下文协议)是一项开放标准,AI 助手可以借此使用 Claude 等外部工具。只需添加一次此服务,你的 AI 就能自行运行 SEO 扫描、检查本地可见度、搜索免费的 Claude 技能、获取企业大脑模板并查询我们自己的 AI-Index。此服务提供的所有内容均免费,无需账号。
此服务作为 Cloudflare Worker 运行,使用 Streamable HTTP 传输。
端点: https://mcp.theseo.nl/mcp
mcp.theseo.nl 上的这些工具与 TheSEO 平台的工具一起运行:各模型的 AI 可见度(ai_zichtbaarheid_merk)、各行业的差距分析(ai_index_gat)、AI 爬虫检查(ai_crawler_check)、带来源的荷兰行业规则(vakregels),以及需要账号才能使用的记忆、任务和高级技能。说明和安装方法:mcp.theseo.nl。seo_scan 和 lokale_vindbaarheid_check 暂时未在该平台启用,因为其背后的网站流程仍会收集潜在客户信息;但它们可以在独立服务 https://theseo-mcp.sales-cc8.workers.dev/mcp 上使用。
此仓库中的七个工具
1. seo_scan
针对 24 个 SEO 项目进行扫描,分为四个类别:技术、页面优化、内容和 AI 就绪度。这与 theseo.nl 上的免费 SEO 扫描使用的是同一款扫描器。
调用示例:
“对 https://voorbeeld.nl 运行 SEO 扫描,并总结最严重的问题。”
{ "url": "https://voorbeeld.nl" }
你会得到每个类别的评分(0 到 100),以及对每个项目表现好坏的如实说明。
2. lokale_vindbaarheid_check
检查企业在 Google Maps 中的可见度:是否有 Google 商家资料,以及营业时间、照片、评分、评价、网站和电话号码是否齐全。这与本地可见度检查器使用的是同一项检查。
调用示例:
“检查 Bakkerij Jansen 在 Utrecht 的本地可见度。”
{ "bedrijfsnaam": "Bakkerij Jansen", "stad": "Utrecht" }
评分只计入实际测量的项目。无法测量的项目会标记为未测量,而不会被判定为不合格。
3. skill_zoeken
按主题搜索 theseo.nl 上完整的免费荷兰语 Claude 技能目录。每条结果都会提供名称、描述、说明页面和 zip 文件的直接下载 URL。
目录包含两类技能:来自 skills-hub 的思考、写作和辅导技能,以及与文章对应的专业技能:各职业的本地 SEO、链接建设、WordPress 和 Google Ads。确切数量见 src/catalogus.json 中的 aantal,细分数量见 aantal_hub 和 aantal_artikel。
调用示例:
“有没有能帮我做 SWOT 分析的免费技能?”
{ "onderwerp": "swot analyse", "max": 5 }
4. bedrijfsbrein_template
返回免费企业大脑模板的完整内容:一个可填写的 bedrijfsbrein.md 上下文文件,用来让 AI 了解你的企业。你可以直接在对话中填写此模板,非常方便。
调用示例:
“获取企业大脑模板,并帮我填写我这家油漆公司的信息。”
此工具不需要参数。
5. ai_index_branche
按行业提供我们自己的 AI-Index 测量结果:有效测量次数、模型拒绝回答的次数及其原文理由、提及次数最多的十家公司,以及整体结果的集中程度。
{ "branche": "logistiek" }
6. ai_index_vragen
提供我们针对某个行业向模型提出的问题原文,以及测量方法。这样你就可以自行复现测量。
{ "branche": "horeca", "max": 5 }
7. ai_index_bedrijf
搜索公司名称是否出现在测量数据中;如果出现,则显示在哪些行业和哪些问题中。如果没有找到该名称,工具会明确说明这不构成任何评价:这只是一份使用固定问卷的抽样调查。
{ "bedrijfsnaam": "bol.com" }
这三个工具最后都会附上相同的来源说明:模型、测量次数、最近测量日期、CC BY 4.0 许可,以及完整说明文档的链接。不提供时间趋势,也不对访问量作出判断:测量使用 temperature 1,因此不同时段之间的差异也属于抽样噪声。
安装
Claude(claude.ai 和桌面应用)
- 前往“设置”,然后选择“连接器”。
- 选择“添加连接器”,并粘贴 URL:
https://mcp.theseo.nl/mcp - 完成。你可以让 Claude 为你的网站进行 SEO 扫描。
Claude Code
claude mcp add --transport http theseo https://mcp.theseo.nl/mcp
Cursor
添加到 ~/.cursor/mcp.json(或项目中的 .cursor/mcp.json):
{
"mcpServers": {
"theseo-mcp": {
"url": "https://mcp.theseo.nl/mcp"
}
}
}
诚实说明能力边界
- SEO 扫描会检查一个页面的 24 个可自动测量项。这只是一个不错的初步了解,并非完整审计。真正的审计会检查多个页面、竞争对手、关键词和搜索意图,这些工作仍需人工完成。
- 可见性检查会测量可通过 Google Places API 测量的内容。不可测量的标准(例如,不进行实时搜索就无法确定的本地地图区块排名)会明确标记为未测量,且不计入评分。
- 只有在 TheSEO 服务上配置了相应的 API 密钥后,检查才能运行。如果缺少密钥,你会看到 API 返回的真实错误消息,而不是虚构的结果。
- 技能目录是随网站生成的快照。新技能会在此服务重新部署后出现。
会保存哪些内容
- 此服务没有数据库、账户或登录功能。
- 每次工具调用都会向 Cloudflare Analytics Engine(数据集
theseo_mcp_tool_usage)写入一个计数点:工具名称、UTC 日期和数字 1。不包含输入内容、IP 地址、标头或对话文本。这样我们只能了解哪些工具被使用,而无法知道是谁在使用。 seo_scan和lokale_vindbaarheid_check会将你的输入转发给 theseo.nl 的网站 Worker,并附带标头X-TheSEO-Kanaal: mcp,让网站知道此次调用来自 MCP。这一网站流程目前会将扫描的网址,或公司名称和所在城市,与结果一起作为潜在客户信息保存在 TheSEO 的 CRM 中,处理方式与网站上的表单相同。因此,这两个工具的readOnlyHint: false。- 另外五个工具只读取内置在服务中的数据,不会转发任何内容。
- Worker 日志只包含不带输入内容的内部错误消息;Cloudflare 的默认调用日志已关闭(
wrangler.jsonc中的invocation_logs: false)。
自行运行或参与开发
需要 Node 20 或更高版本。
npm install
npm test # alle tests, in-process en zonder netwerk
npm run dev # lokaal op http://localhost:8787/mcp
npm run check # TypeScript-controle
npm run dry-run # controleer de deploy zonder te deployen
npm run deploy # deploy naar Cloudflare (eigen account nodig)
技能目录(src/catalogus.json)和企业大脑模板(src/bedrijfsbrein.json)由 theseo.nl 的网站仓库生成:
npm run genereer-catalogus -- /pad/naar/theseo-cloudflare-site
脚本会读取两个来源:技能中心和 public/ 中的所有其他 HTML。磁盘上有但网站上没有任何链接指向的 zip 文件会被有意排除,因为它尚未发布。
维护规则。 向网站添加技能 zip 的人,必须在当天同步更新三项内容:网站本身、GitHub 仓库 claude-skills-nederlands 和此目录。如果这一步出错,技能虽然可以下载,但 skill_zoeken 找不到它。这正是 2026 年 8 月 11 日至 18 日期间发生的情况:目录只读取技能中心,因此漏掉了所有关联文章的专业技能。操作顺序:生成目录、运行 npm test、运行 npm run check、运行 npm run deploy,然后提交并推送。务必在部署前立即生成,不要提前一天生成;技能会定期增加。
高级技能绝不会进入此公开目录。脚本会跳过 /skills/premium/ 下的页面,并且只要某一条记录看起来属于高级内容,就会报错退出且不写入任何内容:页面位于 /skills/premium/ 下、slug 中包含 premium 一词、下载链接不是 /assets/skills/<slug>.zip,或工具名称属于高级工具。测试 test/catalogus-premium.test.ts 会对内置目录和脚本本身执行同样的检查。
如果脚本在技能中心找不到任何技能,也会报错退出。这并非过度谨慎:2026 年 8 月,该页面改版为可搜索的卡片网格后,旧模式再也找不到任何内容,脚本却毫无提示地写出了一个没有分类标签的目录。如果脚本因此失败,请调整第 1 个流程中的模式。
服务本身不包含任何机密信息。扫描和检查逻辑运行在 theseo.nl 的网站 Worker 上;此 MCP 服务只调用其公开端点。
用作库
这七个工具也可以作为函数使用,让另一个 Worker 将它们加入自己的 MCP 服务,并与自有工具并用。该包导出 registreerGratisTools(server, deps):
import { McpServer } from '@modelcontextprotocol/server';
import { maakGebruiksteller, registreerGratisTools } from 'theseo-mcp';
const server = new McpServer({ name: 'mijn-server', version: '1.0.0' });
registreerGratisTools(server, {
site: env.SITE_WORKER, // service binding naar de site-Worker
teller: maakGebruiksteller(env.MCP_USAGE), // optioneel
});
- 不使用全局绑定:所有依赖都通过
deps传入。deps中出现未知或错误的键时,会立即抛出TypeError。 - 每次调用网站时都会附带请求头
X-TheSEO-Kanaal: mcp。如果要额外发送请求头(例如签名),请为site提供一个自定义对象,并在其fetch中添加这些请求头。 premiumSkills是可选项:一个包含slug、naam和zin的列表。只有提供该列表时,skill_zoeken才会显示这些名称,并将其标记为高级内容且不提供下载。匿名用户请将列表留空。此仓库本身不包含任何高级技能;valideerPremiumSkills会验证该列表。zod4.4.3 和@modelcontextprotocol/server2.0.0 是固定版本的peerDependencies。使用方的 Worker 负责提供它们,以确保捆绑包中只有一份 zod。- 该包提供 TypeScript 源码并导入 JSON。因此,使用方的 Worker 需要在
tsconfig.json中启用resolveJsonModule;Wrangler 和 Vitest 会自行捆绑源码。
技术
- TypeScript、
@modelcontextprotocol/serverv2(官方 MCP TypeScript SDK) - Cloudflare 的
agents,用于无状态 Streamable HTTP 处理程序 - Cloudflare Workers,通过
wrangler部署 - 使用官方 MCP 客户端针对真实处理程序进行测试,在进程内运行且不使用网络
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。