digihub-mcp
This MCP server provides full content management access to the digihub.li platform, enabling CRUD operations on Stories, Solutions, and Sessions, plus media upload and authentication checks.
Stories — List (with filters: status, format, pillar, featured), get by slug, create, update, and soft-delete. Rich fields include title/lead/body (multilingual DE/EN), format, hero image, tags, authors, publication dates, and related links.
Solutions — List, get, create, update, and soft-delete. Fields include title/summary/body (multilingual), icon, CTA link, hero image, tags, business areas, target audiences, sort order, and featured status.
Sessions (Events) — List (with optional upcoming: true filter), get, create, update, and soft-delete. Fields include title/summary/body (multilingual), start/end times, location, capacity, registration URL, hero image, tags, business areas, and status (draft, published, archived, cancelled).
Media Upload — Upload from a local file path or remote URL; returns a /storage/... URL for use in hero_image or media[].url fields. Supports images, video, PDF, and audio, organized into subdirectories (uploads, stories, solutions, sessions).
Authentication — whoami returns the current user's name, email, and the abilities granted to the active API token.
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., "@digihub-mcplist all published stories"
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.
digihub-mcp
MCP server for the digihub.li content API. Plug it into Claude (Desktop or Code) and Claude can read, create, update and delete Stories, Solutions, Sessions, and upload images that get used as hero or inline media.
Requirements
What | Where | |
1 | Node.js 18+ (LTS recommended) | https://nodejs.org/ — default installer is fine. Provides |
2 | An MCP-aware client | Claude Desktop, Claude Code, or any other MCP client. |
3 | A digihub.li API token | Ask the admin. Looks like `3 |
4 | The base URL | Usually |
To check Node.js is installed:
node --version # should print v18.x or higher
npx --version # should print 9.x or higherIf npx isn't found, install Node.js first. Claude Desktop won't bundle one for you.
Related MCP server: vulcan-file-ops
Configure your Claude client
Same JSON for Desktop and Code — only the file path differs:
Desktop:
claude_desktop_config.json(Windows:%APPDATA%\Claude\, macOS:~/Library/Application Support/Claude/)Code:
.mcp.jsonin your project, orclaude mcp add
{
"mcpServers": {
"digihub": {
"command": "npx",
"args": ["-y", "@stefan443/digihub-mcp@latest"],
"env": {
"DIGIHUB_BASE_URL": "https://digihub.li",
"DIGIHUB_API_TOKEN": "PASTE_YOUR_TOKEN_HERE"
}
}
}
}Restart the client. First prompt: "Use the digihub whoami tool." You should see your name, email, and the abilities list.
Tools
Resource | Tools |
Stories |
|
Solutions |
|
Sessions (events) |
|
Media |
|
Self |
|
Required fields on create:
Story:
slug,title.de/title.en,lead.de/lead.en,format(news,case_study,newsletter,use_case,success_story)Solution:
slug,title,summarySession:
slug,title,summary,format(free text),starts_at(ISO date)
Translations (title, lead, summary, body) are objects with de and/or en. At least one must be present. body accepts Markdown.
Filters on list_*: status, format, pillar_id, featured, per_page (≤ 100), page. list_sessions also takes upcoming: true.
Reference data
Pillar | id | key |
AI Lab | 1 |
|
Coworking Hub | 2 |
|
Förderprogramme | 3 |
|
Tag slugs by type (pass tag_slugs: ["ai", "kmu"]):
business_area:
lab,hub,fundaudience:
kmu,verwaltung,startup,finanzdienstleister,industrietopic:
ai,datenschutz, …
The API only accepts existing tag slugs.
Example: a story with an image
// 1. Upload an image from a local path
{ "tool": "upload_media", "args": { "file": "C:/Pictures/hero.jpg", "subdir": "stories" } }
// → { "url": "/storage/stories/abc123.jpg" }
// 2. Create the story referencing it
{
"tool": "create_story",
"args": {
"slug": "ki-workshop-im-mai",
"pillar_id": 1,
"title": { "de": "KI-Workshop im Mai", "en": "AI Workshop in May" },
"lead": { "de": "Drei Stunden Hands-on mit echten KMU-Use-Cases." },
"body": { "de": "# Worum geht's\n\nMarkdown wird gerendert ..." },
"format": "news",
"hero_image": "/storage/stories/abc123.jpg",
"author_name": "digihub.li Team",
"tag_slugs": ["ai", "kmu"],
"status": "published",
"published_at": "2026-05-01T08:00:00Z"
}
}upload_media also accepts { "url": "https://..." } — the server fetches the remote URL and re-hosts the file.
When something doesn't work
Error | What's wrong |
Server doesn't appear in Claude / logs say | Node.js isn't installed or Claude can't find |
| Token missing or revoked — ask admin for a new one |
| Your token doesn't have that ability — ask admin to widen it |
| Slug must be lowercase letters, digits, dashes only; and unique |
| Unknown tag — only use slugs from Reference data above |
Image uploaded but doesn't show on the site | Browser/CDN cache; hard-refresh or wait a few minutes |
For anything else, send the admin the tool name, the arguments you used, and the error text.
MIT — see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/M0TT3P/digihub-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server