MCP反向链接内容生成器
MCP 套件,用于三方控制的反向链接生成,重点是 publication_domain × target_url × anchor_text。
概述
该系统实施完整的MCP(模型上下文协议)架构,以自动化和质量保证反向链接内容的生产。该系统采用确定性方法,包括飞行前规划、自动质量控制验证和合规检查。
Arkitektur
MCP服务器
- analysis - 用于发布者配置文件,锚组合和事件日志的数据库适配器
- 收藏家 - 用于SERP,媒体信号和SEO指标的数据收集器(v1中的模拟)
- 特征 - 用于实体图和锚组合分析的功能构建器
- 预检 - 反向链接内容的飞行前规划和QC验证
泰克尼斯克堆栈
- Python 3.11
- PostgreSQL 16
- Docker&Docker编写
- MCP服务器Python SDK
- Jinja2 模板
- JSON Schema 验证
快速启动
克罗夫
- Docker&Docker编写
- Python 3.11+(用于本地开发)
- 最低4GB RAM
- 10GB 磁盘空间
安装
- 克隆报告 :
git clone https://github.com/robwestz/mcp-blcwrtr.git
cd mcp-blcwrtr- 复制环境变量 :
cp .env.example .env- 启动系统:
docker compose up -d- 确认一切都在运行:
docker compose ps
docker compose logs -f
# Vänta tills du ser "READY" från alla servrar- 测试数据库连接 :
docker compose exec analysisdb psql -U analysis -d analysisdb -c "SELECT 1;"环境变量
编辑 .env 你的价值观:
# Databas
DATABASE_URL=postgresql://analysis:analysis@postgres:5432/analysisdb
# Externa API:er (mock_first mode i v1)
SERP_API_KEY=din_serp_nyckel_här # Krävs ej i mock-läge
AHREFS_KEY=din_ahrefs_nyckel_här # Optional
SEMRUSH_KEY=din_semrush_nyckel_här # Optional
# Feature toggles
USE_MOCK_COLLECTORS=true # Använd mock-data för collectors
USE_SUPABASE=false # Använd lokal Postgres
# Säkerhet
ALLOWED_DOMAINS=genline.se,happycasino.se
COMPETITOR_DOMAINS=casinoguide.se,bettingexpert.seMCP 网关配置
要通过 MCP 客户端使用工具,请配置网关指向 gateway/mcp-gateway.config.json:
# Exempel med Claude Desktop eller annan MCP-klient
mcp-client --config ./gateway/mcp-gateway.config.json可用工具
analysis
db.get_publisher_profile- 下载域名的发布者配置文件db.get_anchor_portfolio- 分析目标URL的锚组合db.get_pages- 列出客户或库存页面db.log_event- 记录事件进行跟踪
收藏家
serp.get_snapshotSERP 分析,包括 Intent 和 LSI 术语media.signals- 新闻,视频和播客信号ahrefs.metrics-\[可选\]Ahrefs SEO指标semrush.metrics-\[可选\]Semrush SEO度量器
特征
features.entity_graph- 从种子术语构建实体图features.anchor_portfolio.recalc- 重新计算锚组合
预检
preflight.build- 从订单构建预飞矩阵qc.validate- 验证文章符合QC门槛
使用范例
1. 为新订单建立预飞
{
"tool": "preflight.build",
"input": {
"order": {
"order_ref": "550e8400-e29b-41d4-a716-446655440000",
"customer_id": "cust_001",
"publication_domain": "genline.se",
"target_url": "https://happycasino.se/casino",
"anchor_text": "casino",
"topic": "Så undviker du falska ledtrådar i släktforskningen",
"constraints": {
"word_count": 800,
"tone": "informativ",
"compliance": ["gambling"]
}
}
}
}2. 验证文章
{
"tool": "qc.validate",
"input": {
"article_text": "## Rubrik\n\nInnehåll med [[casino]] länk...",
"preflight_matrix": {...},
"auto_fix": true
}
}QC验证
该系统对以下门槛进行验证:
- LSI术语至少6个独特术语,距离锚±2个句子内
- 信任信号员至少1个可靠来源(最好是T1/T2)
- 脚踝系带从不在标题,最好是在中心
- 合规受监管地区的行业特定免责声明
状态级别
- 批准 (≥85分):准备发货
- LIGHT_编辑 (≥70分):需要更小的调整
- 已屏蔽 (\<70分):关键问题需要解决
发展
运行测试
# Alla tester
make test
# Specifik server
docker compose exec analysisdb pytest -v tests/
# Med coverage
docker compose exec analysisdb pytest --cov=src tests/代码检查
make lint数据库迁移
将 SQL 文件放在 infra/migrations/ 并运行:
docker compose exec postgres psql -U analysis -d analysisdb -f /migrations/your_migration.sql故障排除
正常问题
问题:“READY”在日志中不可见
解决方案 :
# Kontrollera databas
docker compose exec postgres pg_isready
# Återskapa containers
docker compose down -v
docker compose up -d --build问题:“ERR_DB_CONN”为
解决方案 :
- 验证器DATABASE_URL i
.env - 检查 postgres 容器是否正在运行
- 等待数据库初始化 15 秒
问题:尽管有 API 密钥,但仍会返回模拟数据
解决方案 :
# Sätt USE_MOCK_COLLECTORS=false
# Starta om collectors
docker compose restart collectors日志
# Alla loggar
docker compose logs -f
# Specifik server
docker compose logs -f preflight
# Sök efter fel
docker compose logs | grep ERROR项目结构
mcp-blcwrtr/
├── docker-compose.yml # Orkestrering
├── gateway/ # MCP gateway-konfiguration
├── servers/ # MCP-servrar
│ ├── analysisdb/ # Databasadapter
│ ├── collectors/ # Datainsamlare
│ ├── features/ # Feature builders
│ └── preflight/ # Planering & QC
├── infra/ # Infrastruktur
│ ├── db/init/ # Databas-schema
│ └── scripts/ # Hjälpskript
├── qc/ # QC-konfiguration
└── kb/ # Knowledge base知识库
硒 kb/用于详细文档的文件夹:
- 锚风险优化
- 发布者分析
- LSI和lemmatization
- E-E-A-T信号器
- 合规政策
- m.m。
Bidra
- Forka报告
- 创建 功能 分支
git checkout -b feature/AmazingFeature) - 提交修改(
git commit -m 'Add AmazingFeature') - 蒲莎直枝(
git push origin feature/AmazingFeature) - 打开 Pull Request
许可证
MIT License - 详情请参阅 LICENSE 文件。
支持
有关问题和支持:
- 创建一个GitHub问题
- 通过项目页面联系团队
更新日志
硒 更改日志.md 版本历史。
