KnowledgeOwl MCP by usefulapi
Read and write knowledge-base articles, categories, snippets, glossary, readers, and search data.
Should I use this
Quality & Safety
Findings (4)
- LOWin knowledgeowl_list_glossary_terms
- LOWin knowledgeowl_list_article_versions
- LOWin knowledgeowl_list_article_revisions
- LOWin knowledgeowl_create_glossary_term
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"knowledgeowl": {
"url": "https://knowledgeowl.usefulapi.io/mcp"
}
}
}Remote endpoints
https://knowledgeowl.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (24)
🟢knowledgeowl_list_articles(project_id, _page, params)
List knowledge-base articles. KnowledgeOwl API: GET /article.json. Optionally filter by project_id (the knowledge base). Returns the list envelope { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"project_id": {
"description": "Filter to a single knowledge base (project) id.",
"type": "string"
},
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_get_article(id)
Fetch a single article by id. KnowledgeOwl API: GET /article/{id}.json. Returns { valid, data:{...} }.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The article id (a Mongo-style hex string)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_categories(project_id, _page, params)
List categories (the article tree/table of contents). KnowledgeOwl API: GET /category.json. Optionally filter by project_id. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"project_id": {
"description": "Filter to a single knowledge base (project) id.",
"type": "string"
},
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_get_category(id)
Fetch a single category by id. KnowledgeOwl API: GET /category/{id}.json.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The category id (a Mongo-style hex string)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_tags(_page, params)
List article tags. KnowledgeOwl API: GET /tag.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_snippets(_page, params)
List reusable content snippets. KnowledgeOwl API: GET /snippet.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_glossary_terms(_page, params)
List glossary terms and definitions. KnowledgeOwl API: GET /glossaryterm.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_comments(_page, params)
List reader comments / feedback on articles. KnowledgeOwl API: GET /comment.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_readers(_page, params)
List readers (knowledge-base end users / audience accounts). KnowledgeOwl API: GET /reader.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_get_reader(id)
Fetch a single reader by id. KnowledgeOwl API: GET /reader/{id}.json.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The reader id (a Mongo-style hex string)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_files(_page, params)
List files in the file library (images/attachments). KnowledgeOwl API: GET /file.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_article_versions(_page, params)
List article versions. KnowledgeOwl API: GET /articleversion.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_article_revisions(_page, params)
List article revision history (read-only audit trail). KnowledgeOwl API: GET /articlerevision.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_suggestions(_page, params)
List search suggestions / reader search analytics (what readers searched for). KnowledgeOwl API: GET /suggest.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_synonyms(_page, params)
List search synonyms (terms treated as equivalent by search). KnowledgeOwl API: GET /synonym.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_webhooks(_page, params)
List configured webhooks. KnowledgeOwl API: GET /webhook.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_list_authors(_page, params)
List authors/agents (the team members who write and manage content). KnowledgeOwl API: GET /agent.json. Returns { valid, page_stats, data:[...] }.
Input Schema
{
"type": "object",
"properties": {
"_page": {
"description": "KnowledgeOwl pagination page number, 1-based.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"params": {
"description": "Additional documented query-string filters/operators to send verbatim (merged with the typed params above).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢knowledgeowl_request(path)
Power-user escape hatch: GET any KnowledgeOwl API path not wrapped by a dedicated tool. READ-ONLY — only GET is allowed. Pass the FULL API path after the base, starting with a slash, INCLUDING any query string, e.g. "/article.json?_page=2" or "/category/abc123.json". Returns the parsed JSON.
Input Schema
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Full API path after the base, starting with \"/\", e.g. \"/article.json?_page=2\"."
}
},
"required": [
"path"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴knowledgeowl_create_article(project_id, name, status, url_hash, visibility, ...)
MUTATES KnowledgeOwl data: creates a new article. KnowledgeOwl API: POST /article.json (JSON). Required by the API: project_id, name, status, url_hash, visibility, and current_version (a nested object `{ <lang>: { title, body, ... } }` — pass it via the `fields` passthrough). Returns the created article.
Input Schema
{
"type": "object",
"properties": {
"project_id": {
"type": "string",
"description": "The knowledge base (project) id this article belongs to (required)."
},
"name": {
"type": "string",
"description": "The article name/title (required)."
},
"status": {
"description": "Publishing status, e.g. \"published\", \"draft\", \"review\".",
"type": "string"
},
"url_hash": {
"description": "The article URL slug (e.g. \"getting-started\").",
"type": "string"
},
"visibility": {
"description": "Visibility, e.g. \"public\" or \"private\".",
"type": "string"
},
"fields": {
"description": "Additional documented KnowledgeOwl fields to send in the JSON write body (e.g. current_version, body) — merged OVER the typed fields above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"project_id",
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴knowledgeowl_update_article(id, name, status, url_hash, visibility, ...)
MUTATES KnowledgeOwl data: updates an existing article. KnowledgeOwl API: PUT /article/{id}.json (JSON — only included fields change). Use the `fields` passthrough for current_version (title/body) and any other documented field. The path id is never sent in the body.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The article id to update (path only; required)."
},
"name": {
"description": "New article name/title.",
"type": "string"
},
"status": {
"description": "New publishing status.",
"type": "string"
},
"url_hash": {
"description": "New URL slug.",
"type": "string"
},
"visibility": {
"description": "New visibility.",
"type": "string"
},
"fields": {
"description": "Additional documented KnowledgeOwl fields to send in the JSON write body (e.g. current_version, body) — merged OVER the typed fields above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴knowledgeowl_create_category(project_id, name, type, status, url_hash, ...)
MUTATES KnowledgeOwl data: creates a new category (a node in the article tree). KnowledgeOwl API: POST /category.json (JSON). Required by the API: type, project_id, url_hash, name, visibility, status. Pass extra documented fields via `fields`. Returns the created category.
Input Schema
{
"type": "object",
"properties": {
"project_id": {
"type": "string",
"description": "The knowledge base (project) id this category belongs to (required)."
},
"name": {
"type": "string",
"description": "The category name (required)."
},
"type": {
"description": "The category type (e.g. \"blank\", \"topic\", \"custom-content\").",
"type": "string"
},
"status": {
"description": "Publishing status, e.g. \"active\".",
"type": "string"
},
"url_hash": {
"description": "The category URL slug.",
"type": "string"
},
"visibility": {
"description": "Visibility, e.g. \"public\" or \"private\".",
"type": "string"
},
"fields": {
"description": "Additional documented KnowledgeOwl fields to send in the JSON write body (e.g. current_version, body) — merged OVER the typed fields above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"project_id",
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴knowledgeowl_update_category(id, name, status, url_hash, visibility, ...)
MUTATES KnowledgeOwl data: updates an existing category. KnowledgeOwl API: PUT /category/{id}.json (JSON — only included fields change). Use the `fields` passthrough for any other documented field. The path id is never sent in the body.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The category id to update (path only; required)."
},
"name": {
"description": "New category name.",
"type": "string"
},
"status": {
"description": "New publishing status.",
"type": "string"
},
"url_hash": {
"description": "New URL slug.",
"type": "string"
},
"visibility": {
"description": "New visibility.",
"type": "string"
},
"fields": {
"description": "Additional documented KnowledgeOwl fields to send in the JSON write body (e.g. current_version, body) — merged OVER the typed fields above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴knowledgeowl_create_snippet(project_id, name, fields)
MUTATES KnowledgeOwl data: creates a reusable content snippet. KnowledgeOwl API: POST /snippet.json (JSON). Pass the snippet body/content and any other documented field via `fields` (e.g. snippet_text/body). Returns the created snippet.
Input Schema
{
"type": "object",
"properties": {
"project_id": {
"type": "string",
"description": "The knowledge base (project) id this snippet belongs to (required)."
},
"name": {
"type": "string",
"description": "The snippet name (required)."
},
"fields": {
"description": "Additional documented KnowledgeOwl fields to send in the JSON write body (e.g. current_version, body) — merged OVER the typed fields above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"project_id",
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴knowledgeowl_create_glossary_term(project_id, term, definition, fields)
MUTATES KnowledgeOwl data: creates a glossary term and definition. KnowledgeOwl API: POST /glossaryterm.json (JSON). Pass extra documented fields via `fields`. Returns the created glossary term.
Input Schema
{
"type": "object",
"properties": {
"project_id": {
"type": "string",
"description": "The knowledge base (project) id this glossary term belongs to (required)."
},
"term": {
"type": "string",
"description": "The glossary term (required)."
},
"definition": {
"description": "The term's definition.",
"type": "string"
},
"fields": {
"description": "Additional documented KnowledgeOwl fields to send in the JSON write body (e.g. current_version, body) — merged OVER the typed fields above.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"project_id",
"term"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence