关于 LLM Optimizer
LLM Optimizer 分析 AI 助手和搜索引擎如何呈现及引用品牌,并提供可见度评分和优先行动建议。其 MCP 服务允许助手访问账户数据并更新待办状态。
主要功能
- 01AI 可见度评分
- 02网站内容优化分析
- 03视频与 Reddit 权威度分析
- 04搜索可见度分析
- 05跨提供商品牌测试
- 06优先行动项
适用场景
- 01评估品牌在 AI 答案中的可见度
- 02找出提升引用率的网站内容调整方向
- 03比较不同 LLM 提供商对品牌的回答
- 04跟踪优化行动
MCP 相关
Streamable HTTP MCP 服务使用 OAuth 2.1,提供已存储的域名、报告、可见度评分和行动项。大多数工具为只读,另有工具可更新待办状态。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://llmopt.metavert.io/mcpclaude mcp add --transport http io-metavert-llmopt https://llmopt.metavert.io/mcp{"mcpServers":{"io-metavert-llmopt":{"type":"http","url":"https://llmopt.metavert.io/mcp"}}}在 Cursor 中打开{"servers":{"io-metavert-llmopt":{"type":"http","url":"https://llmopt.metavert.io/mcp"}}}在 VS Code 中打开{"mcpServers":{"io-metavert-llmopt":{"type":"http","url":"https://llmopt.metavert.io/mcp"}}}{"mcpServers":{"io-metavert-llmopt":{"serverUrl":"https://llmopt.metavert.io/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
LLM Optimizer
LLM Optimizer 是一个 AI 可见度智能平台。它会分析大模型和 AI 搜索引擎如何认知、引用和推荐品牌,并提供有研究依据的优化策略来提升品牌可见度。
ChatGPT、Claude、Gemini、Perplexity 和 Google AI Overviews 正在取代传统搜索,服务数百万用户。决定 AI 是否推荐你品牌的信号与传统 SEO 有本质区别:赢得的媒体报道、转录文本质量、内容结构、训练数据中的出现频率和引用网络动态,比反向链接和关键词密度更重要。LLM Optimizer 会从五个分析维度衡量这些信号,并生成综合 AI 可见度评分(0-100)以及按优先级排列、可执行的建议。
分析内容
LLM Optimizer 执行六类分析,每一类都以同行评审研究为依据:
答案引擎优化 — 根据 GEO(生成式引擎优化)研究验证的优化策略,分析你网站的内容。它会对页面的引述密度(可见度提升 41%)、统计证据(33%)、来源引用(28%)、流畅度、结构优化和机器可读性进行评分,并针对每个问题生成优化评分和具体的改写建议。
视频权威度分析 — 分两个阶段分析 YouTube 内容。第一阶段使用快速模型评估单个视频的转录文本质量、关键词匹配度和字幕可用性。第二阶段将精简评估结果输入推理模型,从四个支柱进行评分:转录权威度、主题主导地位、引用网络和品牌叙事。此分析基于相关研究:YouTube 已成为 LLM 的首要社交引用来源,出现在 16% 的 AI 答案中。
Reddit 权威度分析 — 抓取提及你品牌的 Reddit 讨论,并分析社区情绪、竞争定位和训练数据信号强度。通过 Reddit 的公开 .json 端点访问,并在需要时回退到 Cloudflare WARP 代理。按四个支柱评分:品牌曝光、情绪、竞争定位和训练信号。
搜索可见度分析 — 评估你的网站在 Google AI Overviews 和独立 LLM 中的可见度。检查 robots.txt 中的 AI 爬虫策略、结构化数据、内容时效性、品牌搜索热度和赢得的媒体信号。此分析基于相关研究:Google 搜索排名前 10 的结果与 ChatGPT/Perplexity 引用之间的重合率仅为 12%。
LLM 知识测试 — 使用你品牌的目标查询直接询问多个 LLM 提供商(Anthropic、OpenAI、Gemini、Grok),并分析各模型的回答。比较各提供商对你品牌的曝光度、准确性和推荐可能性。支持竞争对手之间的直接比较。
品牌智能 — 汇总所有分析维度,按优化(30%)、视频权威度(20%)、Reddit 权威度(20%)、搜索可见度(15%)和 LLM 测试(15%)的权重计算综合 AI 可见度评分。生成按优先级排列的行动项,并持续跟踪直至完成。
研究基础
分析方法以已发表的研究为基础。为评分提供依据的主要发现:
- 内容优化:加入权威引述可使 AI 引用可见度提升 +41%;加入统计数据可提升 +33%;堆砌关键词会降低可见度 -9%(GEO,普林斯顿大学/KDD 2024)。
- 训练数据出现频率:在训练数据中,答案准确率从低频(1-5 篇文档)提升到高频(51 篇以上文档)时,增幅超过一倍。内容既出现在训练数据中,又可被检索到,会产生叠加优势(NanoKnow,2026)。
- 来源偏好:AI 搜索引擎引用自有媒体的比例为 72-92%,而引用品牌自有内容的比例为 18-27%。与传统 Google 搜索结果的重合率仅为 15-50%(GEO,多伦多大学 2025)。
- 视频转录文本:使用 YouTube 转录文本训练的 7B 参数模型,在评论质量上超过了 72B 模型。转录文本质量是影响视频对大模型影响力的主导信号,而非制作水平或观看次数(LiveCC,CVPR 2025)。
- 引用集中度:根据服务提供商的不同,排名前 20 的新闻来源占全部 AI 引用的 28-67%。不同 AI 服务提供商引用的来源差异显著(跨系列相似度:0.11-0.58)(AI Search Arena,2025)。
- 内容新鲜度:AI 助手引用的内容比传统搜索内容新 25.7%。新鲜度信号最多可使排名变动 95 位(Ahrefs,2025)。
如需查看包含方法细节、评分框架和提示词架构的完整研究综述,请参阅 research.md。
架构
┌─────────────────────────────────────────────────────────┐
│ Caddy (port 8080) │
│ TLS + reverse proxy │
└──────────┬────────────────────────────┬─────────────────┘
│ │
/api/auth, /api/users, Everything else
/api/tenants, /api/billing,
/api/admin, /api/bootstrap
│ │
▼ ▼
┌─────────────────────┐ ┌──────────────────────────────┐
│ LastSaaS Backend │ │ LLM Optimizer Backend │
│ (port 8091) │ │ (port 8090) │
│ │ │ │
│ - Authentication │ │ - Site analysis engine │
│ - OAuth / SSO │ │ - Video analysis (2-phase) │
│ - Billing (Stripe) │ │ - Reddit analysis │
│ - Tenant management│ │ - Search visibility │
│ - API key mgmt │ │ - LLM knowledge testing │
│ - User management │ │ - Brand intelligence │
│ │ │ - MCP server (OAuth 2.1) │
│ │ │ - REST API (v1) │
│ │ │ - PDF report generation │
│ │ │ - Health monitoring │
│ │ │ - Cloudflare WARP proxy │
└─────────────────────┘ └──────────────────────────────┘
│ │
└────────────┬───────────────┘
▼
┌───────────────────┐
│ MongoDB Atlas │
│ │
│ - analyses │
│ - brand_profiles │
│ - video_analyses │
│ - reddit_cache │
│ - health_checks │
│ - tenants / users│
└───────────────────┘
后端 — Go 1.24,使用标准库 net/http,并采用 gorilla/mux 风格的路由。不使用 Web 框架。LLM 提供商抽象支持 Anthropic、OpenAI、Gemini 和 Grok,并通过 SSE 流式传输响应。每个提供商都实现了 Call、Stream、VerifyKey 和 BuildStreamBody 通用接口。
前端 — React 19 + TypeScript + Vite + Tailwind CSS。单页应用使用 SSE 实时流式传输分析进度。SaaS 部署采用前端叠加系统,在基础 LastSaaS 前端上扩展产品专属页面。
多租户 SaaS — 基于 LastSaaS 构建,这是一个开源 SaaS 框架,提供身份验证、计费(Stripe)、租户隔离和用户管理。LLM Optimizer 作为依赖应用运行——LastSaaS 负责身份验证和计费层,LLM Optimizer 负责产品层。
MCP 服务 — Model Context Protocol 服务使用支持 OAuth 2.1(PKCE + Dynamic Client Registration)的 Streamable HTTP 传输方式。Claude 等 AI 助手可通过该服务以编程方式访问分析数据、可见度评分和待办事项。
Cloudflare WARP — 集成为 SOCKS5 代理,用于 Reddit 抓取的备用方案(应对 429/403 速率限制)。
前置条件
- Go 1.24+
- Node.js 20+ 和 npm
- MongoDB(推荐使用 Atlas,本地部署也适用于开发)
- Anthropic API 密钥(必需——用于网站分析、优化评分和品牌情报)
- LastSaaS(SaaS 模式下身份验证和计费所必需;独立模式下可选)
用于其他提供商和功能的可选 API 密钥:
- OpenAI API 密钥 — 使用 GPT 模型进行 LLM 知识测试
- Google Gemini API 密钥 — 使用 Gemini 模型进行 LLM 知识测试
- xAI Grok API 密钥 — 使用 Grok 模型进行 LLM 知识测试
- YouTube Data API 密钥 — 视频权威性分析
设置
独立模式(单用户,无身份验证)
-
克隆仓库:
git clone https://github.com/metavert-io/llmopt.git cd llmopt -
复制示例环境文件并填写相应值:
cp .env.dev.example .env必需变量:
ANTHROPIC_API_KEY=sk-ant-api03-your-key-here MONGODB_URI=mongodb+srv://user:[email protected]/?appName=Cluster0 PORT=8080 -
构建并运行后端:
cd backend go build -o llmopt . ./llmopt -
构建并运行前端(在单独的终端中):
cd frontend npm install npm run dev -
在浏览器中打开
http://localhost:5173。
SaaS 模式(支持身份验证和计费的多租户模式)
SaaS 模式需要依赖 LastSaaS。LastSaaS 提供身份验证(OAuth/SSO)、Stripe 计费、租户管理和管理界面。
-
克隆仓库并包含 LastSaaS 依赖:
git clone https://github.com/metavert-io/llmopt.git cd llmopt git clone https://github.com/metavert-io/lastsaas.git lastsaas -
配置环境变量:
cp .env.prod.example .envSaaS 模式所需的额外变量:
LLMOPT_SAAS_ENABLED=true LLMOPT_ENCRYPTION_KEY=<32-byte-hex-key-for-tenant-api-key-encryption> LLMOPT_JWT_ACCESS_SECRET=<random-secret-for-jwt-signing>完整的身份验证/计费环境变量列表(Google OAuth、Stripe 密钥等),请参阅 LastSaaS README。
-
本地开发时,使用启动脚本:
./start-saas.sh -
在 Fly.io 上部署到生产环境:
fly deploy -c fly.saas.toml完整的部署指南请参阅 deploy.md。
构建验证
cd backend && go build ./...
cd ../frontend && npx tsc --noEmit
环境变量
| 变量 | 必需 | 描述 |
|---|---|---|
ANTHROPIC_API_KEY | 是 | 用于分析引擎的 Anthropic API 密钥 |
MONGODB_URI | 是 | MongoDB 连接字符串 |
PORT | 否 | 服务端口(默认:8080) |
DATABASE_NAME | 否 | MongoDB 数据库名称(默认:llmopt) |
LLMOPT_SAAS_ENABLED | 仅 SaaS 模式 | 启用多租户 SaaS 模式 |
LLMOPT_ENCRYPTION_KEY | 仅 SaaS 模式 | 用于加密租户 API 密钥的 AES 密钥 |
LLMOPT_JWT_ACCESS_SECRET | 仅 SaaS 模式 | 用于 JWT 签名的 HMAC 密钥 |
MCP_JWT_SECRET | 否 | MCP OAuth 令牌签名密钥(若未设置,则从加密密钥派生) |
BASE_URL | 否 | OAuth 元数据的公开 URL(默认:https://llmopt.metavert.io) |
YOUTUBE_API_KEY | 否 | 用于视频分析的 YouTube Data API 密钥 |
项目结构
llmopt/
├── backend/
│ ├── main.go # HTTP server, routes, handlers, health checks
│ ├── models.go # MongoDB document models
│ ├── db.go # Database connection, collections, indexes
│ ├── llm.go # LLM provider abstraction, streaming helpers
│ ├── provider.go # Provider interface and registry
│ ├── provider_anthropic.go # Anthropic Claude implementation
│ ├── provider_openai.go # OpenAI GPT implementation
│ ├── provider_gemini.go # Google Gemini implementation
│ ├── provider_grok.go # xAI Grok implementation
│ ├── youtube.go # YouTube Data API client, video analysis
│ ├── reddit.go # Reddit scraper with WARP fallback
│ ├── report_pdf.go # PDF report generation
│ ├── screenshot.go # Chromedp-based page screenshots
│ ├── api_v1.go # REST API v1 handlers
│ ├── crypto.go # AES encryption for tenant API keys
│ ├── migration.go # Database migrations
│ ├── telemetry.go # Anonymous usage telemetry
│ └── internal/
│ ├── mcpserver/ # MCP protocol server (OAuth 2.1 + tools)
│ ├── saas/ # SaaS middleware (JWT, tenant context)
│ └── ratelimit/ # Rate limiting
├── frontend/ # React + TypeScript + Vite + Tailwind
│ └── src/
│ ├── App.tsx # Main application (analysis UI, dashboards)
│ └── main.tsx # Entry point
├── frontend-overlay/ # SaaS-specific frontend extensions
│ └── src/
│ ├── pages/ # Settings, API key management
│ └── components/ # SaaS-specific UI components
├── deploy/
│ ├── Caddyfile # Caddy reverse proxy config
│ └── supervisord.conf # Process manager config
├── lastsaas/ # LastSaaS dependency (git clone, gitignored)
├── research.md # Full research synthesis with citations
├── deploy.md # Production deployment guide
├── Dockerfile # Standalone mode
├── Dockerfile.saas # SaaS mode (Caddy + supervisord)
├── fly.toml # Fly.io config (standalone)
├── fly.saas.toml # Fly.io config (SaaS)
└── start-saas.sh # Local SaaS development script
MCP 服务
LLM Optimizer 包含一个 Model Context Protocol(MCP) 服务,可让 Claude 等 AI 助手以编程方式访问您的品牌情报和优化数据。该服务使用 Streamable HTTP 传输方式,并通过 OAuth 2.1 进行身份验证。
服务 URL: https://llmopt.metavert.io/mcp
已列入 Smithery 和 awesome-mcp-servers(Glama)。官方 MCP Registry 提交正在进行中。
隐私
LLM Optimizer MCP 服务仅访问您 LLM Optimizer 账户中已存储的数据(域名、报告、可见性评分和待办事项)。不会与第三方共享数据。只读工具(llmopt_list_domains、llmopt_get_report、llmopt_get_visibility_score、llmopt_list_todos)不会修改任何数据。llmopt_update_todo 工具只会更改待办事项的状态字段。API 密钥和 OAuth 令牌通过 HTTPS 传输,并以哈希形式存储(SHA-256)。完整详情请参阅隐私政策。
身份验证
选项 1 — 访问密钥(推荐): 在应用的 Settings → Access Keys 中创建个人 lok_ 访问密钥。连接时,在 OAuth 提示中输入该密钥。每个密钥都可完整访问您账户中的 MCP 工具。
选项 2 — OAuth 2.1: 完整的基于浏览器的 OAuth 流程,使用 PKCE。添加服务 URL 后,Claude Desktop 会自动处理此流程。
可用工具
| 工具 | 描述 | 参数 |
|---|---|---|
llmopt_list_domains | 列出为你的账户跟踪的所有域名 | (无) |
llmopt_get_report | 获取指定域名的分析报告 | domain(必填),report_type(必填):analysis、optimizations、video、reddit、search、summary、tests、brand |
llmopt_get_visibility_score | 获取域名的综合 AI 可见度评分(0-100),该评分按 5 个组成部分加权计算 | domain(必填) |
llmopt_list_todos | 列出优化分析中的待办事项 | status(可选):todo、completed、backlogged、archived;domain(可选) |
llmopt_update_todo | 更新待办事项的状态(仅限管理员/所有者) | id(必填),status(必填):todo、completed、backlogged、archived |
使用示例
1. 快速获取品牌健康状况摘要
“acme.com 的 AI 可见度评分是多少?有哪些首要建议?”
Claude 会调用 llmopt_get_visibility_score,然后调用 llmopt_get_report(report_type: summary),为你概述品牌在大模型输出中的呈现情况以及优先需要修复的问题。
2. 梳理优化积压事项
“按域名优先级,向我展示所有域名中未完成的待办事项。”
Claude 会使用 status: todo 调用 llmopt_list_todos,按域名对结果分组,并将其整理为按优先级排序的任务列表,供你分配或安排。
3. 对比竞争对手的可见度
“对比 acme.com 和 competitorx.com 的分析报告,告诉我我们在哪些方面落后。”
Claude 会获取两个域名的 llmopt_get_report(report_type: analysis),然后综合分析差异,找出竞争对手被提及而你未被提及的主题。
4. 每日品牌简报
“为我生成一份每日简报:mycompany.com 的可见度评分变化、新待办事项和 Reddit 情绪如何?”
Claude 会串联调用 llmopt_get_visibility_score、llmopt_list_todos(status: todo)和 llmopt_get_report(report_type: reddit),生成一份简洁的晨间摘要,方便你直接发到 Slack。
5. 完成已处理的工作
“我已经完成所有元描述更新。将 acme.com 的所有元描述待办事项标记为已完成。”
Claude 会按域名筛选调用 llmopt_list_todos,查找相关事项,然后逐项调用 llmopt_update_todo,并确认哪些事项已更新。
MCP 配置
Claude Code(原生 HTTP)
在 ~/.claude.json 的 mcpServers 下添加:
{
"mcpServers": {
"llmopt-mcp": {
"type": "http",
"url": "https://llmopt.metavert.io/mcp"
}
}
}
首次使用时,Claude Code 会打开浏览器进行授权。输入你的 lok_ 访问密钥(可在 Settings → Access Keys 中创建)。
Claude Desktop
选项 A — OAuth(最简单,无需管理密钥):
npm install -g mcp-remote
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"llmopt-mcp": {
"command": "npx",
"args": ["mcp-remote", "https://llmopt.metavert.io/mcp"]
}
}
}
首次启动时,浏览器窗口会打开以进行授权。登录 llmopt.metavert.io,并输入你的 lok_ 访问密钥。
选项 B — 直接使用密钥(无需浏览器授权,更适合高级用户):
{
"mcpServers": {
"llmopt-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://llmopt.metavert.io/mcp",
"--header",
"Authorization: Bearer lok_your_access_key_here"
]
}
}
}
将 lok_your_access_key_here 替换为 Settings → Access Keys 中的密钥。
直接使用 HTTP
# List available tools
curl -X POST https://llmopt.metavert.io/mcp \
-H "Authorization: Bearer lok_your_access_key" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# Get visibility score
curl -X POST https://llmopt.metavert.io/mcp \
-H "Authorization: Bearer lok_your_access_key" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"llmopt_get_visibility_score","arguments":{"domain":"acme.com"}}}'
OAuth 端点
| 端点 | 描述 |
|---|---|
GET /.well-known/oauth-protected-resource | 受保护资源元数据(RFC 9728) |
GET /.well-known/oauth-authorization-server | 授权服务器元数据(RFC 8414) |
POST /oauth/register | 动态客户端注册(RFC 7591) |
GET /oauth/authorize | 授权端点 |
POST /oauth/token | 令牌端点(代码交换 + 刷新) |
REST API
/api/v1/ 也提供 REST API。请参阅 API 文档页面,查看格式化指南。
许可证
MIT - 版权所有 (c) 2026 Metavert LLC
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。