Skip to main content
Glama

mockzilla_docs_topics

Lists available documentation topics to help you identify relevant guides before searching or reading specific topics.

Instructions

List the available mockzilla doc topics (e.g. 'usage/portable', 'middleware', 'config/service'). Call this once at the start of a session involving non-trivial mockzilla usage to know what knowledge is available; then call mockzilla_docs_search with a query or mockzilla_docs_read for a specific topic.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • lib/tools.js:248-261 (registration)
    Registration of the 'mockzilla_docs_topics' tool in the LOCAL_TOOLS registry with description, empty inputSchema, and a handler that calls topicsList().
    mockzilla_docs_topics: {
      description:
        "List the available mockzilla doc topics (e.g. 'usage/portable', " +
        "'middleware', 'config/service'). Call this once at the start " +
        "of a session involving non-trivial mockzilla usage to know what " +
        "knowledge is available; then call `mockzilla_docs_search` with " +
        "a query or `mockzilla_docs_read` for a specific topic.",
      inputSchema: {
        type: "object",
        properties: {},
        additionalProperties: false,
      },
      handler: async () => await topicsList(),
    },
  • lib/tools.js:6-6 (registration)
    Import of topicsList from ./docs.js.
    import { readTopic, searchDocs, topicsList } from "./docs.js";
  • Handler function topicsList() — fetches the list of available doc topics either from local disk (topicsListLocal) or from GitHub API by filtering .md files under docs/ in the mockzilla/mockzilla repo tree.
    export async function topicsList() {
      if (LOCAL_DIR) return await topicsListLocal();
    
      if (topicsCache && Date.now() - topicsAt < TTL_MS) {
        return { topics: topicsCache, source: "github (cached)" };
      }
      const res = await fetch(TREE_URL);
      if (!res.ok) {
        throw new Error(`GitHub tree fetch failed: ${res.status} ${res.statusText}`);
      }
      const body = await res.json();
      const topics = (body.tree || [])
        .filter((e) => e.type === "blob" && e.path.startsWith("docs/") && e.path.endsWith(".md"))
        .map((e) => topicFromPath(e.path))
        .sort();
      topicsCache = topics;
      topicsAt = Date.now();
      return { topics, source: `github://${REPO}@${BRANCH}` };
    }
  • topicsListLocal() — walks a local MOCKZILLA_DOCS_DIR to list .md files as fallback when LOCAL_DIR is set.
    async function topicsListLocal() {
      const files = [];
      await walk(LOCAL_DIR, "", files);
      const topics = files
        .filter((f) => f.endsWith(".md"))
        .map((f) => f.replace(/\.md$/, ""))
        .sort();
      return { topics, source: `local://${LOCAL_DIR}` };
  • topicFromPath() — strips docs/ prefix and .md suffix from a file path to produce the topic name.
    function topicFromPath(p) {
      return p.replace(/^docs\//, "").replace(/\.md$/, "");
    }
Behavior4/5

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

No annotations provided, but the description is self-sufficient: it describes a read-only listing operation with no side effects. It does not contradict any annotations. The behavior is obvious from the description.

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

Conciseness5/5

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

Two sentences: first states the purpose with examples, second provides usage guidance. No wasted words. Front-loaded and efficient.

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

Completeness5/5

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

Given no parameters and no output schema, the description fully covers what the tool does, when to use it, and how it relates to siblings. No missing information.

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?

The input schema has 0 parameters with 100% coverage (empty). The description adds meaning beyond the schema by explaining the purpose, examples, and contextual usage. Baseline for 0 params is 4, and the description meets it well.

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

Purpose5/5

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

The description clearly states it lists available mockzilla doc topics with examples (e.g., 'usage/portable', 'middleware'), and distinguishes it from sibling tools by explaining when to use each (search and read).

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

Usage Guidelines5/5

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

Explicitly states to call once at the start of a session involving non-trivial mockzilla usage, and then suggests calling `mockzilla_docs_search` or `mockzilla_docs_read` for specific topics. Provides clear when-to-use and next steps.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mockzilla/mockzilla-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server