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">161 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">4 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">01-28 14:31</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 ">4 条</div>
</div>
<div class="word-index">1/1</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">14时31分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2272264" target="_blank" class="news-link">火力全开!2026开年泰康平安新华等超10亿险资南下,狂扫港股AI、生物医药IPO</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 ">10</span><span class="time-info">14时31分</span>
</div>
<div class="news-title"><a href="https://search.bilibili.com/all?keyword=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%8F%91%E5%B1%95%E5%88%B0%E4%BB%80%E4%B9%88%E9%98%B6%E6%AE%B5%E4%BA%86" target="_blank" class="news-link">人工智能发展到什么阶段了</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 ">13</span><span class="time-info">14时31分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2272163" target="_blank" class="news-link">马云最新发声:AI时代不要再犹豫用不用AI 而是怎么教孩子用好AI</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">4</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">百度热搜</span><span class="rank-num ">23</span><span class="time-info">14时31分</span>
</div>
<div class="news-title"><a href="https://www.baidu.com/s?wd=%E9%A9%AC%E4%BA%91%EF%BC%9A%E5%AD%A9%E5%AD%90%E4%B8%8D%E5%BA%94%E5%92%8CAI%E6%AF%94%E6%8B%BC%E8%AE%A1%E7%AE%97%E5%92%8C%E8%AE%B0%E5%BF%86" target="_blank" class="news-link">马云:孩子不应和AI比拼计算和记忆</a>
</div>
</div>
</div>
</div>
<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">
5条提及 · <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">国台办</div>
<div class="viral-topic-stats">
5条提及 · <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>
<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>