Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GHOST_URLYesThe URL of your Ghost blog (e.g., https://your-blog.ghost.io)
GHOST_ADMIN_API_KEYNoYour Ghost Admin API key (id:secret format) for full CRUD access
GHOST_CONTENT_API_KEYYesYour Ghost Content API key for read-only access

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
content_browse_postsA

Browse published posts from Ghost Content API (read-only, public content).

TIP: Use "fields" param (e.g., "id,title,slug,published_at,excerpt") to reduce response size. Omit html field unless content is needed.

USE CASE:

  • Display a list of blog posts on a website frontend

  • Search for posts by tag, author, or custom NQL filters

  • Build RSS feeds or sitemaps from published content

NOTE: Only returns published posts visible to the public. For drafts, scheduled, or all posts, use admin_browse_posts instead.

FILTER EXAMPLES:

  • tag:getting-started (posts with specific tag)

  • featured:true (featured posts only)

  • author:john (posts by specific author)

RETURNS: Array of posts with pagination metadata (page, pages, total).

content_read_postA

Read a single published post by ID or slug (read-only, public content).

USE CASE:

  • Display a single blog post page on your website

  • Fetch post content for embedding or social sharing

  • Get full post details including HTML content

IDENTIFIER: Provide either 'id' OR 'slug', not both.

NOTE: Only returns published posts visible to the public. For drafts or scheduled posts, use admin_read_post instead.

RETURNS: Single post object with requested fields and related data (tags, authors).

content_browse_pagesA

Browse published pages from Ghost Content API (read-only, public content).

TIP: Use "fields" param (e.g., "id,title,slug,published_at,excerpt") to reduce response size. Omit html field unless content is needed.

USE CASE:

  • Display static pages (About, Contact, Terms) on a website frontend

  • Build site navigation from published pages

  • List all available pages for sitemap generation

NOTE: Only returns published pages visible to the public. Pages are static content NOT shown in RSS feeds or blog listings. For drafts or all pages, use admin_browse_pages instead.

RETURNS: Array of pages with pagination metadata (page, pages, total).

content_read_pageA

Read a single published page by ID or slug (read-only, public content).

USE CASE:

  • Display a static page (About, Contact, etc.) on your website

  • Fetch page content for embedding or rendering

IDENTIFIER: Provide either 'id' OR 'slug', not both.

NOTE: Only returns published pages visible to the public. For drafts or scheduled pages, use admin_read_page instead.

RETURNS: Single page object with requested fields and related data.

content_browse_tagsA

Browse public tags from Ghost Content API (read-only).

USE CASE:

  • Display tag cloud or category list on website

  • Build tag-based navigation

  • Get post counts for each tag

INCLUDE OPTIONS:

  • count.posts: Include number of posts per tag

NOTE: Only returns public tags (not internal tags starting with #). For all tags including internal, use admin_browse_tags instead.

RETURNS: Array of tags with metadata and optional post counts.

content_read_tagA

Read a single public tag by ID or slug (read-only).

USE CASE:

  • Display tag details on a tag archive page

  • Get tag metadata for SEO purposes

IDENTIFIER: Provide either 'id' OR 'slug', not both.

NOTE: Only returns public tags visible on the website. For internal tags, use admin_read_tag instead.

RETURNS: Single tag object with metadata and optional post count.

content_browse_authorsA

Browse public authors from Ghost Content API (read-only).

USE CASE:

  • Display team/contributor page on website

  • Build author archive pages

  • Get post counts per author

INCLUDE OPTIONS:

  • count.posts: Include number of published posts per author

NOTE: Only authors with at least one published post are returned. For all staff users (including those without posts), use admin_browse_users instead.

RETURNS: Array of authors with bio, social links, and optional post counts.

content_read_authorA

Read a single public author by ID or slug (read-only).

USE CASE:

  • Display author profile page

  • Get author bio and social links for bylines

IDENTIFIER: Provide either 'id' OR 'slug', not both.

NOTE: Only returns authors with published posts. For staff users without published posts, use admin_read_user instead.

RETURNS: Single author object with bio, social links, and optional post count.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.7/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a unique combination of resource (author, page, post, tag) and operation (browse or read), with no overlapping functionality. Descriptions clearly differentiate between list and single retrieval.

Naming Consistency5/5

All tools follow a consistent `content_{browse|read}_{resource}` pattern, using snake_case and a clear verb-noun structure. The naming is predictable and uniform across the entire surface.

Tool Count5/5

8 tools is ideal for a focused read-only public content API covering four resources with list and single retrieval. Each tool serves a distinct purpose without being excessive or insufficient.

Completeness5/5

The tool set fully covers the domain of public content access: all four primary resources (authors, pages, posts, tags) have both browse and read operations. There are no obvious gaps for the intended use cases.

Maintenance

ActivityInactive
ResponsivenessUnresponsive