Gives AI assistants read access to your Dedox help centre and knowledge base articles.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Your Dedox MCP key (Dashboard, MCP settings)
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Approve a pending comment
Comment ID
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http dedox https://api.dedox.ai/mcp \ --header 'X-MCP-Key: YOUR_X_MCP_KEY'
Headers
X-MCP-Key (required): Your Dedox MCP key (Dashboard, MCP settings)Approve a pending comment
| Argument | Type | Description |
|---|---|---|
| commentId* | string | Comment ID |
{
"type": "object",
"required": [
"commentId"
],
"properties": {
"commentId": {
"type": "string",
"description": "Comment ID"
}
}
}Create a new article in a knowledge base
| Argument | Type | Description |
|---|---|---|
| seo | object | SEO metadata object with optional fields: metaTitle (max 60 chars), metaDescription (max 160 chars), keywords (array of strings or comma-separated string) |
| slug | string | URL slug (auto-generated from title if not provided) |
| tags | array | Array of tag strings |
| title* | string | Article title |
| status | string | Article status (default: draft) |
| content* | string | Article content (Markdown format, will be converted to HTML) |
| excerpt | string | Short description or excerpt (max 500 characters) |
| category | string | Article category |
| knowledgeBaseId* | string | Knowledge base ID |
{
"type": "object",
"required": [
"knowledgeBaseId",
"title",
"content"
],
"properties": {
"seo": {
"type": "object",
"description": "SEO metadata object with optional fields: metaTitle (max 60 chars), metaDescription (max 160 chars), keywords (array of strings or comma-separated string)"
},
"slug": {
"type": "string",
"description": "URL slug (auto-generated from title if not provided)"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of tag strings"
},
"title": {
"type": "string",
"description": "Article title"
},
"status": {
"enum": [
"draft",
"pending",
"approved",
"rejected"
],
"type": "string",
"description": "Article status (default: draft)"
},
"content": {
"type": "string",
"description": "Article content (Markdown format, will be converted to HTML)"
},
"excerpt": {
"type": "string",
"description": "Short description or excerpt (max 500 characters)"
},
"category": {
"type": "string",
"description": "Article category"
},
"knowledgeBaseId": {
"type": "string",
"description": "Knowledge base ID"
}
}
}Create a new category in a knowledge base. It is listed straight away, including before an article uses it.
| Argument | Type | Description |
|---|---|---|
| name* | string | Category name |
| knowledgeBaseId* | string | Knowledge base ID |
{
"type": "object",
"required": [
"knowledgeBaseId",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Category name"
},
"knowledgeBaseId": {
"type": "string",
"description": "Knowledge base ID"
}
}
}Create a new knowledge base
| Argument | Type | Description |
|---|---|---|
| name* | string | Knowledge base name |
| branding | object | Branding configuration |
| settings | object | Knowledge base settings |
| subdomain | string | Custom subdomain (auto-generated if not provided) |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Knowledge base name"
},
"branding": {
"type": "object",
"description": "Branding configuration"
},
"settings": {
"type": "object",
"description": "Knowledge base settings"
},
"subdomain": {
"type": "string",
"description": "Custom subdomain (auto-generated if not provided)"
}
}
}Delete an article (soft delete)
| Argument | Type | Description |
|---|---|---|
| articleId* | string | Article ID |
{
"type": "object",
"required": [
"articleId"
],
"properties": {
"articleId": {
"type": "string",
"description": "Article ID"
}
}
}Delete a category from a knowledge base (uncategorizes all articles with that category)
| Argument | Type | Description |
|---|---|---|
| categoryName* | string | Category name to delete |
| knowledgeBaseId* | string | Knowledge base ID |
{
"type": "object",
"required": [
"knowledgeBaseId",
"categoryName"
],
"properties": {
"categoryName": {
"type": "string",
"description": "Category name to delete"
},
"knowledgeBaseId": {
"type": "string",
"description": "Knowledge base ID"
}
}
}Delete a comment (soft delete)
| Argument | Type | Description |
|---|---|---|
| commentId* | string | Comment ID |
{
"type": "object",
"required": [
"commentId"
],
"properties": {
"commentId": {
"type": "string",
"description": "Comment ID"
}
}
}Delete a knowledge base (soft delete)
| Argument | Type | Description |
|---|---|---|
| knowledgeBaseId* | string | Knowledge base ID |
{
"type": "object",
"required": [
"knowledgeBaseId"
],
"properties": {
"knowledgeBaseId": {
"type": "string",
"description": "Knowledge base ID"
}
}
}Get detailed information about a specific article
| Argument | Type | Description |
|---|---|---|
| articleId* | string | Article ID |
{
"type": "object",
"required": [
"articleId"
],
"properties": {
"articleId": {
"type": "string",
"description": "Article ID"
}
}
}Get analytics data for an article
| Argument | Type | Description |
|---|---|---|
| endDate* | string | End date (ISO format) |
| articleId* | string | Article ID |
| startDate* | string | Start date (ISO format) |
{
"type": "object",
"required": [
"articleId",
"startDate",
"endDate"
],
"properties": {
"endDate": {
"type": "string",
"description": "End date (ISO format)"
},
"articleId": {
"type": "string",
"description": "Article ID"
},
"startDate": {
"type": "string",
"description": "Start date (ISO format)"
}
}
}Get all categories used in a knowledge base
| Argument | Type | Description |
|---|---|---|
| knowledgeBaseId* | string | Knowledge base ID |
{
"type": "object",
"required": [
"knowledgeBaseId"
],
"properties": {
"knowledgeBaseId": {
"type": "string",
"description": "Knowledge base ID"
}
}
}Get all tags used in a knowledge base
| Argument | Type | Description |
|---|---|---|
| knowledgeBaseId* | string | Knowledge base ID |
{
"type": "object",
"required": [
"knowledgeBaseId"
],
"properties": {
"knowledgeBaseId": {
"type": "string",
"description": "Knowledge base ID"
}
}
}Get detailed information about a specific knowledge base
| Argument | Type | Description |
|---|---|---|
| knowledgeBaseId* | string | Knowledge base ID |
{
"type": "object",
"required": [
"knowledgeBaseId"
],
"properties": {
"knowledgeBaseId": {
"type": "string",
"description": "Knowledge base ID"
}
}
}Get analytics data for a knowledge base
| Argument | Type | Description |
|---|---|---|
| endDate* | string | End date (ISO format) |
| startDate* | string | Start date (ISO format) |
| knowledgeBaseId* | string | Knowledge base ID |
{
"type": "object",
"required": [
"knowledgeBaseId",
"startDate",
"endDate"
],
"properties": {
"endDate": {
"type": "string",
"description": "End date (ISO format)"
},
"startDate": {
"type": "string",
"description": "Start date (ISO format)"
},
"knowledgeBaseId": {
"type": "string",
"description": "Knowledge base ID"
}
}
}List all versions of an article
| Argument | Type | Description |
|---|---|---|
| articleId* | string | Article ID |
{
"type": "object",
"required": [
"articleId"
],
"properties": {
"articleId": {
"type": "string",
"description": "Article ID"
}
}
}List articles for a knowledge base with optional filters
| Argument | Type | Description |
|---|---|---|
| tags | array | Filter by tags |
| limit | number | Maximum number of results (1-100, default: 50) |
| offset | number | Number of results to skip (default: 0) |
| status | string | Filter by status |
| category | string | Filter by category |
| knowledgeBaseId* | string | Knowledge base ID |
{
"type": "object",
"required": [
"knowledgeBaseId"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by tags"
},
"limit": {
"type": "number",
"description": "Maximum number of results (1-100, default: 50)"
},
"offset": {
"type": "number",
"description": "Number of results to skip (default: 0)"
},
"status": {
"enum": [
"draft",
"pending",
"approved",
"rejected"
],
"type": "string",
"description": "Filter by status"
},
"category": {
"type": "string",
"description": "Filter by category"
},
"knowledgeBaseId": {
"type": "string",
"description": "Knowledge base ID"
}
}
}List comments for an article
| Argument | Type | Description |
|---|---|---|
| status | string | Filter by status |
| articleId* | string | Article ID |
{
"type": "object",
"required": [
"articleId"
],
"properties": {
"status": {
"enum": [
"pending",
"approved",
"rejected",
"spam"
],
"type": "string",
"description": "Filter by status"
},
"articleId": {
"type": "string",
"description": "Article ID"
}
}
}List all knowledge bases owned by the user
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Reject a comment
| Argument | Type | Description |
|---|---|---|
| commentId* | string | Comment ID |
{
"type": "object",
"required": [
"commentId"
],
"properties": {
"commentId": {
"type": "string",
"description": "Comment ID"
}
}
}Restore an article to a specific version
| Argument | Type | Description |
|---|---|---|
| articleId* | string | Article ID |
| versionNumber* | number | Version number to restore |
{
"type": "object",
"required": [
"articleId",
"versionNumber"
],
"properties": {
"articleId": {
"type": "string",
"description": "Article ID"
},
"versionNumber": {
"type": "number",
"description": "Version number to restore"
}
}
}Search articles using full-text search
| Argument | Type | Description |
|---|---|---|
| limit | number | Maximum number of results (1-100, default: 50) |
| query* | string | Search query |
| offset | number | Number of results to skip (default: 0) |
| knowledgeBaseId | string | Filter by knowledge base ID |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "number",
"description": "Maximum number of results (1-100, default: 50)"
},
"query": {
"type": "string",
"description": "Search query"
},
"offset": {
"type": "number",
"description": "Number of results to skip (default: 0)"
},
"knowledgeBaseId": {
"type": "string",
"description": "Filter by knowledge base ID"
}
}
}Update an existing article. Creates a new version with a change note.
| Argument | Type | Description |
|---|---|---|
| seo | object | SEO metadata object with optional fields: metaTitle (max 60 chars), metaDescription (max 160 chars), keywords (array of strings or comma-separated string) |
| slug | string | URL slug |
| tags | array | Array of tag strings |
| title | string | Article title |
| status | string | Article status |
| content | string | Article content (Markdown format, will be converted to HTML) |
| excerpt | string | Article excerpt (max 500 characters) |
| category | string | Article category |
| articleId* | string | Article ID |
| changeNote | string | Optional note describing the changes made (max 500 characters). If not provided, a summary of changed fields will be generated. |
Rename a category in a knowledge base (updates all articles with that category)
| Argument | Type | Description |
|---|---|---|
| newName* | string | New category name |
| categoryName* | string | Current category name |
| knowledgeBaseId* | string | Knowledge base ID |
{
"type": "object",
"required": [
"knowledgeBaseId",
"categoryName",
"newName"
],
"properties": {
"newName": {
"type": "string",
"description": "New category name"
},
"categoryName": {
"type": "string",
"description": "Current category name"
},
"knowledgeBaseId": {
"type": "string",
"description": "Knowledge base ID"
}
}
}Update an existing knowledge base
| Argument | Type | Description |
|---|---|---|
| name | string | Knowledge base name |
| branding | object | Branding configuration |
| settings | object | Knowledge base settings |
| subdomain | string | Custom subdomain |
| knowledgeBaseId* | string | Knowledge base ID |
{
"type": "object",
"required": [
"knowledgeBaseId"
],
"properties": {
"name": {
"type": "string",
"description": "Knowledge base name"
},
"branding": {
"type": "object",
"description": "Branding configuration"
},
"settings": {
"type": "object",
"description": "Knowledge base settings"
},
"subdomain": {
"type": "string",
"description": "Custom subdomain"
},
"knowledgeBaseId": {
"type": "string",
"description": "Knowledge base ID"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 30, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.
{
"type": "object",
"required": [
"articleId"
],
"properties": {
"seo": {
"type": "object",
"description": "SEO metadata object with optional fields: metaTitle (max 60 chars), metaDescription (max 160 chars), keywords (array of strings or comma-separated string)"
},
"slug": {
"type": "string",
"description": "URL slug"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of tag strings"
},
"title": {
"type": "string",
"description": "Article title"
},
"status": {
"enum": [
"draft",
"pending",
"approved",
"rejected"
],
"type": "string",
"description": "Article status"
},
"content": {
"type": "string",
"description": "Article content (Markdown format, will be converted to HTML)"
},
"excerpt": {
"type": "string",
"description": "Article excerpt (max 500 characters)"
},
"category": {
"type": "string",
"description": "Article category"
},
"articleId": {
"type": "string",
"description": "Article ID"
},
"changeNote": {
"type": "string",
"description": "Optional note describing the changes made (max 500 characters). If not provided, a summary of changed fields will be generated."
}
}
}