Skip to main content
Glama
peaka-mcp-server

peaka-mcp-server

Official
by peakacom

peaka_get_project_metadata

Read-only

Get metadata for all catalogs, schemas, and tables in the Peaka project in a single call. Optionally filter by catalogId and/or schemaName. Use this tool to discover the data structure before writing queries.

Instructions

Get metadata for all catalogs, schemas, and tables in the Peaka project in a single call. Optionally filter by catalogId and/or schemaName. Use this tool to discover the data structure before writing queries.

format makes the result much smaller: "compact" returns { tables: [{ table, desc, columns: [{ name, type, desc, pk, values }], relations }] } with the table names as written in SQL; "ddl" returns CREATE TABLE statements with descriptions as comments. Without format the full stored metadata is returned. includeSamples (with a format) adds distinct sample values to each column.

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

NameRequiredDescriptionDefault
formatNoOptional smaller result: "compact" (JSON) or "ddl" (CREATE TABLE text). Omit for the full stored metadata.
catalogIdNoOptional catalog ID to filter metadata by a specific catalog.
projectIdYesThe Peaka project ID to run against.
schemaNameNoOptional schema name to filter metadata by a specific schema.
includeSamplesNoWith format: add distinct sample values of each column.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.15.4
    • addedInput schema / properties / format
      Added value: +{
      +  "description": "Optional smaller result: \"compact\" (JSON) or \"ddl\" (CREATE TABLE text). Omit for the full stored metadata.",
      +  "enum": [
      +    "compact",
      +    "ddl"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / includeSamples
      Added value: +{
      +  "description": "With format: add distinct sample values of each column.",
      +  "type": "boolean"
      +}
  2. First observedv0.11.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so safety is covered. The description adds real value beyond them by disclosing return shapes per format ('compact' returns tables with columns/relations; 'ddl' returns CREATE TABLE statements; omitting format returns full stored metadata) and the interaction constraint that includeSamples only works with a format.

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?

Three short paragraphs, front-loaded with the core action and followed by format details and the prerequisite. Mostly economical, though the middle paragraph opens with a broken fragment ('format makes the result much smaller:') that reads as a formatting glitch rather than prose.

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?

With no output schema, the description carries the burden well by describing exactly what compact/ddl/default return, and the projectId prerequisite is covered. It omits guidance on result size for large projects (pagination or the compact format's role in avoiding huge responses is only half-stated) and says nothing about metadata staleness or when to call peaka_refresh_project_metadata.

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?

Schema coverage is 100%, so baseline would be 3, but the description adds meaning beyond the schema: concrete output structure for each format value, the rule that samples apply 'with a format,' and the fact that catalogId/schemaName filtering is optional. Minor gap: it does not explain whether catalogId and schemaName can be combined or what happens if both are supplied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource plus scope: 'Get metadata for all catalogs, schemas, and tables in the Peaka project in a single call.' The 'single call' phrasing implicitly distinguishes it from the granular siblings (peaka_list_catalogs, peaka_list_schemas, peaka_list_tables) without naming them, so an agent can mostly infer the distinction but must reason about it.

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?

Gives a clear usage context ('Use this tool to discover the data structure before writing queries') and an explicit prerequisite chain: call peaka_list_projects and ask the user for the projectId if unknown, then reuse it. It stops short of naming an alternative tool or an explicit when-not-to-use condition, so it is strong but not exhaustive.

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