Skip to main content
Glama
lindoai

mcp-lindoai

Official

get_page

Read-only

Retrieve detailed information about a specific page using its website ID and page ID.

Instructions

Get page details.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
website_idYesThe website ID
page_idYesThe page ID

Implementation Reference

  • Registration of the 'get_page' tool using server.tool() with name 'get_page'.
    server.tool(
      "get_page",
      "Get page details.",
      {
        website_id: z.string().describe("The website ID"),
        page_id: z.string().describe("The page ID"),
      },
      { title: "Get Page Details", readOnlyHint: true, destructiveHint: false, openWorldHint: false },
      async ({ website_id, page_id }) => {
        const data = await apiCall(`/v1/workspace/website/${website_id}/pages/${page_id}`, "GET");
        return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
      }
    );
  • The async handler function that executes the get_page tool logic: calls the API to get page details.
    async ({ website_id, page_id }) => {
      const data = await apiCall(`/v1/workspace/website/${website_id}/pages/${page_id}`, "GET");
      return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
    }
  • Input schema for get_page: requires website_id (string) and page_id (string).
    {
      website_id: z.string().describe("The website ID"),
      page_id: z.string().describe("The page ID"),
    },
  • The apiCall helper function used by the get_page handler to make HTTP requests to the backend API.
    async function apiCall(path, method, body) {
      const url = `${BASE_URL}${path}`;
      const res = await fetch(url, {
        method,
        headers: {
          Authorization: `Bearer ${API_KEY}`,
          "Content-Type": "application/json",
        },
        ...(body ? { body: JSON.stringify(body) } : {}),
      });
      return res.json();
    }
Behavior2/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, fully covering the safety profile. The description adds no behavioral context beyond 'Get page details'β€”it does not mention absence of side effects, required permissions, or rate limits. With annotations providing transparency, the description adds minimal extra value, earning a 2.

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?

The description is a single, front-loaded sentence: 'Get page details.' No unnecessary words or tangential information. It is optimally concise for a straightforward get tool.

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?

The tool has no output schema, so the description should provide hints about the return value. 'Details' is vague and does not specify what fields (e.g., title, content, metadata) are returned. Given the tool's simplicity, this gap is significant for agent understanding, resulting in a score of 2.

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?

Input schema coverage is 100% with clear descriptions for both parameters (website_id, page_id). The description does not add any additional meaning or constraints beyond the schema, so it meets the baseline score of 3.

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 'Get page details' clearly states the verb ('Get') and resource ('page details'). Among sibling tools like get_page_html, get_blog, get_website, it is distinct because it focuses on the 'page' resource and implies retrieving metadata rather than HTML. The annotation title 'Get Page Details' reinforces this.

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?

No explicit when-to-use or when-not-to-use guidance is provided. However, the description implies usage when a user needs page details, and the context of sibling CRUD tools (create_page, update_page, delete_page) makes the read-only retrieval use case clear. This implicit guidance meets the minimum threshold for a 3.

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/lindoai/mcp-server'

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