Token导航 LogoToken导航TokenDH.com
AI news letter logo
运维云端stdio官方级别未说明来源级核验

AI news letter

MCP Server

一个基于FastAPI的AI新闻简报服务,能够获取AI相关新闻,通过OpenRouter排名文章,渲染响应式HTML简报,并通过Vercel部署和Resend发送邮件。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
PythonCursor云端部署Cursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Kunal152000

提供方

Kunal152000

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python -m uvicorn app.main:app --reload --host 127.0.0.1 --port 8000

详细介绍

人工智能通讯

python MCP(模型上下文协议) 工具和a 快速API 一台服务器上的应用程序: POST /chat (OpenRouter代理)和 GET /mcp/sse + POST /mcp/messages (MCP超过SSE)。堆栈获取与AI相关的新闻,可以使用OpenRouter对文章进行排名,呈现 响应式HTML时事通讯, 部署 静态 index.html维塞尔,以及 发送 邮件通过 重发.

______________________________________________________________________

什么跑在哪里

一个过程: uvicorn app.main:app.

表面路径角色
聊天APIGET /, POST /chat代理商→ 开放路由→ 基于SSE的MCP工具
MCP(SSE) GET /mcp/sse, POST /mcp/messages外部MCP客户端(例如Cursor)

app/agent.py 用途 MCP_SSE_URL 设置时;否则,在Render上使用 RENDER_EXTERNAL_URL/mcp/sse (同一个主机)。在本地,它默认为 http://127.0.0.1:{PORT}/mcp/sse.

______________________________________________________________________

端到端通讯流(代理/MCP客户端)

  1. get_news --GNews+新闻数据(query, from_date, to_date).
  2. get_github_repos --GitHub搜索(query).
  3. 合并列表;跑 filter_ai_news仅新闻文章 (JSON数组 {title, description, url}).
  4. deploy_newsletter_page --通行证 html_content,或 news / github_repos 阵列(或旧阵列 *_json 字符串)用于Jinja渲染(app/templates/newsletter.html.j2).
  5. send_emailrecipients, subject,加 issue_url (来自部署)和 highlights 用于消化或生食 html_content.

每个工具返回JSON文本;故障包括 error 字段(如适用)。

______________________________________________________________________

MCP工具

工具模块注释
get_newsapp/services/api_tools.pyGNEWS_API_KEYNEWS_DATA_API_KEY
get_github_reposapp/services/api_tools.py未经验证的GitHub API(适用速率限制)
filter_ai_newsapp/services/api_tools.pyOpenRouter;可选的 OPENROUTER_HTTP_REFERER / OPENROUTER_APP_TITLE
deploy_newsletter_pageapp/services/vercel_deploy.py + newsletter_render.pyVERCEL_TOKEN, VERCEL_PROJECT_ID;可选 VERCEL_PROJECT_NAME, VERCEL_TEAM_ID
send_emailapp/services/email_sender.py重新发送: RESEND_API_KEY, EMAIL_FROM, EMAIL_FROM_NAME

MCP接线: app/mcp_server.py.SSE处理程序: app/routes/mcp.py (安装自 app/main.py).

______________________________________________________________________

环境变量

新闻与过滤

  • GNEWS_API_KEY --GNews搜索。
  • NEWS_DATA_API_KEY --NewsData.io;并入 get_news 当设置时。
  • OPENROUTER_API_KEY --文章排名 filter_ai_news 和那个 /chat 代理人。
  • OPENROUTER_HTTP_REFERER --可选;一些OpenRouter设置需要引用者URL。
  • OPENROUTER_APP_TITLE --可选;发送为 X-Title (默认值 AI Newsletter).

电子邮件(重新发送)

  • RESEND_API_KEY重发 API密钥。
  • EMAIL_FROM --在重新发送中验证发件人(例如。 newsletter@yourdomain.com).
  • EMAIL_FROM_NAME --显示名称(默认 AI Newsletter).

部署

  • VERCEL_TOKEN, VERCEL_PROJECT_ID, VERCEL_PROJECT_NAME -Vercel部署API。
  • VERCEL_TEAM_ID --可选,适用于团队所有的项目。

聊天↔ 主控程序

  • MCP_SSE_URL --SSE URL的可选覆盖(例如远程MCP)。如果在Render上未设置,则使用 RENDER_EXTERNAL_URL/mcp/sse.
  • PORT --由渲染设置;uvicorn和设置使用它。

______________________________________________________________________

项目布局(主文件)

ai_newsletter/
├── render.yaml
├── requirements.txt           # pip install for Render build
├── app/
│   ├── main.py                # FastAPI: /chat + MCP routes
│   ├── agent.py               # OpenRouter + MCP client (SSE)
│   ├── mcp_server.py          # MCP tool definitions & handlers
│   ├── config/settings.py     # Env loading
│   ├── routes/
│   │   ├── mcp.py             # SSE + POST message handlers
│   │   └── chat.py            # POST /chat
│   ├── services/
│   │   ├── api_tools.py
│   │   ├── email_sender.py
│   │   ├── vercel_deploy.py
│   │   ├── newsletter_render.py
│   │   └── fetch_news_NewsData.py
│   └── templates/
│       └── newsletter.html.j2
├── test_newsletter_flow.py
├── pyproject.toml
└── README.md

______________________________________________________________________

设置

需要 Python≥3.12紫外线.

uv sync

创建一个 .env 在项目根中。不要承诺 .env.

______________________________________________________________________

运行(本地)

uv run python -m uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
  • 聊天: POST http://127.0.0.1:8000/chat
  • MCP SSE: http://127.0.0.1:8000/mcp/sse (与聊天来源相同;无需额外 MCP_SSE_URL 需要)。

______________________________________________________________________

在渲染上部署

  1. 创造一个 网络服务 从这个回购。
  2. 启动命令: python -m uvicorn app.main:app --host 0.0.0.0 --port $PORT
  3. MCP_SSE_URL 除非MCP必须在另一台主机上运行;渲染提供 RENDER_EXTERNAL_URL.
  4. 添加API密钥: GNEWS_API_KEY, NEWS_DATA_API_KEY, OPENROUTER_API_KEY, RESEND_API_KEY, EMAIL_FROM, VERCEL_*等等。

外部MCP客户端可以使用 https://.onrender.com/mcp/sse.

______________________________________________________________________

测试

uv run python test_newsletter_flow.py

检查Jinja渲染、部署输入分辨率和MCP工具注册(除非设置了凭据,否则没有真正的Vercel/Resend)。

______________________________________________________________________

业绩说明

开放路由, 维塞尔,以及 重发 增加网络延迟;调整超时 api_tools.py, vercel_deploy.py,以及 email_sender.py 如果需要的话。

______________________________________________________________________

示例用户请求(针对MCP感知代理)

将AI通讯发送至 reader@example.com.

代理应选择一个日期范围,按顺序调用工具,部署HTML问题,然后通过电子邮件发送摘要 issue_urlhighlights 从新闻。

目录标签

目录标签

PythonCursor云端部署AI新闻聚合本地部署自动化简报FastAPI应用OpenRouter集成Vercel部署

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP