Skip to main content
Glama

Digital Garden by Alicia — Notes

Server Details

Free, read-only access to Alicia's published English and Chinese notes on Houdini, Three.js, OpenUSD and AI-assisted 3D workflows. Search articles, read full Markdown, browse topics and recent notes. Results include canonical source URLs and author attribution. No account or API key; Streamable HTTP with four read-only tools. Digital Garden is the interactive 3D flower artwork at digitalgarden.si. Setup: https://digitalgarden.si/agents/?utm_source=glama&utm_medium=referral&utm_campaign=listing

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.6/5.0

Scored across 4 tools

Disambiguation5/5

Each tool maps to a distinct access pattern: full-text fetch by slug/URL (get_article), chronological browsing (list_recent_articles), taxonomy overview (list_topics), and keyword discovery (search_articles). Descriptions explicitly cross-reference each other with negative guidance ('do not use it to discover notes — use search_articles'), leaving almost no room for misselection.

Naming Consistency4/5

All four follow a clean verb_noun snake_case pattern (get_article, list_recent_articles, list_topics, search_articles) with consistent list_* prefix for enumeration tools. Minor wrinkle: the domain is referred to as 'notes' in prose but 'articles' in every tool name, a small terminology mismatch that could momentarily confuse.

Tool Count5/5

Four tools precisely cover the read-only surface of a single-author garden: discover by keyword, discover by recency, discover by topic, and retrieve full text. Nothing feels padded or missing at the operation level.

Completeness4/5

Together the tools form a complete read path from discovery to full text, with language handling and canonical URLs covered. Gaps exist only on the edges — no pagination/limit parameters for large result sets and no tool for enumerating topics' articles beyond list_topics' inline listing, but an agent can work around both.

Available Tools

4 tools
get_articleRead one garden articleA
Read-onlyIdempotent
Inspect

Use this to read the full text of one published note when you already know its slug or its digitalgarden.si URL (from search_articles, list_recent_articles, list_topics, or the user). Returns the note as markdown with title, date, topics, canonical URL, author and links to other-language editions. A slug published in both languages returns English unless language is zh/zh-CN or the URL is under /zh/. Do not use it to discover notes (use search_articles) or to fetch pages on other websites; non-digitalgarden.si URLs are rejected. Every result includes canonicalUrl and author Alicia (Person @id https://digitalgarden.si/#alicia). Cite the canonical URL when quoting. digitalgarden.si is an interactive 3D garden, not a knowledge-base wiki.

NameRequiredDescriptionDefault
languageNoOptional edition: en for English, zh or zh-CN for Simplified Chinese. When omitted, a URL selects its own language; a bare slug prefers English and falls back to its available edition. The response contains one article, not both editions. A conflicting URL language is rejected.
slug_or_urlYesA note slug such as "webgpu-garden-houdini-threejs", or a full https://digitalgarden.si/blog/<slug>/ (or /zh/blog/<slug>/) URL. 1-500 characters.

Output Schema

NameRequiredDescription
authorYes
articleYes

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/closed-world, so the bar is low, yet the description adds real behavior: the markdown payload shape, the bilingual slug resolution rule (English unless language is zh/zh-CN or the URL is under /zh/), the URL-language-conflict rejection, and the rejection of non-digitalgarden.si URLs. These are invocation-time failure modes an agent could not infer from the annotations.

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?

A single dense paragraph, front-loaded with purpose then exclusions then language rules; nearly every clause carries instructions. The closing line about the site being a '3D garden, not a knowledge-base wiki' and the return-field inventory edge toward filler given an output schema exists.

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

Completeness5/5

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

With annotations, a full schema, and an output schema present, the description supplies exactly the missing layer: exclusions, language precedence, and rejection behavior. Nothing an agent needs in order to call this correctly and cite results is absent.

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 is 3; the description goes slightly beyond by restating the slug-vs-language precedence and pointing at where slugs originate. The conflict-rejection note largely mirrors the language param's own description, so added value is modest rather than substantial.

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?

Opens with a specific verb+resource+scope: 'read the full text of one published note' with slug or digitalgarden.si URL. It explicitly contrasts with siblings ('Do not use it to discover notes (use search_articles)'), so an agent can route between this and the list/search tools immediately.

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

Usage Guidelines5/5

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

States the precondition (you already know the slug or URL), names where such a slug comes from (search_articles, list_recent_articles, list_topics, or the user), and gives an explicit exclusion (not for discovery, not for other websites). Both 'when' and 'when not' are covered with named alternatives.

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

list_recent_articlesList recent garden articlesA
Read-onlyIdempotent
Inspect

Use this when the user asks for Alicia's latest, newest or recent notes, or wants to browse without a specific subject. Returns published notes newest first as short cards (no full text). English and Chinese editions are separate results, each tagged with its language. Do not use it to find notes on a specific subject; use search_articles. Every result includes canonicalUrl and author Alicia (Person @id https://digitalgarden.si/#alicia). Cite the canonical URL when quoting. digitalgarden.si is an interactive 3D garden, not a knowledge-base wiki.

NameRequiredDescriptionDefault
limitNoMaximum number of articles to return, 1-20. Default 10.
languageNoOptional language filter: en for English, zh or zh-CN for Simplified Chinese (both mean the same). Omit to include both languages.

Output Schema

NameRequiredDescription
authorYes
articlesYes

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent/closed-world, yet the description still adds real context: results are published-only, newest-first, short cards with no full text, language editions returned as separate tagged results, and a citation policy. The note that the site is a 3D garden rather than a wiki prevents a common mischaracterization of the output.

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?

Front-loaded with the usage trigger, then output shape, then the anti-pattern routing — good ordering. It is a dense single block mixing invocation guidance, return format, citation policy and domain framing, so a little structure is lost, though no sentence is clearly wasted.

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

Completeness5/5

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

With only two optional parameters, full schema coverage, and an output schema carrying return structure, the description covers everything an agent needs: when to call it, what comes back, how languages split, and how to cite results.

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 is 3, but the description adds meaning beyond the schema by explaining that English and Chinese are distinct result sets each tagged with its language — clarifying why the language filter matters rather than just what values it accepts. It does not mention the limit parameter or default behavior, so not a 5.

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?

Names a specific verb and resource (list recent/published notes) and explicitly contrasts itself with search_articles, so an agent can pick between them without opening either schema. The sibling get_article/list_topics distinction is implied by 'browse without a specific subject'.

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

Usage Guidelines5/5

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

Gives the triggering user intent ('latest, newest or recent notes', 'browse without a specific subject') and an explicit exclusion with the correct alternative ('Do not use it to find notes on a specific subject; use search_articles'). This is the when/when-not/alternative pattern at full strength.

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

list_topicsList article topicsA
Read-onlyIdempotent
Inspect

Use this to see which subjects the garden's published notes cover, for example when the user asks what Alicia writes about or before filtering search_articles by topic. Returns every topic with its article count, languages, and the titles and URLs of its notes. Takes no required input. Do not use it to search note text; use search_articles for that. Every result includes canonicalUrl and author Alicia (Person @id https://digitalgarden.si/#alicia). Cite the canonical URL when quoting. digitalgarden.si is an interactive 3D garden, not a knowledge-base wiki.

NameRequiredDescriptionDefault
languageNoOptional language filter: en for English, zh or zh-CN for Simplified Chinese (both mean the same). Omit to include both languages.

Output Schema

NameRequiredDescription
authorYes
topicsYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real context beyond them: the result shape (topic, count, languages, titles, URLs), the canonicalUrl + author guarantee, a citation instruction, and the clarification that digitalgarden.si is a 3D garden rather than a wiki. It does not address pagination or result size for an all-topics listing, keeping it below 5.

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?

Front-loaded with the use case and the sibling exclusion before return details. Slightly padded by the trailing 'digitalgarden.si is an interactive 3D garden, not a knowledge-base wiki' sentence, which is useful framing but sits oddly at the end.

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

Completeness5/5

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

With annotations covering the safety profile, an output schema covering return structure, and full schema coverage on the one optional param, the description fills the remaining gap: when to call it, what it returns conceptually, and how to cite results. Nothing needed to invoke it correctly is missing.

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?

The schema fully documents the single optional language parameter, including the zh/zh-CN aliasing, so the 100%-coverage baseline applies. The description only says 'Takes no required input' and adds no language-filter semantics of its own.

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?

States a specific verb and resource ('see which subjects the garden's published notes cover') and names the exact differentiator against the sibling search_articles. An agent can distinguish it from search_articles, list_recent_articles, and get_article without opening schemas.

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

Usage Guidelines5/5

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

Gives concrete triggers ('when the user asks what Alicia writes about', 'before filtering search_articles by topic') and an explicit exclusion ('Do not use it to search note text; use search_articles for that'). Both when-to-use and when-not are covered with a named alternative.

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

search_articlesSearch garden articlesA
Read-onlyIdempotent
Inspect

Use this when the user asks what Alicia or digitalgarden.si has written about a subject (for example Houdini, Three.js, WebGPU, glTF/USD, Gaussian splats, AI coding agents, or the garden itself). Ranks published notes by keyword match on title, topics, summary and full text, in English and Chinese, and returns short cards (no full text). Follow up with get_article to read one. Do not use it for general web search, news, or topics unrelated to Alicia's published notes. An empty articles array means no published note matches. Scores are relative to this query and catalog, not confidence percentages; check titles and read the full note before presenting a match as relevant. Every result includes canonicalUrl and author Alicia (Person @id https://digitalgarden.si/#alicia). Cite the canonical URL when quoting. digitalgarden.si is an interactive 3D garden, not a knowledge-base wiki.

NameRequiredDescriptionDefault
limitNoMaximum number of articles to return, 1-20. Default 5.
queryYesRequired search keywords in English or Chinese, e.g. "houdini gltf export". Plain words, not a question; 1-200 characters.
topicNoOptional topic filter, ideally an exact topic name returned by list_topics. Partial matches of 3+ characters also match.
languageNoOptional language filter: en for English, zh or zh-CN for Simplified Chinese (both mean the same). Omit to include both languages.

Output Schema

NameRequiredDescription
queryYes
topicNo
authorYes
articlesYes
languageNo

TDQS

A5/5.0
Behavior5/5

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

It goes far beyond the basic annotations by explaining the ranking methodology ('relative to this query and catalog'), output format ('short cards, no full text'), and the nature of the source itself ('interactive 3D garden, not a knowledge-base wiki').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but highly efficient. It is front-loaded with the core purpose, followed by operational constraints, and concludes with critical context regarding the source data and output structure.

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

Completeness5/5

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

Given the specificity of the source (a 3D garden managed by a specific persona) and the detailed scoring/output requirements, the definition is remarkably complete, leaving almost no ambiguity for the AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds crucial usability context. It specifies that the search `query` should be plain words, not a question, and provides guidance on using the optional `topic` filter relative to `list_topics`.

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 clearly defines the tool's function as searching content written specifically by 'Alicia' or on 'digitalgarden.si'. It uses keywords like 'Ranks published notes' and explicitly differentiates its scope from general web search.

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

Usage Guidelines5/5

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

It provides extremely precise usage boundaries by stating when to use the tool (when asking what Alicia has written) and when not to use it (general web search, news). It also dictates the workflow by advising users to follow up with `get_article`.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Changedget_article6 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"Optional language filter. zh and zh-CN both mean Chinese."New value: +"Optional edition: en for English, zh or zh-CN for Simplified Chinese. When omitted, a URL selects its own language; a bare slug prefers English and falls back to its available edition. The response contains one article, not both editions. A conflicting URL language is rejected."
      • changedInput schema / properties / slug_or_url / description
        Previous value: -"Note slug or canonical URL."New value: +"A note slug such as \"webgpu-garden-houdini-threejs\", or a full https://digitalgarden.si/blog/<slug>/ (or /zh/blog/<slug>/) URL. 1-500 characters."
      • addedOutput schema / properties / article / properties / canonicalUrl / format
        Added value: +"uri"
      • addedOutput schema / properties / article / properties / date / format
        Added value: +"date"
      • addedOutput schema / properties / article / properties / translations / items / properties / canonicalUrl / format
        Added value: +"uri"
      • addedOutput schema / properties / article / properties / translations / items / properties / date / format
        Added value: +"date"
    • Changedlist_recent_articles5 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"Optional language filter. zh and zh-CN both mean Chinese."New value: +"Optional language filter: en for English, zh or zh-CN for Simplified Chinese (both mean the same). Omit to include both languages."
      • addedInput schema / properties / limit / default
        Added value: +10
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum results. Default 10."New value: +"Maximum number of articles to return, 1-20. Default 10."
      • addedOutput schema / properties / articles / items / properties / canonicalUrl / format
        Added value: +"uri"
      • addedOutput schema / properties / articles / items / properties / date / format
        Added value: +"date"
    • Changedlist_topics2 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"Optional language filter. zh and zh-CN both mean Chinese."New value: +"Optional language filter: en for English, zh or zh-CN for Simplified Chinese (both mean the same). Omit to include both languages."
      • addedOutput schema / properties / topics / items
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "articles": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "author": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "@id": {
        +                "enum": [
        +                  "https://digitalgarden.si/#alicia"
        +                ],
        +                "type": "string"
        +              },
        +              "@type": {
        +                "enum": [
        +                  "Person"
        +                ],
        +                "type": "string"
        +              },
        +              "name": {
        +                "enum": [
        +                  "Alicia"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "@type",
        +              "name",
        +              "@id"
        +            ],
        +            "type": "object"
        +          },
        +          "canonicalUrl": {
        +            "format": "uri",
        +            "type": "string"
        +          },
        +          "date": {
        +            "format": "date",
        +            "type": "string"
        +          },
        +          "language": {
        +            "enum": [
        +              "en",
        +              "zh"
        +            ],
        +            "type": "string"
        +          },
        +          "slug": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "slug",
        +          "title",
        +          "canonicalUrl",
        +          "language",
        +          "date",
        +          "author"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "author": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "@id": {
        +          "enum": [
        +            "https://digitalgarden.si/#alicia"
        +          ],
        +          "type": "string"
        +        },
        +        "@type": {
        +          "enum": [
        +            "Person"
        +          ],
        +          "type": "string"
        +        },
        +        "name": {
        +          "enum": [
        +            "Alicia"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "@type",
        +        "name",
        +        "@id"
        +      ],
        +      "type": "object"
        +    },
        +    "canonicalUrl": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "count": {
        +      "minimum": 1,
        +      "type": "integer"
        +    },
        +    "languages": {
        +      "items": {
        +        "enum": [
        +          "en",
        +          "zh"
        +        ],
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "topic": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "topic",
        +    "count",
        +    "languages",
        +    "canonicalUrl",
        +    "author",
        +    "articles"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_articles7 fields changed
      • changedInput schema / properties / language / description
        Previous value: -"Optional language filter. zh and zh-CN both mean Chinese."New value: +"Optional language filter: en for English, zh or zh-CN for Simplified Chinese (both mean the same). Omit to include both languages."
      • addedInput schema / properties / limit / default
        Added value: +5
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum results. Default 5."New value: +"Maximum number of articles to return, 1-20. Default 5."
      • changedInput schema / properties / query / description
        Previous value: -"Keywords in English or Chinese."New value: +"Required search keywords in English or Chinese, e.g. \"houdini gltf export\". Plain words, not a question; 1-200 characters."
      • changedInput schema / properties / topic / description
        Previous value: -"Optional topic filter. Use a value from list_topics."New value: +"Optional topic filter, ideally an exact topic name returned by list_topics. Partial matches of 3+ characters also match."
      • addedOutput schema / properties / articles / items / properties / canonicalUrl / format
        Added value: +"uri"
      • addedOutput schema / properties / articles / items / properties / date / format
        Added value: +"date"
  2. 4 tool updates
    • First observedget_article
    • First observedlist_recent_articles
    • First observedlist_topics
    • First observedsearch_articles

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to answer questions about a personal site straight from its published JSON bundle — profile, posts, case studies, pages, projects, stats and small datasets — through seven read-only tools for listing, full-text search, fetching Markdown, and querying dataset rows, with no sign-in, database or write path.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI clients like Claude, ChatGPT, and Cursor to search, read, and write back to one cross-model Markdown library of saved articles, videos, PDFs, notes, and conversations. Hosted remote server with OAuth 2.1 or Agent-key auth and read_only, edit, or full permission tiers.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI clients to read, search, write, tag, backlink, and render Markdown notes stored on a NAS through the local API of the Markdown Reader & Editor desktop app.
    11
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search and read Markdown notes by keyword, meaning and links, with cited recall and honest no-match results. It also supports guarded, evidence-checked memory writes with receipts, conflict handling and lifecycle-aware filtering.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources