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">32 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">0 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">01-08 05:12</span>
</div>
</div>
</div>
<div class="content">
<div class="topic-trend-section">
<div class="topic-trend-title">🔥 异常热度话题</div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">台独</div>
<div class="viral-topic-stats">
11条提及 · <span class="new">新话题</span> · <span class="level-high">高热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>刘世芳郑英耀被列为“台独”顽固分子</li><li>陈舒怡被列为“台独”打手帮凶</li><li>支持“台独”只会让自己和家人变炮灰</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">20</div>
<div class="viral-topic-stats">
4条提及 · <span class="up">↑4%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>高盛发布最新研报,预计 2026 、 2027 年中国股市将每年上涨 15% 至 20%,你怎么看?</li><li>如果将 20 只狼和 500 只鹿放进同一孤岛,最后谁能活下来?</li><li>哈尔滨零下 20 度,外国游客穿短裤光腿,他们是真的不怕冷吗?为什么会这么抗冻?</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">格陵兰岛</div>
<div class="viral-topic-stats">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>特朗普下一个目标?丹麦首相:美国若“强取”格陵兰岛,意味着北约的终结</li><li>鲁比奥:美国计划从丹麦手中“购买”格陵兰岛</li><li>鲁比奥:美国计划从丹麦手中“购买”格陵兰岛</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">商务部</div>
<div class="viral-topic-stats">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>商务部:加强两用物项对日本出口管制</li><li>商务部:对原产于日本的进口二氯二氢硅发起反倾销立案调查</li><li>商务部:对原产于日本的进口二氯二氢硅发起反倾销立案调查</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">如何看待此事</div>
<div class="viral-topic-stats">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>霸王茶姬通报店员「手打」奶茶,为跟风网络热梗博流量摆拍,予以辞退,该门店无限期停业整顿,如何看待此事?</li><li>网传广东汕头 13 岁男孩在餐饮店被烫伤致死,官方通报排除他杀,如何看待此事?</li><li>医院通报收费员玩手机致多人排队,称情况属实,已待岗处理,如何看待此事?你遇到过类似情况吗?</li></ul></div></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">4 条提及 <span style="color: #dc2626;">(↑0.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>