cnblogs-mcp
cnblogs MCP-Dienst
Durch das MCP (Model Context Protocol) werden die Open APIs von cnblogs als KI-aufrufbare Werkzeuge gekapselt. Dies ermöglicht es dir, in jedem beliebigen MCP-Client (QwenPaw, Claude Desktop, Cline usw.) Blogbeiträge für cnblogs direkt in natürlicher Sprache zu veröffentlichen.
Funktionen
✅
create_post— Veröffentlichen von Markdown-Blogbeiträgen auf cnblogs✅ Token-Verwaltung über
.env, kein Hardcoding✅ Unterstützung für die Anbindung an jeden MCP-Client
Related MCP server: Dev.to Blog Publisher MCP Server
Inhaltsverzeichnis
Schnellstart
1. Projekt klonen / herunterladen
git clone https://github.com/你的用户名/cnblogs-mcp.git
cd cnblogs-mcp2. Virtuelle Umgebung erstellen
python -m venv .venv
source .venv/bin/activate # macOS / Linux
# .venv\Scripts\activate # Windows3. Abhängigkeiten installieren
pip install -r requirements.txt4. Token konfigurieren
cp .env.example .envBearbeite die .env-Datei und trage deinen Personal Access Token von cnblogs ein:
CNBLOGS_TOKEN=your_token_here5. Test ausführen
# 验证 MCP 服务能正常启动
printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}\n{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}\n' \
| python cnblogs_mcp.py 2>/dev/null | grep '"name"'Normale Ausgabe:
{"jsonrpc":"2.0","id":2,"result":{"tools":[{"name":"create_post",...}]}}Token abrufen
Melde dich bei cnblogs an.
Gehe zu Persönliche Einstellungen → Sicherheitseinstellungen → Personal Access Token.
Klicke auf „Token erstellen“, gib einen Namen ein und wähle die Berechtigungen (die Berechtigung „Beiträge veröffentlichen“ ist erforderlich).
Kopiere den generierten Token und füge ihn in die
.env-Datei ein.
⚠️ Der Token wird nur einmal angezeigt, bitte bewahre ihn sicher auf.
Client-Anbindung
1. QwenPaw
Suche im Arbeitsverzeichnis von QwenPaw nach agent.json und füge den MCP-Client hinzu:
{
"mcp": {
"clients": {
"cnblogs": {
"name": "cnblogs",
"description": "博客园博文发布",
"enabled": true,
"transport": "stdio",
"command": "/absolute/path/to/cnblogs-mcp/.venv/bin/python",
"args": ["/absolute/path/to/cnblogs-mcp/cnblogs_mcp.py"],
"env": {
"DOTENV_PATH": "/absolute/path/to/cnblogs-mcp/.env"
}
}
}
}
}Starte QwenPaw neu:
qwenpaw daemon restart2. Claude Desktop
Füge Folgendes in ~/Library/Application Support/Claude/claude_desktop_config.json hinzu:
{
"mcpServers": {
"cnblogs": {
"command": "/absolute/path/to/cnblogs-mcp/.venv/bin/python",
"args": ["/absolute/path/to/cnblogs-mcp/cnblogs_mcp.py"],
"env": {
"DOTENV_PATH": "/absolute/path/to/cnblogs-mcp/.env"
}
}
}
}Starte Claude Desktop neu.
3. Cline / Roo Code
Suche in den VS Code-Einstellungen nach „MCP“, finde MCP Servers und füge Folgendes hinzu:
{
"cnblogs": {
"command": "/absolute/path/to/cnblogs-mcp/.venv/bin/python",
"args": ["/absolute/path/to/cnblogs-mcp/cnblogs_mcp.py"],
"env": {
"DOTENV_PATH": "/absolute/path/to/cnblogs-mcp/.env"
}
}
}4. Andere MCP-Clients
Allgemeine Konfigurationsvorlage:
Parameter | Wert |
|
|
|
|
| Absoluter Pfad zur |
💡 Wenn der MCP-Client
DOTENV_PATHnicht unterstützt, kann der Token auch direkt überenv.CNBLOGS_TOKENübergeben werden.
Manuelle Tests
cd cnblogs-mcp
# 测试 1:初始化 + 工具列表
printf '...' | python cnblogs_mcp.py
# 测试 2:发布一篇博文
printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}\n{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"create_post","arguments":{"title":"测试","body":"## 你好\n\n这是一篇测试文章。"}}}\n' | python cnblogs_mcp.py 2>/dev/nullNormale Rückgabe:
{"success": true, "postId": 12345678, "postUrl": "https://www.cnblogs.com/你的博客名/p/12345678"}Fehlerbehebung
Fehlermeldung | Ursache | Lösung |
|
| Überprüfe, ob die |
| Token ungültig oder abgelaufen | Erstelle einen neuen Token auf cnblogs |
| Token-Berechtigungen unzureichend | Stelle sicher, dass beim Erstellen des Tokens „Beiträge veröffentlichen“ ausgewählt wurde |
| Anfrageformat fehlerhaft | Überprüfe, ob Titel und Textkörper leer sind |
| Netzwerkproblem | Überprüfe die Netzwerkverbindung und versuche es erneut |
MCP-Toolliste nach Verbindung leer |
| Stelle sicher, dass |
API-Referenz
Werkzeug: create_post
Parameter:
Parameter | Typ | Erforderlich | Beschreibung |
| string | ✅ | Titel des Blogbeitrags |
| string | ✅ | Textkörper des Blogbeitrags (Markdown-Format) |
Rückgabewert:
{
"success": true,
"postId": 19246558,
"postUrl": "https://www.cnblogs.com/你的博客名/p/19246558"
}Oder bei einem Fehler:
{
"success": false,
"error": "错误描述"
}Entwicklung
Projektstruktur
cnblogs-mcp/
├── cnblogs_mcp.py # MCP 服务主文件
├── requirements.txt # Python 依赖
├── .env.example # 环境变量模板(不含真实 Token)
├── .env # 你的本地配置(已在 .gitignore 中)
├── .gitignore
├── README.md
└── LICENSEAbhängigkeiten
fastmcp>=3.0.0
python-dotenv>=1.0.0
requests>=2.31.0Lizenz
MIT — Über Sterne, Forks und PRs freuen wir uns!
This server cannot be deployed
Maintenance
Related MCP Connectors
Publish and share access-controlled Markdown documents from any MCP-enabled AI tool.
Hosted MCP for BlogBat: read, write, generate, and publish blog articles and content.
Create, edit, organize, publish, and configure JustBlogged blogs from MCP clients.
Generate PDF, Word (.docx) and PowerPoint (.pptx) documents from Markdown over MCP.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables publishing local Markdown files to Velog with idempotent updates. Supports login, post management, and series operations through natural language.10MIT
- AlicenseAqualityCmaintenanceEnables publishing markdown blog posts directly to Dev.to as drafts or live articles through a single MCP tool, with support for tags, series, canonical URL, and cover image.1MIT
- AlicenseAqualityCmaintenanceEnables writing Naver blog posts with rich formatting like images, tables, formulas, and places, converting Markdown to drafts and handling publishing via MCP tools.7MIT
- AlicenseBqualityCmaintenanceAutomates writing and publishing posts to velog.io via MCP, including login and session management.521 npmMIT