Skip to main content
Glama

Get knowledge article

servicenow_get_knowledge_article
Read-onlyIdempotent

Retrieve a ServiceNow knowledge base article by sys_id, with optional filters for fields, language, knowledge base, and pagination.

Instructions

Get Knowledge Base article.

:param article_sys_id: The sys_id of the knowledge article. :type article_sys_id: str :param filter: Encoded query to use to filter the result set. :type filter: str :param sysparm_fields: Comma-separated list of field names to include in the response. :type sysparm_fields: str :param sysparm_limit: Maximum number of records to return. :type sysparm_limit: int :param sysparm_search_id: Unique identifier of search that returned this article :type sysparm_search_id: str :param sysparm_search_rank: Article search rank by click-rate :type sysparm_search_rank: str :param sysparm_update_view: Update view count and record an entry for the article :type sysparm_update_view: bool :param sysparm_offset: Number of records to skip before starting the retrieval. :type sysparm_offset: int :param sysparm_query: Encoded query string for filtering records. :type sysparm_query: str :param sysparm_query_category: Category to which the query belongs. :type sysparm_query_category: str :param kb: Comma-separated list of knowledge base sys_ids from the Knowledge Bases [kb_knowledge_base] table to restrict results to. :type kb: str :param language: List of comma-separated languages in two-letter ISO 639-1 language code format to restrict results to. Alternatively type 'all' to search in all valid installed languages on an instance. :type language: str

:return: Response containing parsed Pydantic model with information about the retrieved record. :rtype: Response

:raises MissingParameterError: If article_sys_id is not provided. :raises ParameterError: If input parameters are invalid.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textSearchNo
sysparm_limitNo
sysparm_queryNo
api_parametersNo
article_sys_idNo
sysparm_fieldsNo
sysparm_offsetNo
name_value_pairsNo
attachment_sys_idNo
sysparm_search_idNo
sysparm_search_rankNo
sysparm_update_viewNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.4.0

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/destructive/openWorld, so the safety bar is lower; the description adds error conditions (MissingParameterError, ParameterError) and a note that sysparm_update_view increments view counts and records an entry — a real server-side side effect worth knowing on a readOnly-declared tool. It does not explain pagination behavior, result ordering, or how sysparm_search_id/search_rank must be paired, and the return statement ("parsed Pydantic model with information about the retrieved record") is boilerplate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The body is a raw Sphinx docstring dump: every parameter is followed by a redundant :type line that merely restates the schema types. It is not front-loaded with the operating facts an agent needs (single-record fetch vs list query), so the reader must parse the whole block to extract two or three useful sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 12 parameters, zero schema descriptions, no output schema, and no required fields, this description should carry most of the burden and does not. The description/schema parameter sets diverge by four properties in each direction, pagination and result-shape behavior are unexplained, and the central ambiguity of single-record retrieval versus filtered listing is left unresolved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description is the only parameter documentation and it does define meanings for 8 schema properties. However, it omits textSearch, api_parameters, name_value_pairs, and attachment_sys_id entirely, documents four parameters that do not exist in the schema (filter, sysparm_query_category, kb, language), and gives sysparm_search_rank as str where the schema types it as integer — so compensation is partial and partly misleading.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Get Knowledge Base article" gives a verb and resource, but it never resolves whether this retrieves a single article by sys_id or a filtered set — the parameter list mixes a unique identifier with limit/offset/filter/kb/language, which are list-scan controls. It also gives no differentiation from siblings such as servicenow_get_knowledge_articles, servicenow_get_featured_knowledge_article, or servicenow_get_knowledge_article_attachment, so the agent must infer the distinction from the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use, when-not-to-use, or named alternative, and no prerequisite information (the openWorldHint suggests remote/auth context that is never stated). The one genuinely useful usage signal is the :raises MissingParameterError clause, which tells the agent article_sys_id is effectively required despite the schema marking every property optional. Guidance is implied by the parameter list rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools