还在为每周五下午绞尽脑汁写周报而焦虑?重复性高、内容琐碎、格式死板……别担心,借助 Model Context Protocol(MCP) 和大模型能力,你可以在15分钟内搭建一个专属的“周报自动生成器”——只需提供几条工作记录,AI就能为你输出结构清晰、语言得体、符合团队风格的周报。
本文将带你从零开始,快速构建一个基于MCP协议的周报生成工具,无需复杂部署,适合个人或小团队即刻上手。
一、什么是MCP?为什么用它做周报?
MCP(Model Context Protocol) 是一种新兴的标准化协议,用于定义AI模型与外部工具、数据源之间的交互方式。它让大模型能安全、可控地调用你的本地或云端服务,获取上下文并执行任务。
用MCP做周报的优势:
- ✅ 私有数据安全:工作记录不上传公有云,仅在本地或内网处理;
- ✅ 高度可定制:支持按团队模板、语气风格、汇报重点调整;
- ✅ 一键集成:可嵌入钉钉、飞书、企业微信或本地脚本;
- ✅ 低代码开发:核心逻辑不到100行代码。
二、15分钟实战:搭建你的周报MCP服务
💡 前提:已安装 Python 3.9+,并有一个可用的大模型API(如OpenAI、DeepSeek、Ollama等)
第1步:准备周报模板(1分钟)
创建 weekly_template.md:
# 本周工作汇报({{date}})
## 🎯 核心目标进展
{{goals}}
## 🔧 日常任务
{{tasks}}
## 🚧 遇到的问题
{{blockers}}
## 📈 下周计划
{{next_week}}
第2步:编写MCP服务端(5分钟)
新建 mcp_weekly.py:
from datetime import datetime
import json
from http.server import HTTPServer, BaseHTTPRequestHandler
import os
# 模拟你的工作日志(实际可从数据库/Notion/Excel读取)
WORK_LOG = {
"goals": "- 完成用户中心重构\n- 推进AI技能平台POC",
"tasks": "- 修复登录页兼容性问题\n- 编写MCP文档\n- 参与3次需求评审",
"blockers": "- 第三方API响应慢,影响测试进度",
"next_week": "- 上线用户中心v1.2\n- 启动周报自动化项目"
}
class WeeklyMCPHandler(BaseHTTPRequestHandler):
def do_POST(self):
if self.path == "/mcp/weekly_report":
content_len = int(self.headers.get('Content-Length'))
post_body = self.rfile.read(content_len)
req = json.loads(post_body)
# 渲染模板
template = open("weekly_template.md").read()
report = template \
.replace("{{date}}", datetime.now().strftime("%Y年%m月%d日")) \
.replace("{{goals}}", WORK_LOG["goals"]) \
.replace("{{tasks}}", WORK_LOG["tasks"]) \
.replace("{{blockers}}", WORK_LOG["blockers"]) \
.replace("{{next_week}}", WORK_LOG["next_week"])
self.send_response(200)
self.send_header("Content-type", "application/json")
self.end_headers()
self.wfile.write(json.dumps({
"content": report,
"format": "markdown"
}).encode())
else:
self.send_error(404)
if __name__ == "__main__":
server = HTTPServer(("localhost", 8080), WeeklyMCPHandler)
print("✅ 周报MCP服务已启动:http://localhost:8080/mcp/weekly_report")
server.serve_forever()
第3步:连接大模型(可选增强,3分钟)
如果你希望AI润色语言或自动归纳日志,可在返回前调用LLM:
# 示例:使用Ollama本地模型润色
import requests
def polish(text):
resp = requests.post("http://localhost:11434/api/generate", json={
"model": "qwen:7b",
"prompt": f"请将以下周报内容优化为专业、简洁的职场语言,保持原意:\n\n{text}",
"stream": False
})
return resp.json()["response"]
然后将 report 替换为 polish(report)。
第4步:启动服务 & 调用(1分钟)
终端运行:
python mcp_weekly.py
另开终端测试:
curl -X POST http://localhost:8080/mcp/weekly_report -d '{}'
你会立即看到格式完美的周报!
第5步:集成到日常工具(5分钟)
- 飞书/钉钉机器人:配置 webhook 调用该MCP接口;
- 快捷脚本:写个Shell或批处理一键生成并复制到剪贴板;
- Obsidian插件:通过本地API插入周报到笔记中。
三、进阶玩法
- 📥 自动同步日历事件:从Google Calendar提取会议记录作为“参与事项”;
- 📊 关联Jira/Asana:自动抓取本周完成的工单;
- 👥 多角色模板:产品经理、工程师、运营各有不同结构;
- 🔐 企业级部署:结合OAuth验证用户身份,确保数据隔离。
四、结语:把时间还给创造,而不是填表
周报本应是复盘与规划的工具,不该成为负担。通过MCP协议,我们不仅实现了自动化,更构建了一个可扩展、可私有化、可智能演进的工作流底座。