We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lizouzt/TrendRadar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>热点新闻分析</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js" integrity="sha512-BNaRQnYJYiPSqHHDb58B0yaPfCu+Wgds8Gp/gU33kqBtgNS4tSPHuGibyoeqMV/TJlSKda6FXzoEyYGjTe+vXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<style>
* { box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
margin: 0;
padding: 16px;
background: #fafafa;
color: #333;
line-height: 1.5;
}
.container {
max-width: 600px;
margin: 0 auto;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
.header {
background: linear-gradient(135deg, #7a72ff 0%, #3aafed 100%);
color: #fff;
padding: 32px 24px;
text-align: center;
position: relative;
}
.save-buttons {
position: absolute;
top: 16px;
right: 16px;
display: flex;
gap: 8px;
}
.save-btn {
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.3);
color: white;
padding: 8px 16px;
border-radius: 6px;
cursor: pointer;
font-size: 13px;
font-weight: 500;
transition: all 0.2s ease;
backdrop-filter: blur(10px);
white-space: nowrap;
}
.save-btn:hover {
background: rgba(255, 255, 255, 0.3);
border-color: rgba(255, 255, 255, 0.5);
transform: translateY(-1px);
}
.save-btn:active {
transform: translateY(0);
}
.save-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.header-title {
font-size: 22px;
font-weight: 700;
margin: 0 0 20px 0;
}
.header-info {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
font-size: 14px;
opacity: 0.95;
}
.info-item {
text-align: center;
}
.info-label {
display: block;
font-size: 12px;
opacity: 0.8;
margin-bottom: 4px;
}
.info-value {
font-weight: 600;
font-size: 16px;
}
.content {
padding: 24px;
}
.word-group {
margin-bottom: 40px;
}
.word-group:first-child {
margin-top: 0;
}
.word-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
padding-bottom: 8px;
border-bottom: 1px solid #f0f0f0;
}
.word-info {
display: flex;
align-items: center;
gap: 12px;
}
.word-name {
font-size: 17px;
font-weight: 600;
color: #1a1a1a;
}
.word-count {
color: #666;
font-size: 13px;
font-weight: 500;
}
.word-count.hot { color: #dc2626; font-weight: 600; }
.word-count.warm { color: #ea580c; font-weight: 600; }
.word-index {
color: #999;
font-size: 12px;
}
.news-item {
margin-bottom: 20px;
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
position: relative;
display: flex;
gap: 12px;
align-items: center;
}
.news-item:last-child {
border-bottom: none;
}
.news-item.new::after {
content: "NEW";
position: absolute;
top: 12px;
right: 0;
background: #fbbf24;
color: #92400e;
font-size: 9px;
font-weight: 700;
padding: 3px 6px;
border-radius: 4px;
letter-spacing: 0.5px;
}
.news-number {
color: #999;
font-size: 13px;
font-weight: 600;
min-width: 20px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
align-self: flex-start;
margin-top: 8px;
}
.news-content {
flex: 1;
min-width: 0;
padding-right: 40px;
}
.news-item.new .news-content {
padding-right: 50px;
}
.news-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
flex-wrap: wrap;
}
.source-name {
color: #666;
font-size: 12px;
font-weight: 500;
}
.rank-num {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 2px 6px;
border-radius: 10px;
min-width: 18px;
text-align: center;
}
.rank-num.top { background: #dc2626; }
.rank-num.high { background: #ea580c; }
.time-info {
color: #999;
font-size: 11px;
}
.count-info {
color: #059669;
font-size: 11px;
font-weight: 500;
}
.news-title {
font-size: 15px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.news-link {
color: #2563eb;
text-decoration: none;
}
.news-link:hover {
text-decoration: underline;
}
.news-link:visited {
color: #7c3aed;
}
.topic-trend-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.topic-trend-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.viral-topic-item {
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
}
.viral-topic-item:last-child {
border-bottom: none;
}
.viral-topic-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
}
.viral-topic-keyword {
font-size: 16px;
font-weight: 600;
}
.topic-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.topic-item:last-child {
border-bottom: none;
}
.viral-topic-stats {
font-size: 12px;
color: #666;
}
.viral-topic-stats .new { color: #dc2626; font-weight: bold; }
.viral-topic-stats .up { color: #f59e0b; font-weight: bold; }
.viral-topic-stats .level-high { color: #dc2626; font-weight: bold; }
.viral-topic-stats .level-mid { color: #f59e0b; font-weight: bold; }
.viral-sample-titles {
list-style: none;
padding-left: 16px;
margin: 0;
font-size: 13px;
}
.viral-sample-titles li {
color: #666;
padding: 4px 0;
position: relative;
}
.viral-sample-titles li::before { content: '▪'; position: absolute; left: -14px; color: #ccc; }
.new-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.new-section-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.new-source-group {
margin-bottom: 24px;
}
.new-source-title {
color: #666;
font-size: 13px;
font-weight: 500;
margin: 0 0 12px 0;
padding-bottom: 6px;
border-bottom: 1px solid #f5f5f5;
}
.new-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.new-item:last-child {
border-bottom: none;
}
.new-item-number {
color: #999;
font-size: 12px;
font-weight: 600;
min-width: 18px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
}
.new-item-rank {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 3px 6px;
border-radius: 8px;
min-width: 20px;
text-align: center;
flex-shrink: 0;
}
.new-item-rank.top { background: #dc2626; }
.new-item-rank.high { background: #ea580c; }
.new-item-content {
flex: 1;
min-width: 0;
}
.new-item-title {
font-size: 14px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.error-section {
background: #fef2f2;
border: 1px solid #fecaca;
border-radius: 8px;
padding: 16px;
margin-bottom: 24px;
}
.error-title {
color: #dc2626;
font-size: 14px;
font-weight: 600;
margin: 0 0 8px 0;
}
.error-list {
list-style: none;
padding: 0;
margin: 0;
}
.error-item {
color: #991b1b;
font-size: 13px;
padding: 2px 0;
font-family: 'SF Mono', Consolas, monospace;
}
.footer {
margin-top: 32px;
padding: 20px 24px;
background: #f8f9fa;
border-top: 1px solid #e5e7eb;
text-align: center;
}
.footer-content {
font-size: 13px;
color: #6b7280;
line-height: 1.6;
}
.footer-link {
color: #4f46e5;
text-decoration: none;
font-weight: 500;
transition: color 0.2s ease;
}
.footer-link:hover {
color: #7c3aed;
text-decoration: underline;
}
.project-name {
font-weight: 600;
color: #374151;
}
@media (max-width: 480px) {
body { padding: 12px; }
.header { padding: 24px 20px; }
.content { padding: 20px; }
.footer { padding: 16px 20px; }
.header-info { grid-template-columns: 1fr; gap: 12px; }
.news-header { gap: 6px; }
.news-content { padding-right: 45px; }
.news-item { gap: 8px; }
.new-item { gap: 8px; }
.news-number { width: 20px; height: 20px; font-size: 12px; }
.save-buttons {
position: static;
margin-bottom: 16px;
display: flex;
gap: 8px;
justify-content: center;
flex-direction: column;
width: 100%;
}
.save-btn {
width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<div class="save-buttons">
<button class="save-btn" onclick="saveAsImage()">保存为图片</button>
<button class="save-btn" onclick="saveAsMultipleImages()">分段保存</button>
</div>
<div class="header-title">热点新闻分析</div>
<div class="header-info">
<div class="info-item">
<span class="info-label">报告类型</span>
<span class="info-value">实时分析</span>
</div>
<div class="info-item">
<span class="info-label">新闻总数</span>
<span class="info-value">155 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">8 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">01-24 14:25</span>
</div>
</div>
</div>
<div class="content">
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">ai 人工智能</div>
<div class="word-count ">3 条</div>
</div>
<div class="word-index">1/3</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num top">2</span><span class="time-info">14时25分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2268544" target="_blank" class="news-link">AI应用龙头月内涨超100% 梳理AI应用收入及占比居前A股名单</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">澎湃新闻</span><span class="rank-num ">20</span><span class="time-info">14时25分</span>
</div>
<div class="news-title"><a href="https://m.thepaper.cn/newsDetail_forward_32456544" target="_blank" class="news-link">白宫发特朗普在格陵兰岛牵企鹅AI图,网友:格陵兰岛没企鹅</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">3</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">今日头条</span><span class="rank-num ">21</span><span class="time-info">14时25分</span>
</div>
<div class="news-title"><a href="https://www.toutiao.com/trending/7598238497476034602/" target="_blank" class="news-link">白宫发特朗普在格陵兰岛牵企鹅AI图</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">航天 飞船</div>
<div class="word-count ">3 条</div>
</div>
<div class="word-index">2/3</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num high">5</span><span class="time-info">14时25分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2268567" target="_blank" class="news-link">“商业航天+3D打印”受追捧!产业链公司透露最新进展 专家:多环节尚在小批量试制阶段</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">今日头条</span><span class="rank-num ">13</span><span class="time-info">14时25分</span>
</div>
<div class="news-title"><a href="https://www.toutiao.com/trending/7598751674404146698/" target="_blank" class="news-link">黄景瑜签约航天公司CEO曾是央视主持</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">3</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">百度热搜</span><span class="rank-num ">28</span><span class="time-info">14时25分</span>
</div>
<div class="news-title"><a href="https://www.baidu.com/s?wd=%E9%BB%84%E6%99%AF%E7%91%9C%E7%AD%BE%E7%BA%A6%E8%88%AA%E5%A4%A9%E5%85%AC%E5%8F%B8CEO%E6%9B%BE%E6%98%AF%E5%A4%AE%E8%A7%86%E4%B8%BB%E6%8C%81" target="_blank" class="news-link">黄景瑜签约航天公司CEO曾是央视主持</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">特斯拉 马斯克</div>
<div class="word-count ">2 条</div>
</div>
<div class="word-index">3/3</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">今日头条</span><span class="rank-num ">6</span><span class="time-info">14时25分</span>
</div>
<div class="news-title"><a href="https://www.toutiao.com/trending/7597811016450326537/" target="_blank" class="news-link">医生反驳马斯克:医生永远无法被取代</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">bilibili 热搜</span><span class="rank-num ">12</span><span class="time-info">14时25分</span>
</div>
<div class="news-title"><a href="https://search.bilibili.com/all?keyword=UP%E4%B8%BB%E8%A7%A3%E8%AF%BB%E9%A9%AC%E6%96%AF%E5%85%8B%E6%9C%AB%E6%97%A5%E9%A2%84%E8%A8%80" target="_blank" class="news-link">UP主解读马斯克末日预言</a>
</div>
</div>
</div>
</div>
<div class="topic-trend-section">
<div class="topic-trend-title">🔥 异常热度话题</div>
<p style='color: #666; font-size: 14px;'>今日暂未检测到异常热度话题。</p></div>
<div class="topic-trend-section">
<div class="topic-trend-title">✨ 关注话题趋势</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">AMD</div>
<div class="word-count">1 条提及 <span style="color: #059669;">(↓100.00%)</span></div>
</div>
</div>
<div class="news-item">
<div class="news-content" style="padding-right: 0;">
<img src="data:image/png;base64,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" alt="AMD 趋势图" style="width: 100%; height: auto;" />
</div>
</div>
</div></div>
</div>
<div class="footer">
<div class="footer-content">
</div>
</div>
</div>
<script>
async function saveAsImage() {
const button = event.target;
const originalText = button.textContent;
try {
button.textContent = '生成中...';
button.disabled = true;
window.scrollTo(0, 0);
// 等待页面稳定
await new Promise(resolve => setTimeout(resolve, 200));
// 截图前隐藏按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 再次等待确保按钮完全隐藏
await new Promise(resolve => setTimeout(resolve, 100));
const container = document.querySelector('.container');
const canvas = await html2canvas(container, {
backgroundColor: '#ffffff',
scale: 1.5,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
removeContainer: false,
foreignObjectRendering: false,
logging: false,
width: container.offsetWidth,
height: container.offsetHeight,
x: 0,
y: 0,
scrollX: 0,
scrollY: 0,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
buttons.style.visibility = 'visible';
const link = document.createElement('a');
const now = new Date();
const filename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}.png`;
link.download = filename;
link.href = canvas.toDataURL('image/png', 1.0);
// 触发下载
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
button.textContent = '保存成功!';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
async function saveAsMultipleImages() {
const button = event.target;
const originalText = button.textContent;
const container = document.querySelector('.container');
const scale = 1.5;
const maxHeight = 5000 / scale;
try {
button.textContent = '分析中...';
button.disabled = true;
// 获取所有可能的分割元素
const newsItems = Array.from(container.querySelectorAll('.news-item'));
const wordGroups = Array.from(container.querySelectorAll('.word-group'));
const newSection = container.querySelector('.new-section');
const errorSection = container.querySelector('.error-section');
const header = container.querySelector('.header');
const footer = container.querySelector('.footer');
// 计算元素位置和高度
const containerRect = container.getBoundingClientRect();
const elements = [];
// 添加header作为必须包含的元素
elements.push({
type: 'header',
element: header,
top: 0,
bottom: header.offsetHeight,
height: header.offsetHeight
});
// 添加错误信息(如果存在)
if (errorSection) {
const rect = errorSection.getBoundingClientRect();
elements.push({
type: 'error',
element: errorSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 按word-group分组处理news-item
wordGroups.forEach(group => {
const groupRect = group.getBoundingClientRect();
const groupNewsItems = group.querySelectorAll('.news-item');
// 添加word-group的header部分
const wordHeader = group.querySelector('.word-header');
if (wordHeader) {
const headerRect = wordHeader.getBoundingClientRect();
elements.push({
type: 'word-header',
element: wordHeader,
parent: group,
top: groupRect.top - containerRect.top,
bottom: headerRect.bottom - containerRect.top,
height: headerRect.height
});
}
// 添加每个news-item
groupNewsItems.forEach(item => {
const rect = item.getBoundingClientRect();
elements.push({
type: 'news-item',
element: item,
parent: group,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
});
});
// 添加新增新闻部分
if (newSection) {
const rect = newSection.getBoundingClientRect();
elements.push({
type: 'new-section',
element: newSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 添加footer
const footerRect = footer.getBoundingClientRect();
elements.push({
type: 'footer',
element: footer,
top: footerRect.top - containerRect.top,
bottom: footerRect.bottom - containerRect.top,
height: footer.offsetHeight
});
// 计算分割点
const segments = [];
let currentSegment = { start: 0, end: 0, height: 0, includeHeader: true };
let headerHeight = header.offsetHeight;
currentSegment.height = headerHeight;
for (let i = 1; i < elements.length; i++) {
const element = elements[i];
const potentialHeight = element.bottom - currentSegment.start;
// 检查是否需要创建新分段
if (potentialHeight > maxHeight && currentSegment.height > headerHeight) {
// 在前一个元素结束处分割
currentSegment.end = elements[i - 1].bottom;
segments.push(currentSegment);
// 开始新分段
currentSegment = {
start: currentSegment.end,
end: 0,
height: element.bottom - currentSegment.end,
includeHeader: false
};
} else {
currentSegment.height = potentialHeight;
currentSegment.end = element.bottom;
}
}
// 添加最后一个分段
if (currentSegment.height > 0) {
currentSegment.end = container.offsetHeight;
segments.push(currentSegment);
}
button.textContent = `生成中 (0/${segments.length})...`;
// 隐藏保存按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 为每个分段生成图片
const images = [];
for (let i = 0; i < segments.length; i++) {
const segment = segments[i];
button.textContent = `生成中 (${i + 1}/${segments.length})...`;
// 创建临时容器用于截图
const tempContainer = document.createElement('div');
tempContainer.style.cssText = `
position: absolute;
left: -9999px;
top: 0;
width: ${container.offsetWidth}px;
background: white;
`;
tempContainer.className = 'container';
// 克隆容器内容
const clonedContainer = container.cloneNode(true);
// 移除克隆内容中的保存按钮
const clonedButtons = clonedContainer.querySelector('.save-buttons');
if (clonedButtons) {
clonedButtons.style.display = 'none';
}
tempContainer.appendChild(clonedContainer);
document.body.appendChild(tempContainer);
// 等待DOM更新
await new Promise(resolve => setTimeout(resolve, 100));
// 使用html2canvas截取特定区域
const canvas = await html2canvas(clonedContainer, {
backgroundColor: '#ffffff',
scale: scale,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
logging: false,
width: container.offsetWidth,
height: segment.end - segment.start,
x: 0,
y: segment.start,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
images.push(canvas.toDataURL('image/png', 1.0));
// 清理临时容器
document.body.removeChild(tempContainer);
}
// 恢复按钮显示
buttons.style.visibility = 'visible';
// 下载所有图片
const now = new Date();
const baseFilename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}`;
for (let i = 0; i < images.length; i++) {
const link = document.createElement('a');
link.download = `${baseFilename}_part${i + 1}.png`;
link.href = images[i];
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
// 延迟一下避免浏览器阻止多个下载
await new Promise(resolve => setTimeout(resolve, 100));
}
button.textContent = `已保存 ${segments.length} 张图片!`;
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
console.error('分段保存失败:', error);
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
document.addEventListener('DOMContentLoaded', function() {
window.scrollTo(0, 0);
});
</script>
</body>
</html>