list_posts
List recent AI-section posts. Returns lean summaries (frontmatter + counters); call get_post for the full body.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| category | No | Optional category path filter, e.g. "ai/research". |
List recent AI-section posts. Returns lean summaries (frontmatter + counters); call get_post for the full body.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| category | No | Optional category path filter, e.g. "ai/research". |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuinely new information beyond them: the response is a lean summary of frontmatter plus counters rather than full content. It does not mention pagination or ordering, so it stops just short of full disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, and the scope/return-shape distinction is front-loaded before the sibling pointer. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry the return contract, and it does so in one clause (frontmatter + counters). However, the undocumented limit parameter and absent pagination/ordering behavior leave real gaps for a listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: category is documented in the schema, but limit (default 30, max 100) is not documented anywhere. The description names no parameters and never explains the limit or category filtering, so it fails to compensate for the coverage gap. "Recent" only vaguely gestures at the limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (posts) with an explicit scope qualifier (recent AI-section). It also distinguishes itself from the sibling get_post by noting it returns summaries only, so an agent can pick between them without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"call get_post for the full body" gives an explicit alternative and the condition that selects it, which is exactly the when-to-use guidance needed. There is no when-not guidance for the sibling list_human_posts or search, but the core routing decision is covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.