@smcphub/search-engine-indexing
v0.0.3
Published
A MCP Server for search engine indexing and URL submission to major search engines by SMCPHUB
Maintainers
Readme
Search Engine Indexing MCP Server
一个用于搜索引擎索引和 URL 提交的 MCP 服务器,支持百度、必应等主流搜索引擎。
功能特性
- 支持百度搜索和必应搜索的 URL 提交
- 自动从数据库查询未推送的 URL
- 智能域名验证和格式化
- 自动更新推送状态
安装依赖
npm install环境变量配置
在项目根目录创建 .env 文件,配置以下环境变量:
# 百度站长平台 API Token
BAIDU_ACCESS_TOKEN=your_baidu_access_token
# 必应站长工具 API Key
BING_API_KEY=your_bing_api_key
# SMCPHUB API 配置
SMCPHUB_API_KEY=your_smcphub_api_key后端服务要求
此服务需要连接到 SMCPHUB 后端 API,后端需要提供以下服务:
site-management 服务
提供网站管理相关功能:
get_unpushed_urls 方法
获取未推送的 URL 记录:
- 参数:
domain(域名),limit(限制条数,默认10) - 返回:未推送的 URL 列表,包含
id和url字段
update_urls_push_status 方法
更新 URL 推送状态:
- 参数:
domain(域名),url_ids(URL ID 数组) - 功能:将指定 URL 的
pushed_to_search_engine状态更新为true
数据库表结构
后端需要维护以下数据表:
ai_sites 表
存储网站域名信息:
id: 主键domain: 域名user_id: 用户IDcreated_at: 创建时间updated_at: 更新时间
ai_site_urls 表
存储网站 URL 信息:
id: 主键site_id: 关联的站点IDurl: URL地址pushed_to_search_engine: 是否已推送到搜索引擎created_at: 创建时间updated_at: 更新时间
使用方法
1. 手动指定 URL 推送
{
"search_engine": "baidu",
"domain": "https://example.com",
"urls": [
"https://example.com/page1",
"https://example.com/page2"
]
}2. 自动查询未推送 URL
{
"search_engine": "baidu",
"domain": "https://example.com"
// urls 参数为空时,会自动从数据库查询 10 条未推送的 URL
}工作流程
- URL 获取:
- 如果提供了
urls参数,使用提供的 URL - 如果
urls为空,调用后端 API 查询 10 条pushed_to_search_engine=0的记录
- 如果提供了
- 搜索引擎推送: 根据指定的搜索引擎执行 URL 推送
- 状态更新: 推送成功后,调用后端 API 更新对应 URL 的
pushed_to_search_engine状态为true
支持的搜索引擎
- 百度 (baidu): 使用百度站长平台 API
- 必应 (bing): 使用必应 IndexNow API
错误处理
- 无未推送 URL:当自动查询模式且没有未推送 URL 时返回错误
- API 调用失败:返回具体的错误信息
- 后端服务不可用:返回连接错误信息
- 认证失败:返回 API 密钥错误信息
开发说明
构建项目
npm run build类型定义
项目使用 TypeScript,包含完整的类型定义。主要类型包括:
SearchEngine: 搜索引擎枚举PushUrlsParams: 推送参数类型
注意事项
- 确保后端 API 服务正常运行
- 配置正确的 SMCPHUB API 密钥
- 确保后端已实现
site-management服务的相关方法 - 域名和 URL 记录需要先在后端数据库中注册
许可证
Apache-2.0
