Skip to main content
Glama
peakacom

peaka-mcp-server

Official
by peakacom

peaka_create_cache

Create a table cache in a Peaka project to improve query performance. Optionally define ISO-8601 refresh schedules for full or incremental updates, or configure them later.

Instructions

Create a cache for a table in the Peaka project. Caching a table improves query performance by storing the data locally. Schedule expressions are optional at creation time and use ISO-8601 durations (e.g. PT6H, P1D, P7D, P30D); they can be set later with peaka_update_cache.

If you do not already know the projectId for the current task, call peaka_list_projects first and ask the user which project to use. Remember the chosen projectId for subsequent calls in this conversation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
catalogIdYes
projectIdYesThe Peaka project ID to run against.
tableNameYes
schemaNameYes
fullRefreshScheduleNoOptional full refresh schedule. {type: 'BASIC', expression: 'P7D'} for recurring, or {type: 'NONE'} to leave it off. Omit to leave unset.
incrementalScheduleNoOptional incremental refresh schedule. {type: 'BASIC', expression: 'PT6H'} for recurring, or {type: 'NONE'} to leave it off. Omit to leave unset.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed6 schema fields changedv0.12.2
    • addedInput schema / properties / fullRefreshSchedule / $ref
      Added value: +"#/properties/incrementalSchedule"
    • changedInput schema / properties / fullRefreshSchedule / description
      Previous value: -"Optional ISO-8601 duration for the full refresh schedule, e.g. P7D, P30D."New value: +"Optional full refresh schedule. {type: 'BASIC', expression: 'P7D'} for recurring, or {type: 'NONE'} to leave it off. Omit to leave unset."
    • removedInput schema / properties / fullRefreshSchedule / type
      Removed value: -"string"
    • addedInput schema / properties / incrementalSchedule / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expression": {
      +        "description": "ISO-8601 duration between refreshes, e.g. PT6H, P1D, P7D, P30D.",
      +        "pattern": "^P(?!$)(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+S)?)?$",
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "BASIC",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expression"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "NONE",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedInput schema / properties / incrementalSchedule / description
      Previous value: -"Optional ISO-8601 duration for the incremental refresh schedule, e.g. PT6H, P1D."New value: +"Optional incremental refresh schedule. {type: 'BASIC', expression: 'PT6H'} for recurring, or {type: 'NONE'} to leave it off. Omit to leave unset."
    • removedInput schema / properties / incrementalSchedule / type
      Removed value: -"string"
  2. First observedv0.11.0

TDQS

A3.8/5.0
Behavior3/5

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

The description adds context beyond the annotations by explaining that caching stores data locally and that schedules are optional at creation time. Annotations only mark readOnlyHint and destructiveHint as false, so the description carries the burden of describing the mutation; it does so at a basic level. It does not disclose side effects such as whether creation triggers an initial refresh, how to monitor progress, or whether duplicate caches are handled, leaving some behavioral ambiguity.

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 compact, front-loaded with the core purpose, and includes only relevant procedural guidance. The second paragraph about projectId is practical and not redundant with the schema. It loses one point because it somewhat repeats schedule details already present in the input schema, but overall it remains efficient.

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

Completeness3/5

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

The description covers the main action, the project selection workflow, and the schedule options, which is enough for a basic call. It omits guidance on discovering catalogId, schemaName, and tableName, even though sibling list tools exist, and it does not describe what the response will be or how to verify success. For a 4-required-parameter creation tool with no output schema, this leaves noticeable gaps.

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 50%, and the description adds some useful context for the schedule parameters by repeating ISO-8601 examples and noting they can be set later. However, catalogId, schemaName, and tableName are required and lack descriptions in the schema, and the description does not explain how to obtain or format these identifiers. It provides only the general 'table' framing, which is helpful but not sufficient to fully compensate for the missing schema 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 begins with a specific verb and resource: 'Create a cache for a table in the Peaka project.' It also explains the benefit of caching, which clarifies the tool's intended function. The mention that schedules can be changed later with peaka_update_cache helps distinguish creation from update, and the singular 'a table' implies the batch sibling is a different use case.

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 gives explicit workflow guidance: if projectId is unknown, call peaka_list_projects and ask the user, then remember the choice. It also notes that schedule expressions can be set later with peaka_update_cache, providing an alternative for post-creation changes. However, it does not specify when to use peaka_create_cache_batch instead, so it falls short of fully exhaustive usage guidance.

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

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

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