ghost-upload-mcp
Provides tools for uploading images, files, and media to a Ghost instance, returning public URLs for use in posts such as feature images, inline images, avatars, icons, PDF downloads, and video/audio with optional thumbnails.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ghost-upload-mcpUpload ~/Downloads/hero.jpg to Ghost and give me the URL"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ghost-upload-mcp
MCP-Server für Datei-Uploads zu Ghost: Bilder, Dateien und Medien landen mit einem Tool-Aufruf in der Ghost-Instanz, zurück kommt die öffentliche URL.
Gedacht als Ergänzung zu MFYDev/ghost-mcp, das Posts, Tags, Members und vieles mehr abdeckt — aber keine Uploads kennt. Beide Server laufen parallel und teilen sich dieselben Umgebungsvariablen.
Warum ein zweiter Server statt eines Forks
ghost-mcp bringt @tryghost/admin-api bereits als Abhängigkeit mit, und diese
Bibliothek kann Uploads vollständig. Es fehlt allein die MCP-Tool-Hülle. Als
eigener Server bleibt ghost-mcp unangetastet und aktualisiert sich über
npx -y weiter von selbst; ein Fork müsste bei jedem Upstream-Release
nachgezogen werden.
Related MCP server: mcp-memos
Tools
Tool | Parameter | Zweck |
|
| Aufmacherbilder, Bilder im Fließtext, Avatare, Favicon |
|
| beliebige Dateien, etwa PDFs als Download im Beitrag |
|
| Video- und Audiodateien, optional mit Vorschaubild |
Jedes Tool antwortet mit der öffentlichen URL — und mit ref, falls gesetzt.
Diese URL wandert anschließend in den Beitrag: als feature_image oder als
<img src> im HTML.
Dateipfade
MCP transportiert keine Binärdaten. Jeder Upload bekommt deshalb einen Pfad auf dem Rechner, auf dem der Server läuft — nie die Datei selbst:
~/Downloads/aufmacher.jpgEin Bild ins Chatfenster zu ziehen funktioniert damit nicht als Upload-Quelle. Das gilt für jede MCP-Lösung, nicht nur für diese.
~ wird aufgelöst, ebenso file://-URLs. Relative Pfade beziehen sich auf das
Arbeitsverzeichnis des Serverprozesses, das der Client vorgibt — absolute Pfade
oder ~/… sind deshalb die verlässliche Form.
Konfiguration
Der Server muss nicht installiert werden. npx holt ihn direkt von GitHub, wie
ghost-mcp sich per npx -y aus der npm-Registry holt — ein Eintrag in der
Client-Konfiguration genügt.
Nötig sind drei Umgebungsvariablen, dieselben wie bei ghost-mcp, sodass ein
Konfigurationsblock für beide Server passt:
Variable | ||
| Pflicht | Basis-URL der Ghost-Instanz, ohne Pfad |
| Pflicht | Admin-API-Key im Format |
| optional | Standard |
Den Key liefert Ghost unter Settings → Integrations → Add custom integration. Er gehört in die Client-Konfiguration, nicht ins Repo.
Claude Desktop
In ~/Library/Application Support/Claude/claude_desktop_config.json unter
mcpServers:
"ghost-upload": {
"command": "npx",
"args": ["-y", "github:jakob-koenen/ghost-upload-mcp"],
"env": {
"GHOST_API_URL": "https://example.com",
"GHOST_ADMIN_API_KEY": "…",
"GHOST_API_VERSION": "v5.0"
}
}Danach Claude Desktop neu starten.
Claude Code
claude mcp add ghost-upload \
--env GHOST_API_URL=https://example.com \
--env GHOST_ADMIN_API_KEY=… \
-- npx -y github:jakob-koenen/ghost-upload-mcpVersion festnageln
github:jakob-koenen/ghost-upload-mcp folgt dem Standard-Branch. Ein Tag oder
Commit hinter # bindet stattdessen einen festen Stand:
github:jakob-koenen/ghost-upload-mcp#v1.0.0Lokal statt über GitHub
Für Entwicklung am Server selbst:
git clone https://github.com/jakob-koenen/ghost-upload-mcp.git
cd ghost-upload-mcp
npm installDer Config-Eintrag zeigt dann auf die Datei statt auf GitHub:
"command": "node",
"args": ["/pfad/zu/ghost-upload-mcp/index.js"]Voraussetzung in beiden Fällen: Node 18 oder neuer. Gestartet wird der Server nicht von Hand, sondern über stdio vom MCP-Client.
Fehlerverhalten
Beim Start bricht der Server mit einer einzeiligen Meldung auf stderr ab, wenn
eine Pflichtvariable fehlt oder der Key nicht dem Format {24 Hex}:{64 Hex}
entspricht. Zur Laufzeit werden zwei Fälle sauber zurückgemeldet, statt den
Server zu beenden:
Pfadprobleme vor dem Upload — Datei nicht gefunden, Verzeichnis statt Datei
Antworten von Ghost — Meldung samt
contextundhelp, etwa bei ungültigem Key oder abgelehntem Dateityp
Lizenz
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Publish HTML, Markdown, and multi-file sites as shareable URLs instantly via MCP.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Ghost CMS content including posts, members, users, tags, tiers, offers, newsletters, invites, roles, and webhooks via the Ghost Admin API.
- AlicenseNot gradedqualityFmaintenanceEnables creating memos and attaching files to a Memos instance via MCP tools.MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI applications to upload images and videos to GitHub issues, pull requests, and comments through the Model Context Protocol.492MIT
- FlicenseAqualityBmaintenanceEnables AI agents and users to upload and download files via MCP, generating shareable links and identifier codes. Files are automatically deleted after 24 hours.9
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jakob-koenen/ghost-upload-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server