Skip to main content
Glama
openl-tablets

OpenL MCP Server

Official

Get Repository Features

openl_list_repository_features
Read-onlyIdempotent

Check repository capabilities like branching and searchability before performing operations that depend on them. Pass repository id or name to return its supported features.

Instructions

Get features supported by a design repository (branching, searchable, etc.). Use this to check if a repository supports specific features like branching before performing operations that depend on those features. Pass either the id or name from openl_list_repositories() — both are accepted (case-insensitive). Do not invent example values; call openl_list_repositories() first if not in context.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repositoryYesRepository identifier. Pass either the 'id' or the 'name' field from openl_list_repositories() — the tool accepts both (and is case-insensitive). DO NOT invent values like 'Design Repository' or 'design-repo'; the actual names are typically short tokens (e.g. 'Design'). Always call openl_list_repositories() first if you don't already have the value in context.
response_formatNoResponse format: 'json' for structured, round-trippable data (default), 'markdown' for human-readable output, 'markdown_concise' for a brief summary (1-2 paragraphs), or 'markdown_detailed' for full details with contextjson

Schema Changelog

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

  1. Changed2 schema fields changedv1.2.0
    • changedInput schema / properties / response_format / default
      Previous value: -"markdown"New value: +"json"
    • changedInput schema / properties / response_format / description
      Previous value: -"Response format: 'json' for structured data, 'markdown' for human-readable (default), 'markdown_concise' for brief summary (1-2 paragraphs), 'markdown_detailed' for full details with context"New value: +"Response format: 'json' for structured, round-trippable data (default), 'markdown' for human-readable output, 'markdown_concise' for a brief summary (1-2 paragraphs), or 'markdown_detailed' for full details with context"
  2. Changed1 schema field changedv1.1.0
    • changedInput schema / properties / repository / description
      Previous value: -"Repository name (display name, not ID). Use the 'name' field from openl_list_repositories() response (e.g., if list_repositories returns {id: 'design-repo', name: 'Design Repository'}, use 'Design Repository' here, NOT 'design-repo')."New value: +"Repository identifier. Pass either the 'id' or the 'name' field from openl_list_repositories() — the tool accepts both (and is case-insensitive). DO NOT invent values like 'Design Repository' or 'design-repo'; the actual names are typically short tokens (e.g. 'Design'). Always call openl_list_repositories() first if you don't already have the value in context."
  3. First observedv0.0.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish readOnlyHint and idempotentHint, so the safety profile is covered elsewhere. The description adds behavioral value beyond them: it discloses that the tool accepts id or name case-insensitively and, consistent with openWorldHint, warns agents not to fabricate values and to obtain them from openl_list_repositories() first. No contradiction with any annotation.

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?

Four short sentences, front-loaded with purpose and followed by usage, parameter, and workflow guidance in decreasing order of importance. Minor redundancy: sentence 3 largely repeats repository-parameter details already present in the schema, but the overall length stays appropriate and every sentence serves a distinct function.

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 read-only tool with two parameters, no output schema, and no nested objects, the description covers purpose, when to use it, parameter semantics, and the prerequisite workflow. The one gap is that it doesn't describe the shape of the returned feature list, but the tool name and examples make the return content reasonably predictable.

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% — the repository parameter already documents id/name acceptance, case-insensitivity, and the anti-invention warning in full, and response_format has a complete enum with per-value explanations. The description restates this guidance in prose rather than adding new meaning, so the baseline 3 for high-coverage schemas applies.

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 opens with a specific verb and resource: 'Get features supported by a design repository,' with concrete examples ('branching, searchable, etc.'). This clearly distinguishes it from sibling tools like openl_list_repositories (which lists repositories themselves) and openl_list_branches (which lists branches) — this tool targets repository capabilities, not the repositories or their branches.

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 an explicit triggering condition: use it to check feature support 'before performing operations that depend on those features.' It also names the prerequisite call, openl_list_repositories(), and instructs calling it first when the value is not in context. However, it does not name sibling alternatives to prefer instead, stopping short of a full when-not/else statement.

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

Install Server

Other Tools

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/openl-tablets/openl-mcp'

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