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">135 条</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-16 09:19</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 warm">5 条</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">09时19分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2259656" 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 ">7</span><span class="time-info">09时19分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2259727" target="_blank" class="news-link">1月16日投资避雷针:又一只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 ">8</span><span class="time-info">09时19分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2259373" target="_blank" class="news-link">六连板人工智能概念牛股异动核查完毕 明起复牌|盘后公告集锦</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 ">9</span><span class="time-info">09时19分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2259623" target="_blank" class="news-link">铜资源争夺加剧!力拓将向亚马逊AI数据中心供应铜</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">5</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时19分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3763354" target="_blank" class="news-link">AI芯片需求持续火热,台积电Q4净利润大幅增长35%,2025年全年资本支出达409亿美元 | 财报见闻</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">2</span><span class="time-info">09时19分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3763348" target="_blank" class="news-link">台积电带飞芯片股,力撑美股指反弹,白银一度跌逾7%后走V,原油大跌</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时19分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2259424" 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">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">bilibili 热搜</span><span class="rank-num top">2</span><span class="time-info">09时19分</span>
</div>
<div class="news-title"><a href="https://search.bilibili.com/all?keyword=%E4%B8%AD%E5%9B%BD%E9%A6%96%E6%AC%A1%E8%88%AA%E5%A4%A9%E5%91%98%E6%B4%9E%E7%A9%B4%E8%AE%AD%E7%BB%83%E7%BB%86%E8%8A%82%E6%9B%9D%E5%85%89" target="_blank" class="news-link">中国首次航天员洞穴训练细节曝光</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">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>航母打击群开往中东,特朗普:希望“速战速决”!伊朗进入最高战备状态,约2000枚导弹可覆盖美以基地!多国航班绕飞伊领空</li><li>邀记者畅饮放了5天的牛奶,特朗普:还挺新鲜的</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">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>