@nks-hub/nksweb-mcp
Click on "Deploy 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., "@@nks-hub/nksweb-mcplist all active pages"
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.
@nks-hub/nksweb-mcp
MCP server for NKS-Web CMS: manage pages, articles, news, files, users and analytics from Claude Code or any MCP-compatible client.
Requests an AI assistant can handle with it:
"List all active pages on the site"
"Create a new article about product updates"
"What are the top visited pages this month?"
"Show me browser breakdown from analytics"
"Switch to the acme tenant and list their news"
Features
🛠️ 49 tools - Pages, articles, categories, news, files, users, messages, redirects, settings, analytics and tenants
🧱 Content blocks - Create, update and delete the named HTML blocks of a page that the admin edits in Quill
🏢 Tenant switching - List tenants and send later requests to another tenant through the
X-Tenantheader🔍 Page filtering - Filter pages by type, status and language, or search name, URL slug and HTML content
📊 Analytics - Overview, top pages, referrers and a breakdown by 14 dimensions such as country, browser, device and UTM parameters
🏷️ Tool annotations - Each tool carries the MCP
readOnlyHint,destructiveHintandidempotentHinthints✂️ Response truncation - Lists over 25,000 characters are cut to half the items with a note to paginate; other responses are cut at 25,000 characters
💬 Error messages - HTTP 400, 401, 403, 404, 409, 429, 502 and 503 each map to a message that names the cause, such as a missing API key scope
Related MCP server: @uselink/mcp
Requirements
Node.js: 18+
NKS-Web CMS: Instance with API enabled and API key created
Installation
Run it with npx without installing:
npx -y @nks-hub/nksweb-mcpOr install globally:
npm install -g @nks-hub/nksweb-mcpFrom source
git clone https://github.com/nks-hub/nksweb-mcp.git
cd nksweb-mcp
npm install && npm run buildConfiguration
Add to your ~/.claude/.mcp.json or project-level MCP config:
{
"mcpServers": {
"nksweb": {
"command": "npx",
"args": ["-y", "@nks-hub/nksweb-mcp"],
"env": {
"NKSWEB_URL": "https://your-site.com",
"NKSWEB_API_KEY": "nks_your_api_key"
}
}
}
}When built from source, use "command": "node" with "args": ["/path/to/nksweb-mcp/build/index.js"] instead.
Or via Claude Code CLI:
claude mcp add nksweb -e NKSWEB_URL=https://your-site.com -e NKSWEB_API_KEY=nks_key -- npx -y @nks-hub/nksweb-mcpEnvironment variables
Variable | Required | Description |
| Yes | Base URL of the NKS-Web instance (e.g. |
| Yes | API key with appropriate scopes (prefix |
Usage
Once configured, the MCP client sees the tools listed below and calls them when you ask about CMS content.
Tools (49)
Pages (8 tools)
Tool | Description |
| List pages with optional filters: |
| Get full page detail by ID including HTML content and extraData |
| Create a new page with content, type, SEO, and navigation settings |
| Update an existing page (partial update: send only changed fields) |
| Delete a page (soft-delete) |
| List all named content blocks for a page |
| Create or update a single content block by key |
| Delete a content block from a page |
Articles (5 tools)
Tool | Description |
| List all articles |
| Get article detail by ID |
| Create article with content, categories, and SEO |
| Update an existing article |
| Delete an article |
Categories (5 tools)
Tool | Description |
| List all article categories |
| Get category detail by ID |
| Create a category (supports nested tree) |
| Update a category |
| Delete a category |
News (5 tools)
Tool | Description |
| List all news items |
| Get news item detail by ID |
| Create a news item |
| Update a news item |
| Delete a news item |
Files (3 tools)
Tool | Description |
| List all uploaded files |
| Get file metadata by ID |
| Delete a file |
Users (5 tools)
Tool | Description |
| List all admin users |
| Get user detail by ID |
| Create a new admin user |
| Update user profile or role |
| Delete a user |
Messages (4 tools)
Tool | Description |
| List all contact form messages |
| Get message detail by ID |
| Mark a message as read/unread |
| Delete a message |
Redirects (5 tools)
Tool | Description |
| List all URL redirects |
| Get redirect detail by ID |
| Create a redirect rule (301/302/307) |
| Update a redirect |
| Delete a redirect |
Settings (3 tools)
Tool | Description |
| List all tenant settings |
| Get a specific setting by key |
| Update one or more settings |
Analytics (4 tools)
Tool | Description |
| Traffic overview: sessions, pageviews, users, bounce rate, avg duration |
| Top visited pages with visit count, pageviews, bounce rate |
| Top traffic sources with visit count and percentage |
| Breakdown by dimension: |
Tenants (2 tools)
Tool | Description |
| List available tenants (multi-tenant key: all tenants, single-tenant key: current tenant) |
| Switch the active tenant; all subsequent operations target it |
API key scopes
Each tool needs the matching scope on the API key:
Scope | Tools |
| list, get pages and content blocks |
| create, update, delete pages and content blocks |
| article management |
| category management |
| news management |
| file management |
| user management |
| message management |
| redirect management |
| settings management |
| analytics access |
| tenant listing |
Page filtering
nksweb_list_pages accepts these filters:
Parameter | Type | Description |
| string | Filter by page type: |
| number |
|
| string | Full-text search across page name, URL slug, and HTML content |
| string | ISO 639-1 language code (e.g. |
Analytics parameters
All analytics tools accept these optional parameters:
Parameter | Type | Description |
| string | Start date |
| string | End date |
| number | Max results 1–100 (default: 10) |
Available metrics
Dimensions for nksweb_analytics_metric:
Metric | Description |
| Page paths (same as top pages) |
| Traffic sources |
| Visitor countries |
| Visitor regions/states |
| Visitor cities |
| Browser names (Chrome, Firefox, Safari, ...) |
| Operating systems (Windows, macOS, iOS, Android, ...) |
| Device categories (desktop, mobile, tablet) |
| Browser language settings |
| UTM source parameter |
| UTM medium parameter |
| UTM campaign parameter |
| UTM content parameter |
| UTM term parameter |
Examples
Content management
User: "List all active pages"
→ nksweb_list_pages { status: 1 }
User: "Find pages containing 'pricing'"
→ nksweb_list_pages { search: "pricing" }
User: "Show me the homepage"
→ nksweb_list_pages { type: "homepage" }
User: "Create a new FAQ page"
→ nksweb_create_page { name: "FAQ", url: "faq", type: "faq", status: 1,
content: "<h1>Frequently Asked Questions</h1>" }
User: "Update the hero heading on homepage"
→ nksweb_upsert_content_block { pageId: 14, key: "hero_heading",
content: "Digital Solutions That Work", label: "Hero Heading" }Analytics
User: "How's the site traffic this month?"
→ nksweb_analytics_overview { startDate: "2026-03-01" }
User: "What browsers do our visitors use?"
→ nksweb_analytics_metric { metric: "browser", limit: 10 }
User: "Show country breakdown for last week"
→ nksweb_analytics_metric { metric: "country",
startDate: "2026-03-02", endDate: "2026-03-09" }
User: "Top 5 most visited pages"
→ nksweb_analytics_pages { limit: 5 }
User: "Where does our traffic come from?"
→ nksweb_analytics_referrers {}Multi-tenant
User: "What tenants are available?"
→ nksweb_list_tenants {}
User: "Switch to the acme tenant"
→ nksweb_set_tenant { slug: "acme" }
User: "Now list their pages"
→ nksweb_list_pages {} (automatically targets acme)
User: "Go back to default"
→ nksweb_set_tenant { slug: "" }Articles and news
User: "Create an article about our new feature"
→ nksweb_create_article { title: "Introducing Smart Search",
url: "introducing-smart-search", status: 1,
content: "<p>We're excited to announce...</p>" }
User: "List all news items"
→ nksweb_list_news {}
User: "Delete news item #5"
→ nksweb_delete_news { id: 5 }Settings and redirects
User: "What settings does this tenant have?"
→ nksweb_list_settings {}
User: "Add a redirect from /old-page to /new-page"
→ nksweb_create_redirect { source: "/old-page", target: "/new-page",
statusCode: 301, isActive: true }
User: "Show all contact form messages"
→ nksweb_list_messages {}Project structure
nksweb-mcp/
├── src/
│ ├── index.ts # Entry point, MCP server setup
│ ├── client.ts # HTTP client with tenant switching (X-Tenant header)
│ ├── constants.ts # Timeouts and limits
│ └── tools/
│ ├── pages.ts # Pages + content blocks (8 tools)
│ ├── articles.ts # Articles CRUD (5 tools)
│ ├── categories.ts # Categories CRUD (5 tools)
│ ├── news.ts # News CRUD (5 tools)
│ ├── files.ts # Files management (3 tools)
│ ├── users.ts # Users CRUD (5 tools)
│ ├── messages.ts # Messages management (4 tools)
│ ├── redirects.ts # Redirects CRUD (5 tools)
│ ├── settings.ts # Settings management (3 tools)
│ ├── analytics.ts # Analytics queries (4 tools)
│ └── tenants.ts # Multi-tenant switching (2 tools)
├── tests/
│ └── integration.test.ts
├── build/ # Compiled JS output
├── package.json
├── tsconfig.json
└── LICENSELinks
@nks-hub/rybbit-mcp: MCP server for Rybbit Analytics
@nks-hub/rybbit-ts: TypeScript tracking SDK
Development
git clone https://github.com/nks-hub/nksweb-mcp.git
cd nksweb-mcp
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Run integration tests
npm test
# Type checking
npx tsc --noEmitContributing
Contributions are welcome! For major changes, please open an issue first.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'feat: description')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
Support
📧 Email: dev@nks-hub.cz
🐛 Bug reports: GitHub Issues
📖 MCP Protocol: modelcontextprotocol.io
License
MIT License — see LICENSE for details.
This server cannot be deployed
Maintenance
Related MCP Connectors
Create, edit, preview, publish, and manage web pages from MCP-capable AI clients.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server that gives Claude Desktop and other desktop MCP clients filesystem powers—read, write, edit, and manage files like AI coding assistants.1737 npm9MIT
- AlicenseBqualityCmaintenanceMCP server to publish HTML/Markdown docs, upload assets, and reply to stakeholder comments on uselink.app directly from AI tools like Claude and Cursor.343 npmMIT

srgplus-mcpofficial
AlicenseBqualityBmaintenanceMCP server for SRG+ — lets Claude (and any MCP-aware agent) manage hubs, channels, content, assets, users, and workspaces through the SRG+ API.10330 PyPIMIT- AlicenseBqualityDmaintenanceMCP server for the digihub.li content API, enabling Claude to read and write Stories, Solutions, and Sessions, and upload images for media.178 npmMIT