Skip to main content
Glama

pos_tag

Assigns part-of-speech tags and lemmas to text across Chinese, English, and other languages, with optional engine selection to force stanza UPOS output when needed.

Instructions

Part-of-speech tagging (+ lemma with stanza). Chinese: jieba.posseg; English: spaCy then stanza; other languages: stanza. engine may force one: "jieba" | "spacy" | "stanza" - use engine="stanza" to get UPOS + lemma even when spaCy is installed. An unavailable forced engine raises an actionable install hint instead of being silently ignored.

Input Schema

NameRequiredDescriptionDefault
langNoauto
textYes
engineNoauto

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does disclose default engine chains per language and that an unavailable forced engine raises an actionable install hint. It does not explicitly state that the operation is read-only/non-mutating, but the tool's nature and output schema make that largely inferable.

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

Conciseness4/5

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

The description is dense but front-loaded, with the main purpose stated first and no unnecessary repetition. Formatting is slightly technical, but it remains compact and information-bearing.

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

Completeness4/5

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

For a three-parameter tagger with an output schema, the description covers purpose, engine override behavior, language pipelines, and error behavior. The main missing piece is explicit lang/auto semantics, which is a minor gap rather than a blocking omission.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate. It explains the engine parameter's accepted values and effects, and describes language-specific routing that maps to the lang parameter, though it does not explicitly define lang's accepted values or auto-detection behavior.

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

Purpose4/5

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

States a specific operation, part-of-speech tagging, and adds lemma generation with stanza. It is clearly different from siblings like dependency_parse or ner, though it does not explicitly name or contrast those tools.

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?

Provides useful in-tool guidance: use engine="stanza" to get UPOS plus lemma even when spaCy is installed, and describes language-based engine routing. However, it gives no guidance on when to choose pos_tag over sibling tools such as tokenize, dependency_parse, or annotate_full.

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