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">92 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">7 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">01-01 09:02</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/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 ">9</span><span class="time-info">09时02分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3762372" target="_blank" class="news-link">2026年全球经济十大悬念:AI泡沫会破吗?黄金会否冲破5000?泽连斯基会妥协吗?</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 ">10</span><span class="time-info">09时02分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2245960" target="_blank" class="news-link">“AI教父”警告: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 ">17</span><span class="time-info">09时02分</span>
</div>
<div class="news-title"><a href="https://m.thepaper.cn/newsDetail_forward_32282883" target="_blank" class="news-link">明查|不是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 ">26</span><span class="time-info">09时02分</span>
</div>
<div class="news-title"><a href="https://www.toutiao.com/trending/7589798839805021739/" 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 ">2 条</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 top">1</span><span class="time-info">09时02分</span>
</div>
<div class="news-title"><a href="https://www.toutiao.com/trending/7590112437576142355/" 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">财联社热门</span><span class="rank-num high">5</span><span class="time-info">09时02分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2246014" target="_blank" class="news-link">【早报】今起存量“公积金+商贷”利率将同步下调;蓝箭航天科创板IPO获受理</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">gemini deepmind openai</div>
<div class="word-count ">1 条</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 ">10</span><span class="time-info">09时02分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3762366" target="_blank" class="news-link">150万美元!OpenAI人均员工薪酬炸裂,刷新科技史纪录</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">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="新质生产力 趋势图" 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>