Skip to main content
Glama

Server Details

Read-only access to MojaLab.com blog content: search and read posts, pages and tags as Markdown.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 9 of 9 tools scored.

Server CoherenceA
Disambiguation4/5

Each tool targets a distinct resource or action: pages, posts, related posts, site summary, tags, and searches. The only potential confusion is between search_all and search_posts, but their descriptions clearly specify scope (all content vs. posts only), so ambiguity is low.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern: get_* for single-item retrieval, list_* for collections, and search_* for search operations. There are no mixed naming conventions or vague verbs.

Tool Count5/5

Nine tools is well-scoped for a content retrieval server covering posts, pages, tags, search, and site overview. Each tool provides a distinct function without redundancy or overwhelming count.

Completeness5/5

The surface covers the core read-only lifecycle for a static content site: retrieving individual pages/posts, listing resources, searching across content, and getting related items. Given the server's purpose is content access, there are no major dead ends or missing operations.

Available Tools

9 tools
get_pageGet a static pageAInspect

Get the full content of a published MojaLab static page as Markdown, by slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesPage slug, e.g. "about"
Behavior4/5

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

No annotations are provided, so the description must carry the burden. It discloses that the operation is a read ('Get'), that it returns the full content, and that the output format is Markdown. This suffices for a straightforward retrieval tool, though it could mention implications like whether any additional metadata is included.

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 sentence that is front-loaded with the verb and resource. Every word serves a purpose with no redundancy or unnecessary detail.

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?

Given the tool's simplicity (one required parameter, no output schema), the description adequately explains what the tool does. It could be slightly more explicit about the return format (e.g., 'only the markdown content'), but it is still sufficient for correct use.

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 100%, so the schema already explains the slug parameter. The description adds 'by slug' as a reinforcement but does not provide new semantics beyond the schema's 'Page slug, e.g. "about"'. Baseline 3 is appropriate.

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 the verb 'Get', specifies the resource 'published MojaLab static page', and indicates the output format 'as Markdown'. The parameter 'by slug' distinguishes it from siblings like get_post and list_pages, which serve different purposes.

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

Usage Guidelines4/5

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

The description implies use when needing full content of a specific page by slug, which is clear context. However, it does not explicitly state when not to use it (e.g., when only page metadata is needed, use list_pages instead) or mention alternatives. For a simple tool, this is still good.

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

get_postGet a blog postAInspect

Get the full content of a published MojaLab blog post as Markdown, by slug. Includes any companion repository link.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesPost slug, e.g. "hello-world"
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses that only published posts are returned, that the output is Markdown, and that a companion repository link may be included. It does not state error behavior or side effects, but the 'get' verb and the clear output description provide reasonable transparency for a simple read operation.

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 two concise sentences, front-loaded with the primary action and output format, and contains no superfluous information. Every word adds value.

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?

The tool is simple with one parameter and no output schema. The description explains the return content (Markdown and optional repository link) and the constraint (published posts). It could mention handling of missing slugs, but for a straightforward retrieval tool, the description is essentially complete.

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 100% with a clear example for the slug parameter. The description adds the phrase 'by slug', which reinforces the parameter usage but does not add new meaning beyond the schema. Therefore, the baseline score of 3 is appropriate.

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 the tool gets the full content of a specific blog post by slug, indicates the return format (Markdown), and mentions the companion repository link. It distinguishes itself from siblings like list_posts (which likely only lists) and get_related_posts (which gets related posts).

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

Usage Guidelines4/5

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

The description provides clear context on when to use the tool: to retrieve a single published post's full content by slug. It does not explicitly mention alternatives or exclusions, but the specific phrasing (full content, by slug) implies it is for detailed retrieval rather than listing or searching.

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

get_site_summaryGet site summaryAInspect

Get a concise overview of mojalab.com in one call: what the site is about, main topics, article/page counts, recent articles, and available tools/pages. Use for questions like "what is mojalab?".

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description carries the full burden. It states what the tool returns (overview, topics, counts, recent articles, tools/pages), which is transparent about the output contents. However, it does not disclose any potential limitations, data freshness, or side effects (nor does it explicitly say it is read-only, though 'Get' implies it). This is adequate for a simple read-only overview tool but lacks detailed behavioral context.

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 two sentences, front-loads the purpose, and packs relevant details (site overview contents and usage example) without any filler. Every sentence earns its place.

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 zero-parameter tool with no output schema, the description fully covers what the call does, what it returns, and when to use it. It could go deeper (e.g., number of recent articles or data source), but the provided information is sufficient for a user to select and invoke the tool correctly, especially given the sibling context.

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 tool has zero parameters, so the baseline is 4. There are no parameter semantics to clarify, and the description adds no unnecessary detail about parameters. This is appropriate.

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 uses a specific verb ('Get') and clearly identifies the resource (a concise overview of mojalab.com) with its contents (site topic, main topics, counts, recent articles, tools/pages). This differentiates it from sibling tools like get_page or list_posts, which focus on individual pages/posts.

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

Usage Guidelines4/5

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

The description provides an explicit use case: 'Use for questions like "what is mojalab?"' This gives clear context for when to invoke the tool. However, it does not explicitly state when not to use it or mention alternatives, so it stops short of a 5.

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

list_pagesList static pagesAInspect

List published static pages on MojaLab (about, tools, ...).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1)
limitNoPages per page (default 10, max 50)
Behavior3/5

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

No annotations are provided, but the description indicates a read-only operation (list published pages). It does not disclose potential behavioral traits like rate limits, authentication needs, or response format. For a simple list tool, this is adequate but not transparent.

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 a single short sentence with no wasted words. It is front-loaded with the key action and resource. It is concise but could benefit from slight expansion for clarity.

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?

Given the simplicity of the tool, no output schema, and full schema coverage, the description adequately conveys what the tool does. It mentions the scope (published static pages on MojaLab) and examples. It could mention pagination behavior, but that is covered in the schema.

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 coverage is 100% with descriptions for both pagination parameters (page, limit). The description adds no additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

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 the action (list) and resource (published static pages on MojaLab), with examples (about, tools). It distinguishes from siblings like get_page (single page) and list_posts (posts vs pages).

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?

The description implies usage for listing static pages but provides no explicit guidance on when to use this tool versus alternatives like get_page for a single page, or list_posts for posts. No when-not-to-use conditions are stated.

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

list_postsList blog postsAInspect

List published MojaLab blog posts (title, slug, excerpt, tags, date). Paginated; optionally filter by tag slug, filter by publish date, and sort.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoFilter by tag slug (see list_tags)
pageNoPage number (default 1)
sortNoSort order (default date_desc)
limitNoPosts per page (default 10, max 50)
sinceNoOnly posts published on/after this date (YYYY-MM-DD)
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It explicitly mentions pagination, optional filtering by tag and date, and sorting, which are key behavioral traits. It also notes that it returns only published posts. This is transparent for a read-only list tool, though it doesn't state defaults (like sort order) or error handling, but those are covered in the schema.

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 two sentences, with the primary purpose front-loaded and supporting details (pagination, filters, sort) efficiently listed. No wasted words or redundant information.

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?

The description is sufficient for a simple list tool: it names the resource, return fields, pagination, and optional filters. It does not need to explain return values in detail since there is no output schema, but the field list in parentheses provides essential context. Sibling tools are not referenced, but the description's scope is clear enough for an agent to decide when to call it.

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 100%, so all five parameters are well-documented in the schema. The description adds a high-level mention of 'tag slug', 'publish date', and 'sort', but does not provide additional meaning beyond the schema. Baseline 3 is appropriate given the schema already fully explains each parameter.

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 uses a specific verb ('List') and resource ('published MojaLab blog posts') and specifies the returned fields (title, slug, excerpt, tags, date). It clearly distinguishes from siblings like get_post (single post) and search_posts (full-text search), making the tool's purpose unambiguous.

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

Usage Guidelines4/5

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

The description states the tool lists published posts with pagination and optional filters (tag slug, publish date, sort), giving clear context for when to use it. It does not explicitly exclude alternatives or name sibling tools, but the filter capabilities imply it is for browsing/filtering rather than single-record retrieval or full-text search.

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

list_tagsList tagsAInspect

List all public tags on MojaLab with their post counts and descriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that the tool lists all public tags (implying read-only, no auth needed for public data) and that the results include post counts and descriptions, giving a good sense of the return content. It doesn't address pagination or ordering, but these are not critical for a no-parameter list tool.

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 that conveys all necessary information without any fluff. Every word adds value: 'List', 'all public tags', 'MojaLab', 'post counts', 'descriptions'.

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?

Given the tool's simplicity (no parameters, no output schema), the description is largely complete. It explains what is returned (tags with post counts and descriptions) and the scope (all public tags). The only minor gap is not explicitly stating the tag name is included, but that is implied by 'list tags'. Overall, it provides sufficient context for effective use.

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 tool has zero parameters, so the schema is trivially complete. The rule for 0 parameters is a baseline of 4, and the description adds no confusing parameter information.

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 the tool's function: listing all public tags on MojaLab, including post counts and descriptions. It uses a specific verb ('List') and identifies the resource ('public tags'), which distinguishes it from sibling tools like list_pages and list_posts.

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?

The description implies when to use the tool (when needing tags) but provides no explicit guidance on alternatives or exclusions. It does not mention that list_pages or list_posts should be used for other content types, leaving the usage context inferred rather than stated.

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

search_allSearch all contentAInspect

Search across all published content — blog posts, static pages/tools, and companion GitHub repositories — ranked by relevance. Each result is prefixed with [post], [page], or [repo].

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10)
queryYesKeyword or question to search for
content_typeNoRestrict to a content type (default all)
excerpt_lengthNoMax excerpt characters (default 150)
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It adds useful behavioral details: results are restricted to 'published content', ranked by relevance, and each result is prefixed with [post], [page], or [repo]. It does not mention read-only status or pagination, but for a search tool these are generally inferred and the provided details are meaningful.

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 two sentences long, with the first sentence stating the core action and scope, and the second providing a useful result-format detail. No filler or redundant content.

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?

The tool has four parameters, all documented in the schema, and no output schema is present. The description adequately covers the tool's behavior (what is searched, ranking, and output prefix), and the schema covers parameter details. It is complete for a search tool of this complexity.

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 100%, so the base score is 3. The description does not add extra parameter guidance beyond the schema. It does not explain content_type values or default limits, but the schema already documents these thoroughly.

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 uses a specific verb ('Search') with an explicit resource ('all published content') and enumerates the included content types (blog posts, static pages/tools, companion GitHub repositories). It clearly distinguishes itself from sibling tools like search_posts by scoping 'all' content, while also naming the result-prefix format.

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

Usage Guidelines4/5

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

The description clearly implies when to use the tool: when a cross-content-type search is needed. It states it covers blog posts, pages, and repos, making it obvious that narrower search tools like search_posts exist, but it does not explicitly name alternatives or exclusions.

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

search_postsSearch blog postsAInspect

Search published MojaLab posts by keyword or natural-language query. Results are ranked by relevance (0–1) using hybrid lexical + semantic matching. Use excerpt_length for longer previews.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 5)
queryYesKeyword or question to search for
excerpt_lengthNoMax excerpt characters (default 150)
Behavior3/5

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

With no annotations, the description carries the safety/behavioral burden. It discloses that only published posts are searched and that results are ranked by relevance (0–1) using hybrid matching. However, it omits details like return format, pagination, and read-only status, leaving the agent to infer safe behavior.

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 three short sentences, all meaningful: it states the purpose, the ranking behavior, and a parameter hint. It is front-loaded with the keyword 'Search', and every sentence contributes. No wasted text.

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 simple search tool with no output schema, the description covers scope, ranking, and parameter usage. It hints at return content via 'previews' and 'relevance (0–1)', but does not explicitly state the output structure. It is complete enough for common use cases.

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 schema covers all parameters (100%), so the baseline is 3. The description adds value by explaining that excerpt_length controls preview length ('for longer previews'), and it clarifies query accepts natural language. This goes beyond the schema's dry descriptions.

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 the tool searches published MojaLab posts using keyword or natural-language queries, specifying the verb, resource, and scope. It distinguishes from siblings like list_posts (search vs list) and search_all (restricted to posts).

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?

The description implies usage for searching published posts but provides no explicit alternatives or when-not-to-use guidance. It does offer a parameter tip ('Use excerpt_length for longer previews'), but does not mention when to use search_all instead of search_posts.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources