SEO数据分析API服务

SE Ranking MCP Server是一个连接AI助手与SEO数据和项目管理API的中间件,支持自然语言查询进行关键词研究、竞争分析、反向链接监控等SEO相关功能。

  • by dirkschmid1
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dirkschmid1/se-ranking-mcp-proxy

使用说明

SE排名MCP服务器

此模型上下文协议(MCP)服务器将AI助手连接到 SE排名 SEO数据和项目管理API。它支持对以下内容进行自然语言查询:

  • 关键词研究和竞争分析
  • 反向链接分析和监控
  • 域名流量和排名洞察
  • 网站审计和技术SEO
  • AI搜索可见性跟踪
  • 项目和排名跟踪管理

先决条件

在开始之前,请确保您已准备好以下软件和帐户:

  • SE排名账户:您需要一个活动的SE Ranking帐户才能生成API令牌。如果你没有,你可以 在这里注册.
  • 码头工人:一个用于在容器中开发、运输和运行应用程序的平台。如果你没有,你可以 从Docker官方网站下载.
  • Git:一个免费和开源的分布式版本控制系统。你可以从Git官方网站下载。
  • AI助手:您需要一个兼容MCP的客户端,例如 克劳德桌面 或 Gemini CLI.

API令牌

此MCP服务器支持两种类型的API访问:

令牌 环境变量 格式 用途
数据API DATA_API_TOKEN UUID(例如。, 80cfee7d-xxxx-xxxx-xxxx-fc8500816bb3) 访问关键字研究、域名分析、反向链接数据、SERP分析和网站审计。前缀为的工具 DATA_.
API项目 PROJECT_API_TOKEN 40字符十六进制(例如。, 253a73adxxxxxxxxxxxx340aa0a939) 访问项目管理、排名跟踪、反向链接监控和账户管理。前缀为的工具 PROJECT_.

从以下位置获取代币:https://online.seranking.com/admin.api.dashboard.html

根据您需要的工具,您可以使用一个或两个令牌。如果只使用Data API工具,则可以省略 PROJECT_API_TOKEN反之亦然。

速率限制

API 默认利率限制
数据API 每秒10个请求
项目API 每秒5个请求

费率限制是可定制的。联系 api@seranking.com 请求调整。

安装

选择最适合您需求的安装方法:

  • 选项1:Docker(推荐) -最适合标准使用、稳定性和易于更新。如果您只想运行该工具而不管理依赖关系,请使用此选项。
  • 选项2:本地Node.js服务器(适用于开发人员) -最适合开发、调试或Docker不可用的环境(如Replit)。如果需要修改代码或运行自定义安装程序,请使用此选项。

选项1:Docker(推荐)

  1. 打开您的终端(或Windows上的命令提示符/PowerShell)。
  2. 从GitHub克隆项目存储库:
git clone https://github.com/seranking/seo-data-api-mcp-server.git
  1. 导航到新目录:
cd seo-data-api-mcp-server
  1. 构建Docker镜像:
docker build -t se-ranking/seo-data-api-mcp-server .
# Check that the image is built and named `se-ranking/seo-data-api-mcp-server`:
docker image ls

如何更新SEO-MCP(Docker)

为确保您拥有最新功能,请提取最新更改并重新生成:

git pull origin main
docker build -t se-ranking/seo-data-api-mcp-server .

选项2:本地Node.js服务器(适用于开发人员)

为了运行本地Node服务器,您需要 Node.js 20+ 您计算机上安装的版本。

  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 启动服务器:
npm run start-http

那么你的HTTP服务器应该在以下位置运行:http://0.0.0.0:5000/mcp.

如果您想修改 HOST 和 PORT,您可以通过创建 .env 项目根目录中的文件,其中包含要覆盖的设置,例如:

HOST=127.0.0.1
PORT=5555

此外,在外部环境中运行时,例如 Replit,您可以设置 DATA_API_TOKEN 和 PROJECT_API_TOKEN 配置面板中的环境变量。

备注:如果在服务器运行时更改API令牌值,则需要重新启动服务器。

验证HTTP服务器

要发送示例测试请求并验证您的设置,请执行以下操作:

./test-http-server-curl-request.sh '<your-api-token-here>'

对于批量MCP请求测试:

./test-batch-http-server-curl-request.sh '<your-api-token-here>'

连接到克劳德桌面

Claude Desktop从以下位置读取其配置 claude_desktop_config.json.

  • 点击克劳德菜单并选择 设置。...
  • 在“设置”窗口中,导航到 开发者 左侧边栏中的选项卡。
  • 点击 编辑配置 按钮打开配置文件。如果配置文件不存在,此操作将创建一个新的配置文件,或打开现有的配置。

该文件位于:

  • macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • 窗户: %AppData%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

例子 克劳德桌面 MCP服务器的配置

JSON配置模板:

{
  "mcpServers": {
    "seo-data-api-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DATA_API_TOKEN",
        "-e",
        "PROJECT_API_TOKEN",
        "se-ranking/seo-data-api-mcp-server"
      ],
      "env": {
        "DATA_API_TOKEN": "<your-data-api-token-here>",
        "PROJECT_API_TOKEN": "<your-project-api-token-here>"
      }
    }
  }
}
  • 更换 DATA_API_TOKEN 和 PROJECT_API_TOKEN 带有标记的占位符值(请参见 API令牌 部分)。

  • 保存后 claude_desktop_config json,重新启动克劳德桌面。您应该在MCP服务器/工具下看到服务器。

  • 要验证设置,请询问Claude: Do you have access to MCP? 它应该通过列出来回应 seo-data-api-mcp.

  • 您的设置已完成!现在,您可以使用自然语言运行复杂的SEO查询。

连接到Gemini CLI

  • 打开Gemini CLI设置文件,该文件通常位于: ~/.gemini/settings.json
  • 添加以下JSON配置,确保 替换API令牌占位符值。
{
  "mcpServers": {
    "seo-data-api-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DATA_API_TOKEN",
        "-e",
        "PROJECT_API_TOKEN",
        "se-ranking/seo-data-api-mcp-server"
      ],
      "env": {
        "DATA_API_TOKEN": "<your-data-api-token-here>",
        "PROJECT_API_TOKEN": "<your-project-api-token-here>"
      }
    }
  }
}

更换 DATA_API_TOKEN 和 PROJECT_API_TOKEN 带有标记的占位符值(请参见 API令牌 部分)。

  • 保存配置文件。

  • 要验证设置,请启动 Gemini CLI 通过跑步 gemini 在你的终端。界面激活后,按 Ctrl+T 查看可用的MCP服务器。确保列出了seo数据api mcp。

  • 您的设置已完成!现在,您可以使用自然语言运行复杂的SEO查询。

可用工具

API数据工具

模块 工具名称 描述
SERP DATA_getSerpHtmlDump 以ZIP文件的形式检索已完成SERP任务的原始HTML转储。
SERP DATA_getSerpLocations 检索SERP分析的可用位置列表。
SERP DATA_getSerpResults 运行SERP查询并返回结果。创建任务,轮询直到完成,并返回有机/广告/特色片段(标准)或所有SERP类型,包括AI概述、地图、评论(高级)。
SERP DATA_getSerpTaskAdvancedResults 检索特定SERP任务的状态或高级结果。
SERP DATA_getSerpTaskResults 检索特定SERP任务的状态或标准结果。仅返回自然、广告和featured_sippet类型。
SERP DATA_getSerpTasks 检索过去24小时内添加到队列中的所有SERP任务的列表。
人工智能搜索 DATA_getAiDiscoverBrand 标识并返回与给定目标域、子域或URL关联的品牌名称
人工智能搜索 DATA_getAiOverview 检索AI搜索引擎中域性能的高级概述。
人工智能搜索 DATA_getAiPromptsByBrand 检索AI搜索结果中提到指定品牌的提示列表。
人工智能搜索 DATA_getAiPromptsByTarget 检索在AI搜索结果中提到指定目标的提示(查询)列表。
反向链接 DATA_exportBacklinksData 异步检索大规模反向链接,返回任务ID以稍后检查状态。
反向链接 DATA_getAllBacklinks 检索指定目标的反向链接的完整列表,并提供广泛的过滤和排序选项。
反向链接 DATA_getBacklinksAnchors 检索指向指定目标的反向链接的锚文本列表。
反向链接 DATA_getBacklinksAuthority 获取目标(域、主机或URL)的权限指标。
反向链接 DATA_getBacklinksCount 返回目标的反向链接总数。支持批量请求。
反向链接 DATA_getBacklinksExportStatus 检查异步反向链接导出任务的状态。完成后返回下载URL。
反向链接 DATA_getBacklinksIndexedPages 获取具有反向链接、排序和限制控件的网站页面。
反向链接 DATA_getBacklinksMetrics 返回目标的关键统计信息(反向链接计数、引用域等)。支持批量请求。
反向链接 DATA_getBacklinksRaw 对于大型数据集,使用基于光标的分页返回指向目标的所有反向链接。
反向链接 DATA_getBacklinksRefDomains 检索指向指定目标的引用域列表。
反向链接 DATA_getBacklinksSummary 检索一个或多个目标的反向链接指标摘要。
反向链接 DATA_getCumulativeBacklinksHistory 返回指定日期范围内每天的实时反向链接计数。
反向链接 DATA_getDistributionOfDomainAuthority 返回引用目标的所有域的域InLink排名分布。
反向链接 DATA_getDomainAuthority 返回目标页面根域的域InLink排名(域权威机构)。
反向链接 DATA_getNewLostBacklinksCount 返回日期范围内每天(新)找到或丢失的反向链接的计数。
反向链接 DATA_getNewLostRefDomainsCount 按天返回在日期范围内找到或丢失的引用域的计数。
反向链接 DATA_getPageAuthority 返回目标URL的InLink排名(页面权限)
反向链接 DATA_getPageAuthorityHistory 返回特定目标页面的InLink排名的历史值。
反向链接 DATA_getReferringIps 返回属于指向目标的反向链接的IPv4地址。
反向链接 DATA_getReferringIpsCount 返回链接到目标的唯一IP的数量。
反向链接 DATA_getReferringSubnetsCount 返回链接到目标的唯一子网/C-块的数量。
反向链接 DATA_getTotalRefDomainsCount 返回链接到目标的唯一域的数量。支持批量请求。
反向链接 DATA_listNewLostBacklinks 返回在指定日期范围内找到或丢失的反向链接列表。
反向链接 DATA_listNewLostReferringDomains 返回在指定日期范围内找到或丢失的引用域。
领域分析 DATA_getDomainAdsByDomain 检索特定域的付费广告。
领域分析 DATA_getDomainAdsByKeyword 检索特定关键字的付费广告。
领域分析 DATA_getDomainCompetitors 检索某个域名的自然竞争对手或付费竞争对手的列表。
领域分析 DATA_getDomainKeywords 检索域名在自然搜索或付费搜索中排名的关键字。
领域分析 DATA_getDomainKeywordsComparison 比较两个网站的关键字排名。查找常见关键字或关键字空白。
领域分析 DATA_getDomainOverviewDatabases 按数据库获取域概述。
领域分析 DATA_getDomainOverviewHistory 检索域流量和关键字排名的历史数据。
领域分析 DATA_getDomainOverviewWorldwide 检索域指标的全球汇总概述。
领域分析 DATA_getDomainPages 检索指定域内排名的单个页面列表。
领域分析 DATA_getDomainSubdomains 使用搜索性能指标检索域的子域列表。
领域分析 DATA_getUrlOverviewWorldwide 检索特定URL的有机和付费流量指标的全球概览
关键词研究 DATA_exportKeywords 检索大量关键字列表的指标。
关键词研究 DATA_getKeywordQuestions 检索包含种子关键字的基于问题的关键字。
关键词研究 DATA_getLongTailKeywords 检索种子关键字的长尾变体。
关键词研究 DATA_getRelatedKeywords 检索与种子关键字语义相关的关键字。
关键词研究 DATA_getSimilarKeywords 检索与种子关键字类似的关键字。
网站审计 DATA_createAdvancedAudit 启动渲染JavaScript的高级网站审核。适用于SPA。
网站审计 DATA_createStandardAudit 启动抓取HTML的标准网站审核。适用于静态场所。
网站审计 DATA_deleteAudit 永久删除网站审计报告和所有相关数据。
网站审计 DATA_getAuditHistory 检索特定审核运行的历史快照。
网站审计 DATA_getAuditPagesByIssue 检索受审核中特定问题影响的URL。
网站审计 DATA_getAuditReport 检索已完成网站审核的完整详细报告。
网站审计 DATA_getAuditStatus 检查特定网站审核的实时状态。
网站审计 DATA_getCrawledPages 返回审核期间发现的所有URL。
网站审计 DATA_getFoundLinks 返回审核期间发现的每个超链接。
网站审计 DATA_getIssuesByUrl 检索审核中特定页面上发现的所有问题。
网站审计 DATA_listAudits 检索与您的帐户关联的所有网站审核。
网站审计 DATA_recheckAudit 对以前完成的审核启动新的爬网。
网站审计 DATA_updateAuditTitle 更改现有网站审核报告的标题。

API项目工具

模块 工具名称 描述
账户 PROJECT_getAccountBalance 获取当前账户余额,包括货币和货币代码。
账户 PROJECT_getSubscription 获取有关当前用户订阅的信息。
账户 PROJECT_getUserProfile 获取当前登录用户的信息。
分析学 PROJECT_getGoogleSearchConsole 从谷歌搜索控制台获取网站的热门查询。
分析学 PROJECT_getSeoPotential 评估网站的潜在流量、流量成本和潜在客户。
反向链接检查器 PROJECT_addDisavowedBacklinks 将URL列表添加到已拒绝的反向链接列表中。
反向链接检查器 PROJECT_addProjectBacklink 为网站的反向链接监视器添加一个反向链接。
反向链接检查器 PROJECT_createBacklinkGroup 创建一个新组来组织反向链接。
反向链接检查器 PROJECT_deleteBacklinkGroup 删除反向链接组。
反向链接检查器 PROJECT_deleteDisavowedBacklink 从已拒绝的反向链接列表中删除反向链接。
反向链接检查器 PROJECT_deleteProjectBacklinks 从反向链接监视器中删除反向链接列表。
反向链接检查器 PROJECT_getBacklinkGscImportStatus 从谷歌搜索控制台获取反向链接导入的状态。
反向链接检查器 PROJECT_getBacklinkStats 获取网站的反向链接统计数据。
反向链接检查器 PROJECT_importProjectBacklinks 将反向链接列表导入反向链接监视器。
反向链接检查器 PROJECT_listBacklinkGroups 获取网站反向链接组的列表和计数。
反向链接检查器 PROJECT_listDisavowedBacklinks 获取一个网站被拒绝的反向链接列表和数量。
反向链接检查器 PROJECT_listProjectBacklinks 从反向链接监视器获取反向链接列表。
反向链接检查器 PROJECT_moveBacklinksToGroup 将反向链接从一个组移动到另一个组。
反向链接检查器 PROJECT_recheckProjectBacklinks 对反向链接列表运行索引或状态检查。
反向链接检查器 PROJECT_renameBacklinkGroup 更改反向链接组的名称。
反向链接检查器 PROJECT_runBacklinkGscImport 从谷歌搜索控制台启动反向链接导入。
反向链接检查器 PROJECT_updateBacklinkImportSettings 更新从GSC自动反向链接导入的设置。
竞争对手 PROJECT_addCompetitor 将竞争对手网站添加到项目中以进行位置跟踪。
竞争对手 PROJECT_deleteCompetitor 从项目中删除竞争对手网站。
竞争对手 PROJECT_getAllCompetitorsMetrics 获取排名前10的网站的跟踪查询数据(14天历史)。
竞争对手 PROJECT_getCompetitorPositions 获取竞争对手关键字位置的统计数据。
竞争对手 PROJECT_getCompetitorTop10 获取项目中跟踪关键字的前10个结果。
竞争对手 PROJECT_getCompetitorTop100 获取项目中跟踪关键字的前100个结果。
竞争对手 PROJECT_listCompetitors 使用统计数据获取添加到项目中的所有竞争对手的列表。
关键字组 PROJECT_createKeywordGroup 为项目关键字添加一个组。
关键字组 PROJECT_deleteKeywordGroup 删除项目关键字组。
关键字组 PROJECT_listKeywordGroups 获取项目的关键字组列表。
关键字组 PROJECT_moveKeywordsToGroup 将项目关键字从一个组转移到另一个组。
关键字组 PROJECT_updateKeywordGroup 更新项目关键字组的名称。
营销计划 PROJECT_addPlanTask 在网站的营销计划中添加新任务。
营销计划 PROJECT_deletePlanTask 从营销计划中删除任务。
营销计划 PROJECT_listPlanItems 获取网站的所有营销计划部分、项目和注释。
营销计划 PROJECT_setPlanTaskStatus 设置营销计划任务的完成状态。
营销计划 PROJECT_updatePlanTask 更新现有的营销计划任务。
项目组 PROJECT_createProjectGroup 将新项目组添加到用户帐户。
项目组 PROJECT_deleteProjectGroup 删除项目组。
项目组 PROJECT_listProjectGroups 从用户帐户获取所有项目组的列表。
项目组 PROJECT_moveProjectsToGroup 将项目从一个组转移到另一个组。
项目组 PROJECT_updateProjectGroup 重命名项目组。
项目管理 PROJECT_addKeywords 向项目添加新关键字。
项目管理 PROJECT_addSearchEngine 将新的搜索引擎添加到项目中。
项目管理 PROJECT_createProject 将新项目添加到用户帐户。
项目管理 PROJECT_deleteKeywords 从项目中删除关键字。
项目管理 PROJECT_deleteProject 从用户帐户中删除项目。
项目管理 PROJECT_deleteSearchEngine 从项目中删除搜索引擎。
项目管理 PROJECT_getAdsStats 按天计算顶部和底部广告的总数。
项目管理 PROJECT_getHistoricalDates 返回可用于报告的标准比较日期。
项目管理 PROJECT_getKeywordStats 获取指定时间段内的关键字排名统计信息。
项目管理 PROJECT_getSearchEngines 获取项目使用的搜索引擎列表。
项目管理 PROJECT_getSummary 获取项目的汇总统计数据。
项目管理 PROJECT_listKeywords 获取项目目标页面的关键字列表。
项目管理 PROJECT_listProjects 获取所有用户项目的列表。
项目管理 PROJECT_runPositionCheck 对关键字或整个项目进行排名位置检查。
项目管理 PROJECT_setKeywordPosition 手动设置项目关键字的位置。
项目管理 PROJECT_updateProject 更改/更新项目设置。
项目管理 PROJECT_updateSearchEngine 更新项目中的现有搜索引擎。
子账户 PROJECT_createSubAccount 创建新的子帐户。
子账户 PROJECT_deleteSubAccount 删除用户子帐户。
子账户 PROJECT_getSubAccountDetails 获取有关子帐户的详细信息。
子账户 PROJECT_listOwnedProjects 获取属于子帐户的网站ID。
子账户 PROJECT_listSharedProjects 获取与子帐户共享的网站ID。
子账户 PROJECT_listSubAccounts 获取当前用户的所有子帐户列表。
子账户 PROJECT_shareProject 与子帐户共享一个或多个网站。
子账户 PROJECT_updateSubAccount 编辑子帐户设置、限制和权限。
系统 PROJECT_getAvailableRegions 获取谷歌支持的所有可用地区的列表。
系统 PROJECT_getAvailableSearchEngines 获取所有可用搜索引擎的列表。
系统 PROJECT_getGoogleLanguages 获取谷歌搜索引擎可能使用的语言的完整列表。
系统 PROJECT_getSearchVolume 获取一个地区和关键字列表的搜索量数据(最多10个关键字)。
系统 PROJECT_getVolumeRegions 获取SE Ranking可以运行关键字搜索量检查的区域。
url标签 PROJECT_addTag 向网站添加标签并将其附加到链接和/或域。
url标签 PROJECT_deleteTag 删除标签。
url标签 PROJECT_listTags 获取添加到域和/或链接的登录页标签列表。
url标签 PROJECT_updateTag 向域和/或链接添加标签,替换之前添加的标签。

可用提示

提示名称 参数 描述
serp-analysis keyword, location1, location2, language, device 在两个位置为查询创建两个SERP任务,并比较前10个有机域、重叠和独特竞争对手。
backlink-gap my_domain, competitors, min_domain_trust 获取具有最低域名信任度的竞争对手的反向链接,与您的域名进行比较,并找到机会。
domain-traffic-competitors domain 通过共享关键字分析域名的全球/国家有机流量、顶级竞争对手,并提供战略建议。
keyword-clusters market, seed_keywords 为市场提取相关/相似的关键字,清理/消除重复,并根据意图/主题、数量和H1/H2想法对其进行聚类。
ai-share-of-voice domain, competitors, country, llm_engines 估算人工智能搜索(如ChatGPT、Perplexity)与竞争对手的语音份额,列出获胜主题和差距缩小行动。

用法示例:查找关键字机会

配置完成后,您现在可以使用自然语言提示与SE排名数据进行交互。下面是一个示例提示,用于识别域的低挂关键字机会。

将以下内容复制并粘贴到您配置的AI助手中:

Use the seo-mcp to identify the Keywords my domain is overlooking and find low-hanging fruit opportunities.
1. Analyze my domain's keyword performance:
   - Find keywords my domain has lost (not ranking) using the tool for getDomainKeywords with pos_change=lost.
   - Find keywords where my domain's position has gone down using the tool for getDomainKeywords with pos_change=down.
2. Conduct a competitive analysis:
   - Identify my top 2 competitors by finding all competitors with the tool for getDomainCompetitors and ordering them by common_keywords DESC.
   - Find 30 keywords that these competitors are ranking for but my domain is not. Use the getDomainKeywordsComparison tool with diff=1, order_field=volume, and order_type=DESC.
3. Identify new keyword opportunities:
   - For 10 of the competitor keywords found in the previous step, use the tools for getRelatedKeywords and getSimilarKeywords to find the top 5 related and similar keywords for each, ordered by volume DESC.
4. Synthesize and Report:
   - Create a final report of the findings. In the report, highlight potential low-hanging fruit from the new keyword opportunities by analyzing their CPC and keyword difficulty.
Domain to review: seranking.com
Market: us

此提示的作用

该提示指示模型通过以下方式进行全面的竞争分析:

  • 查找丢失和拒绝的关键字:它首先确定seranking.com的关键字,这些关键字要么从排名中丢失,要么排名下降。
  • 识别顶级竞争对手:它会找到所有有机竞争对手,并根据共享关键字的数量对其进行排序,以确定前两名。
  • 揭示竞争对手排名关键词:它将seranking.com与其顶级竞争对手进行比较,找到他们排名的30个高容量关键字,但seranking.com没有。
  • 生成最终报告:最后,它将所有这些信息综合成一份简明的报告,突出了最有希望的增长机会。

故障排除

Docker镜像问题

如果您在连接MCP服务器时遇到问题,以下是诊断问题的几个步骤。

当您运行AI助手(Claude或Gemini)时,验证Docker容器是否正在运行。如果你开始与AI聊天,并且你的MCP服务器通过JSON配置正确设置,它应该会自动启动Docker容器。

要检查它是否正在运行,请打开终端并运行:

docker ps

如果它工作正常,您将看到类似于以下内容的输出:

CONTAINER ID   IMAGE                                    COMMAND                  CREATED          STATUS          PORTS     NAMES
de4e410ef0fd   se-ranking/seo-data-api-mcp-server       "docker-entrypoint.s…"   9 seconds ago    Up 8 seconds              musing_bhabha

这证实了你的AI助手已成功启动容器,并且正在监听连接。

如果 docker ps 显示没有与MCP服务器相关的正在运行的容器,这通常指向配置问题:

  • JSON不正确/无效:请仔细检查 claude_desktop_config json 或 settings.json 对于任何语法错误,如缺少逗号或括号。您可以在此处验证JSON:https://jsonlint.com/.

  • 图像名称不正确:请仔细检查 claude_desktop_config json 或 settings.json 正确的图像名称 se-ranking/seo-data-api-mcp-server

Docker镜像正在运行,但MCP服务器在Claude Desktop/Gemini CLI中不可见

如果docker镜像正在运行,但MCP服务器在Claude Desktop中不可见,您可以通过以下方式调查容器:

docker inspect <container-id>

对于以下示例,容器ID为 de4e410ef0fd:

CONTAINER ID   IMAGE                                    COMMAND                  CREATED          STATUS          PORTS     NAMES
de4e410ef0fd   se-ranking/seo-data-api-mcp-server       "docker-entrypoint.s…"   9 seconds ago    Up 8 seconds              musing_bhabha

注意:如果没有其他容器共享该前缀,您可以缩短容器ID,例如。 docker inspect de4。当您运行多个连接到MCP服务器的AI聊天和/或工具时,可以运行多个容器,但所有容器都具有相同的IMAGE名称。

这将向您显示巨大的JSON输出,其中特别重要的是“Config”部分,例如:

{
  "Config": {
    "Hostname": "0977c3dc06fb",
    "Domainname": "",
    "User": "",
    "AttachStdin": true,
    "AttachStdout": true,
    "AttachStderr": true,
    "Tty": false,
    "OpenStdin": true,
    "StdinOnce": true,
    "Env": [
      "DATA_API_TOKEN=80cfee7d-xxxx-xxxx-xxxx-fc8500816bb3",
      "PROJECT_API_TOKEN=253a73adxxxxxxxxxxxxxx340aa0a939",
      "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
      "NODE_VERSION=20.19.5",
      "YARN_VERSION=1.22.22",
      "NODE_ENV=production"
    ]
  }
}

这将显示您是否设置了正确的环境变量。

贡献

先决条件

  • Node.js 20+
  • npm

运行测试

# Run all tests (compiles TypeScript first)
npm test

# Run only E2E tests
npm run test:e2e

# Run tests in watch mode
npm run test:watch

测试环境变量

创建一个 .env 项目根目录中的文件,包含以下变量:

变量 必填 描述
DATA_API_TOKEN 是 数据API工具的API令牌
PROJECT_API_TOKEN 是 Project API工具的API令牌
E2E_ENABLED 否 设置为 true 启用E2E测试
GEMINI_E2E_ENABLED 否 设置为 true 启用Gemini助手测试

E2E测试

E2E测试 真正的API调用 SE排名服务。它们在默认情况下被禁用,以避免在开发过程中使用不必要的API。

  • 当 E2E_ENABLED=false 如果未设置,则跳过E2E测试
  • 集 E2E_ENABLED=true 使用实时API调用运行完整的测试套件
  • 在启用E2E测试之前,请确保您拥有有效的API令牌

其他开发命令

# Lint code
npm run lint
npm run lint:fix

# Format code
npm run format
npm run format:check

# Type check
npm run typecheck

支持

SE排名API文档:https://seranking.com/api/integrations/mcp/.

如果您有任何问题或需要帮助,请通过以下方式联系我们: api@seranking.com