Skip to main content
Glama

Get a project

get_project
Read-onlyIdempotent

A project you can see, with its presentations (the ones you can see) in order.

Input Schema

NameRequiredDescriptionDefault
projectYesThe project's slug (its address: /project/<slug>/).

Output Schema

NameRequiredDescriptionDefault
idYes
urlNoThe address people open in a browser.
roleNoowner, edit, view or null.
slugYesThe address of the project: /project/<slug>/.
ownerNo
titleNo
accessNoopen, public or private: inherited by its presentations.
grantsNoWho was given access (the owner sees it).
is_ownerNo
descriptionNo
presentationsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / presentations / items / properties / missing_translations / items / properties / outdated
      Added value: +{
      +  "description": "There is a translation, written for an earlier text.",
      +  "type": "boolean"
      +}
  2. Changed3 schema fields changed
    • changedOutput schema / properties / presentations / items / properties / missing_translations / description
      Previous value: -"What is not translated yet into the other languages of the site (add it)."New value: +"What is not translated yet into the other languages of the site (add it): the first ones; \"missing_translations_count\" says how many there are."
    • addedOutput schema / properties / presentations / items / properties / missing_translations_count
      Added value: +{
      +  "description": "How many texts are not translated yet.",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / presentations / items / properties / version
      Added value: +{
      +  "description": "Stamp of the content as it is now: give it back as \"base_version\" to change it only if nobody else did meanwhile.",
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • addedOutput schema / properties / presentations / items / properties / cover_slide
      Added value: +{
      +  "description": "Id of the slide shown as its cover in the lists (null: an uploaded picture, or no slides).",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
  4. Changed6 schema fields changed
    • addedOutput schema / properties / access
      Added value: +{
      +  "description": "open, public or private: inherited by its presentations.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / grants
      Added value: +{
      +  "description": "Who was given access (the owner sees it).",
      +  "items": {
      +    "properties": {
      +      "role": {
      +        "type": "string"
      +      },
      +      "since": {
      +        "description": "ISO 8601 date and time.",
      +        "type": "string"
      +      },
      +      "user": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / presentations / items / properties / lang
      Added value: +{
      +  "description": "The language its texts are written in; \"tr\" holds the others.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / presentations / items / properties / languages
      Added value: +{
      +  "description": "The languages of the site.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / presentations / items / properties / missing_translations
      Added value: +{
      +  "description": "What is not translated yet into the other languages of the site (add it).",
      +  "items": {
      +    "properties": {
      +      "block_id": {
      +        "type": "integer"
      +      },
      +      "lang": {
      +        "type": "string"
      +      },
      +      "slide_id": {
      +        "type": "integer"
      +      },
      +      "slide_number": {
      +        "type": "integer"
      +      },
      +      "what": {
      +        "description": "title, slide name or block.",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / presentations / items / properties / title_tr
      Added value: +{
      +  "description": "The same text in the other languages of the site: {\"en\": \"...\"}.",
      +  "type": "object"
      +}
  5. Added

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already establish that this is a safe, read-only, idempotent operation, so the description does not need to restate that. It adds useful behavioral context by saying only visible projects/presentations are returned and that presentations are ordered, but it does not explain what happens when a project is inaccessible.

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 a single compact sentence with no wasted clauses. The parenthetical repetition of visibility is slightly awkward but still efficient.

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?

Given a simple one-parameter read tool with an output schema and comprehensive annotations, the description provides the essential scope: it returns a visible project plus its visible presentations in order. Minor gaps around access failures are acceptable because the schema and annotations cover much of the rest.

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 100%, and the single parameter is fully documented as the project slug with an address format. The description adds no parameter-specific meaning beyond that schema, so the baseline of 3 is appropriate.

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?

The description identifies the resource as a project and clarifies that it includes the project's presentations in order. It is clear enough to distinguish from presentation-focused siblings, but it does not explicitly contrast with list_projects or get_presentation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus list_projects, get_presentation, or other project-related tools. The phrase 'you can see' hints at access scoping but does not establish selection criteria.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources