Skip to main content
Glama
kzmshx

Frontmatter MCP

by kzmshx

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FRONTMATTER_BASE_DIRYesBase directory for files
FRONTMATTER_CACHE_DIRNoCache directory for embeddingsFRONTMATTER_BASE_DIR/.frontmatter-mcp
FRONTMATTER_EMBEDDING_MODELNoEmbedding model namecl-nagoya/ruri-v3-30m
FRONTMATTER_ENABLE_SEMANTICNoEnable semantic searchfalse

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
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{
  "tasks": {
    "list": {},
    "cancel": {},
    "requests": {
      "tools": {
        "call": {}
      },
      "prompts": {
        "get": {}
      },
      "resources": {
        "read": {}
      }
    }
  }
}

Tools

Functions exposed to the LLM to take actions

NameDescription
query_inspectA

Get frontmatter schema from files matching glob pattern.

Args: glob: Glob pattern relative to base directory (e.g. "atoms/**/*.md").

Returns: Dict with file_count, schema (type, nullable, examples).

queryA

Query frontmatter with DuckDB SQL.

Args: glob: Glob pattern relative to base directory (e.g. "atoms/**/*.md"). sql: SQL query string. Reference 'files' table. Columns are frontmatter properties plus 'path'.

Semantic search (when enabled and indexing is complete): - embedding: document embedding vector (NULL if not indexed) - embed('text'): converts text to embedding vector - array_cosine_similarity(a, b): similarity score (0-1)

Example - find similar documents:
    SELECT path,
           array_cosine_similarity(embedding, embed('search term')) as score
    FROM files WHERE embedding IS NOT NULL
    ORDER BY score DESC LIMIT 10

Returns: Dict with results array, row_count, and columns.

updateA

Update frontmatter properties in a single file.

Args: path: File path relative to base directory. set: Properties to add or overwrite. Values are applied as-is (null becomes YAML null, empty string becomes empty value). unset: Property names to remove completely.

Returns: Dict with path and updated frontmatter.

Notes: - If same key appears in both set and unset, unset takes priority. - If file has no frontmatter, it will be created.

batch_updateA

Update frontmatter properties in multiple files matching glob pattern.

Args: glob: Glob pattern relative to base directory (e.g. "atoms/**/*.md"). set: Properties to add or overwrite in all matched files. unset: Property names to remove from all matched files.

Returns: Dict with updated_count, updated_files, and warnings.

Notes: - If same key appears in both set and unset, unset takes priority. - If a file has no frontmatter, it will be created. - Errors in individual files are recorded in warnings, not raised.

batch_array_addA

Add a value to an array property in multiple files.

Args: glob: Glob pattern relative to base directory (e.g. "atoms/**/*.md"). property: Name of the array property. value: Value to add. If value is an array, it's added as a single element. allow_duplicates: If False (default), skip files where value already exists.

Returns: Dict with updated_count, updated_files, and warnings.

Notes: - If property doesn't exist, it will be created with [value]. - If property is not an array, file is skipped with a warning. - Files are only included in updated_files if actually modified.

batch_array_removeA

Remove a value from an array property in multiple files.

Args: glob: Glob pattern relative to base directory (e.g. "atoms/**/*.md"). property: Name of the array property. value: Value to remove.

Returns: Dict with updated_count, updated_files, and warnings.

Notes: - If property doesn't exist, file is skipped. - If value doesn't exist in array, file is skipped. - If property is not an array, file is skipped with a warning. - Files are only included in updated_files if actually modified.

batch_array_replaceA

Replace a value in an array property in multiple files.

Args: glob: Glob pattern relative to base directory (e.g. "atoms/**/*.md"). property: Name of the array property. old_value: Value to replace. new_value: New value.

Returns: Dict with updated_count, updated_files, and warnings.

Notes: - If property doesn't exist, file is skipped. - If old_value doesn't exist in array, file is skipped. - If property is not an array, file is skipped with a warning. - Files are only included in updated_files if actually modified.

batch_array_sortA

Sort an array property in multiple files.

Args: glob: Glob pattern relative to base directory (e.g. "atoms/**/*.md"). property: Name of the array property. reverse: If True, sort in descending order. Default is ascending.

Returns: Dict with updated_count, updated_files, and warnings.

Notes: - If property doesn't exist, file is skipped. - If array is empty, file is skipped. - If array is already sorted, file is skipped. - If property is not an array, file is skipped with a warning. - Files are only included in updated_files if actually modified.

batch_array_uniqueA

Remove duplicate values from an array property in multiple files.

Args: glob: Glob pattern relative to base directory (e.g. "atoms/**/*.md"). property: Name of the array property.

Returns: Dict with updated_count, updated_files, and warnings.

Notes: - Preserves the order of first occurrence. - If property doesn't exist, file is skipped. - If array is empty or has single element, file is skipped. - If array has no duplicates, file is skipped. - If property is not an array, file is skipped with a warning. - Files are only included in updated_files if actually modified.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/kzmshx/frontmatter-mcp'

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