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">111 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">5 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">01-07 08:57</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 ">2 条</div>
</div>
<div class="word-index">1/4</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">08时57分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2249896" target="_blank" class="news-link">美股收盘:道指、标普均创历史新高 芯片股借AI东风飙升</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 ">8</span><span class="time-info">08时57分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3762643" target="_blank" class="news-link">苏姿丰CES演讲全文来了!尧字节时代来临,Helios登场,“未来四年,要实现AI性能1000倍的提升”!</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 ">1 条</div>
</div>
<div class="word-index">2/4</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">1</span><span class="time-info">08时57分</span>
</div>
<div class="news-title"><a href="https://www.toutiao.com/trending/7592391355918192191/" target="_blank" class="news-link">特斯拉市值一夜蒸发超4300亿元</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">英伟达 NVIDIA 黄仁勋</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">3/4</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 ">7</span><span class="time-info">08时57分</span>
</div>
<div class="news-title"><a href="https://news.ifeng.com/c/8piJ160APV2" target="_blank" class="news-link">黄仁勋:中企那么强,我们不拿出“真家伙”不行</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 ">1 条</div>
</div>
<div class="word-index">4/4</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 ">7</span><span class="time-info">08时57分</span>
</div>
<div class="news-title"><a href="https://www.toutiao.com/trending/7591722452749913606/" target="_blank" class="news-link">长荣航空回应机长副机长驾驶舱打架</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">自动驾驶</div>
<div class="word-count">3 条提及 <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="自动驾驶 趋势图" 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>