背光MCP
面向公众的MCP(模型上下文协议)服务器在 $0.10/查询 --无需每年1200美元以上的订阅费。
列在 CTX协议市场.MCP端点: https://mcp.backlinq.dev/mcp
付费工具调用通过CTX协议上下文中间件进行身份验证(@ctxprotocol/sdk).发现方法(initialize, tools/list)是开放的; tools/call 需要有效的CTX JWT。
______________________________________________________________________
MCP工具
| 工具 | 输入 | 输出 |
|---|---|---|
get_domain_authority | domain: string | PageRank、域名权威、垃圾邮件评分 |
get_backlink_profile | domain: string, limit?: number | 顶级反向链接、PageRank、引用域名数+情报 |
get_referring_domains | domain: string, limit?: number | 重复引用域列表+智能 |
compare_domains | domainA: string, domainB: string | 并排的权威指标+判决 |
响应丰富
Moz数据用于在没有额外API成本的情况下导出情报信号:
get_backlink_profile→backlink_intelligence:dofollow比率、垃圾邮件风险等级、前5个锚文本、DA bucket的权限分布get_referring_domains→referring_domain_intelligence:平均引用DA、高权限域数(DA>60)、dofollow域比率compare_domains→verdict:更强大的权威,更干净的垃圾邮件档案,简明的语言摘要
______________________________________________________________________
入门指南
先决条件
- 包子 >= 1.0
- Moz API证书- moz.com/products/api
1.克隆并安装
git clone https://github.com/allwells/backlinq-mcp.git
cd backlinq-mcp
bun install2.配置环境变量
cp .env.example .env打开 .env 并填写您的密钥:
# Moz API — https://moz.com/products/api
MOZ_ACCESS_ID=your_access_id_here
MOZ_SECRET_KEY=your_secret_key_here
# Default result limit when callers omit the limit argument (default: 20, max: 100)
MOZ_DEFAULT_BACKLINKS_LIMIT=20
MOZ_DEFAULT_REFERRING_DOMAINS_LIMIT=20
# Server port (default: 8000)
PORT=8000
# SQLite database path (default: ./backlinq.db)
DB_PATH=./backlinq.db3.在本地运行
bun run dev服务器启动时间 http://localhost:8000MCP终点为 POST /mcp.
4.为生产而建造
bun run build
bun start5.运行测试
bun test6.类型检查
bun run typecheck______________________________________________________________________
缓存
所有Moz API响应都持久化到本地SQLite数据库中(bun:sqlite)以避免多余的API调用。
| 表 | 数据 | TTL |
|---|---|---|
domain_authority_cache | DA、垃圾邮件评分、MozRank、链接计数 | 24小时 |
backlink_cache | 带有锚文本、源DA、链接类型的反向链接条目 | 7天 |
referring_domain_cache | 引用每个域名DA的域名 | 7天 |
query_log | 每次查询审核日志(域、工具、缓存命中) | -- |
warm_cache_status | 种子热作业的一枪完成标志 | -- |
moz_api_calls | 每个Moz API调用-端点、域、状态、响应时间 | - |
缓存命中记录在 INFO 水平。所有工具都提供过时的缓存数据(使用 note 当Moz小时预算接近其极限或无法达到Moz时。
数据库文件路径可通过以下方式配置 DB_PATH (默认值: ./backlinq.db).启动时的数据库故障会优雅地降级——服务器在没有缓存的情况下运行,而不是拒绝启动。
要从命令行检查缓存命中率,请执行以下操作:
bun run cache:stats费率限制预算
服务器跟踪中的每个Moz API调用 moz_api_calls 当接近配置的限制时,表会自动后退。
MOZ_HOURLY_LIMIT=200 # default
MOZ_DAILY_LIMIT=2000 # default
MOZ_CONCURRENCY=10 # default — max concurrent in-flight Moz requests在每小时限制的80%时,工具会切换到提供过时的缓存数据,而不是进行新的API调用。如果域中不存在过时的数据,则实时调用将继续进行。调整限制 .env 以配合你的Moz计划。
后台作业
在服务器进程中运行两个作业以保持缓存温暖:
- 缓存加热器 --运行一次(由DB标志跟踪),在新安装时为约1000个知名域名种子DA数据。如果您的数据库没有跨部署持久化(例如临时容器存储),请设置
SKIP_CACHE_WARM=true完全禁用它,避免每次重新部署时燃烧Moz配额。 - 预加载作业 --每24小时运行一次(启动后1小时首次运行),查找DA数据在6小时内过期的前500个缓存未命中域,并主动刷新它们。
______________________________________________________________________
建筑
src/
├── index.ts # Entry point — validates env, inits DB, warms cache, starts server
├── server.ts # McpServer setup + Express HTTP transport
├── database.ts # SQLite cache layer (bun:sqlite)
├── rateLimit.ts # Moz budget tracker — recordApiCall(), isApproachingLimit()
├── data/
│ └── seed-domains.ts # ~1 000 well-known domains for cache warm job
├── jobs/
│ ├── warm-cache.ts # One-shot seed job (runs once per deployment)
│ └── preload.ts # 24 h refresh job (top-missed expiring domains)
├── cli/
│ └── stats.ts # Cache statistics CLI (bun run cache:stats)
├── adapters/
│ ├── moz.ts # Primary — url_metrics, /v2/links, /v2/linking_root_domains
│ └── commonCrawl.ts # Fallback for backlinks + referring domains
├── tools/
│ ├── domainAuthority.ts
│ ├── backlinkProfile.ts
│ ├── referringDomains.ts
│ └── compareDomains.ts
├── types/
│ ├── index.ts # All shared TypeScript interfaces
│ └── bun-sqlite.d.ts # Type declarations for bun:sqlite built-in
└── utils/
├── validator.ts # cleanDomain(), assertValidDomain()
├── formatter.ts # Response formatting helpers
├── limiter.ts # Async semaphore for Moz API concurrency control
├── cache.ts # In-memory TTL cache (Common Crawl fallback)
└── logger.ts # Structured logger (stderr only)有关每一层的详细演练——请求生命周期、适配器内部、缓存策略、速率限制设计、后台作业和丰富计算——请参阅 建筑.md.
______________________________________________________________________
健康检查
GET /health
→ { "status": "OK", "service": "Backlinq MCP", "version": "1.2.0" }______________________________________________________________________
数据源
| 来源 | 数据 | 成本 |
|---|---|---|
| Moz API | 域名管理局、垃圾邮件评分、反向链接、引用域 | 付费 |
| 常见爬行 | 反向链接,引用域名(回退) | 免费 |
