MCP server by luluxxa
DocAgent MCP Server
公文写作智能体 MCP 服务,提供专业的公文写作能力。
功能特点
- 支持 11 种公文类型
- 自动生成符合 GB/T 9704-2012 标准的 Word 文档
- 支持内容审查和自动修订
- 支持学习积累(热词、金句)
- 完全独立,无外部依赖
支持的公文类型
| 类型 | 英文标识 | 说明 | |------|---------|------| | 通知 | notice | 用于传达事项、告知信息 | | 报告 | report | 向上级汇报工作、反映情况 | | 请示 | request | 向上级请求指示、批准 | | 批复 | reply | 上级答复下级请示 | | 纪要 | minutes | 记录会议主要内容和决定 | | 讲话稿 | speech | 领导讲话、发言稿 | | 总结 | summary | 工作、活动总结 | | 计划 | plan | 工作、活动计划 | | 公告 | announcement | 向公众宣布重要事项 | | 通报 | circular | 表彰、批评、传达情况 | | 议案 | proposal | 提请审议事项 |
安装
pip install docagent-mcp
或从源码安装:
git clone http://192.168.2.14:3000/capitek/MCP-DocAgent.git
cd DocAgent
pip install -e .
配置
环境变量
export DOCAGENT_API_KEY="your-api-key"
export DOCAGENT_API_BASE="https://api.example.com/v1"
export DOCAGENT_MODEL="gpt-4" # 可选,默认 gpt-4
export DOCAGENT_WORKSPACE="/path/to/workspace" # 可选
也支持 OpenAI 环境变量作为回退:
export OPENAI_API_KEY="your-api-key"
export OPENAI_API_BASE="https://api.openai.com/v1"
MCP 集成
在 MCP 客户端配置中添加:
{
"mcpServers": {
"docagent": {
"command": "python",
"args": ["-m", "docagent_mcp.server"],
"env": {
"DOCAGENT_API_KEY": "your-api-key",
"DOCAGENT_API_BASE": "https://api.example.com/v1",
"DOCAGENT_WORKSPACE": "/path/to/workspace"
}
}
}
}
使用方式
⚠️ 调用前必读:四个必答问题
在调用 write_document 工具前,必须向用户确认以下四个问题,答案将组成写作原则,决定公文的具体内容和风格:
| 问题 | 参数 | 说明 |
|------|------|------|
| 问题一 | doc_type | 公文类型(通知、报告、请示等) |
| 问题二 | title | 公文标题 |
| 问题三 | word_count_min / word_count_max | 字数要求 |
| 问题四 | requirements | 写作要求/核心原则(最重要!) |
问题四的重要性:requirements 是决定公文质量的关键参数,例如:
突出工作成效,数据详实,语言简练重点阐述技术创新方面的成果符合党政机关公文格式规范,语气庄重
运行 MCP 服务
python -m docagent_mcp.server
MCP 工具
| 工具 | 说明 |
|------|------|
| list_doc_types | 列出所有支持的公文类型 |
| write_document | 撰写公文(需回答四个问题) |
| get_document_structure | 获取公文结构说明 |
示例
用户:帮我写一份清明节放假通知,500字左右
AI:请确认以下信息:
1. 公文类型:通知 ✓
2. 标题:关于清明节放假的通知 ✓
3. 字数:500字左右 ✓
4. 请问有什么写作要求?(如:简洁明了、强调值班要求等)
用户:简洁明了,明确放假时间和值班安排。
[调用 write_document 工具]
✅ 公文写作完成
**类型**: 通知 (notice)
**标题**: 关于清明节放假的通知
**字数**: 523
**文件**: /path/to/workspace/output/关于清明节放假的通知_20260312.docx
目录结构
安装后的工作目录结构:
<workspace>/
├── output/ # 输出的 Word 文档
├── drafts/ # Markdown 草稿
└── .docagent/ # 状态和学习数据
├── state.json
├── issues.md
├── expressions.md
└── hotwords.md
作为 Python 库使用
import asyncio
from docagent_mcp.docwriter import DocAgent, DocConfig
async def main():
config = DocConfig(
workspace="/path/to/workspace",
doc_type="report",
title="关于2024年工作总结的报告",
word_count_min=2000,
word_count_max=5000,
requirements="突出工作成效,数据详实",
api_key="your-api-key",
api_base="https://api.example.com/v1",
model="gpt-4",
)
agent = DocAgent(config)
result = await agent.run()
print(result)
asyncio.run(main())
依赖
mcp >= 1.0.0- MCP 协议支持openai >= 1.0.0- OpenAI 兼容 API 客户端python-docx >= 0.8.11- Word 文档生成loguru >= 0.7.0- 日志记录
许可证
MIT License