Skip to main content
Glama

Server Details

Live read-only discovery for public s&box packages, servers, and player activity.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 55 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: search vs get pairs for organizations, packages, and servers, plus separate tools for activity history and ecosystem snapshot. No two tools overlap in a way that would cause misselection.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: get_activity_history, get_ecosystem_snapshot, get_organization, get_package, get_server, search_organizations, search_packages, search_servers. The get/search distinction is applied uniformly.

Tool Count5/5

Eight tools are well-scoped for a read-only watch/analytics server covering the main entity types (organizations, packages, servers) plus aggregate snapshot and activity history. Each tool earns its place without redundancy.

Completeness4/5

The surface covers search and retrieval for all major entities (organizations, packages, servers), plus ecosystem snapshots and bounded activity history. A minor gap exists for player-centric queries or deeper per-entity historical trends, but core monitoring workflows are well supported.

Available Tools

8 tools
get_activity_historyGet s&box player activity historyA
Read-onlyIdempotent
Inspect

Read bounded player history for public games, dedicated servers, or one game. Older aggregate points marked partialCoverage total recorded games and may omit unrecorded games.

NameRequiredDescriptionDefault
gameNo
kindNogame
rangeNo24h
maxPointsNo

Output Schema

NameRequiredDescription
gameNo
kindYes
rangeYes
apiUrlYes
pointsYes
summaryYes
versionYes
bucketedYes
availableYes
durationMsYes
generationYes
canonicalUrlYes
partialCoverageNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive behavior, so the safety profile is covered. The description adds genuinely useful behavioral context that annotations cannot: that history is 'bounded' and that older aggregate points marked partialCoverage total recorded games and may omit unrecorded games, which tells the agent how to interpret incomplete results.

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?

Two tight sentences with no filler, and the core action plus scope is front-loaded ahead of the partialCoverage caveat. Efficient, though the second sentence is dense enough that it could be split for readability.

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?

An output schema exists, so return values need not be explained, and the partialCoverage caveat is helpful. However, with four parameters at 0% schema description coverage, the description leaves range options, maxPoints limits, and the game identifier syntax undocumented, which is not quite sufficient for a tool this parameterized.

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 0%, so the description carries the burden for four parameters. It loosely explains the 'kind' dimension ('public games, dedicated servers, or one game') and the bounded nature of results, but never mentions the 'range' enum values, the maxPoints bound, or the game identifier format, leaving real gaps.

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 ('Read bounded player history') and names the scope (public games, dedicated servers, or one game). This is clear, but it does not explicitly distinguish itself from siblings like get_server or get_ecosystem_snapshot, so the agent must infer the boundary.

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

Usage Guidelines3/5

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

The phrase 'for public games, dedicated servers, or one game' implies the situations this tool covers and loosely maps to the 'kind' parameter, but there is no explicit when-to-use versus alternatives and no exclusions or prerequisites.

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

get_ecosystem_snapshotGet s&box ecosystem snapshotA
Read-onlyIdempotent
Inspect

Read current package, player, and dedicated-server totals from s&box watch.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
packagesYes
generationYes
playersNowYes
generatedAtYes
canonicalUrlYes
serversOnlineYes
serverPlayersOnlineYes

TDQS

A4.1/5.0
Behavior3/5

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

The description's 'Read' aligns with the annotations readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and there is no contradiction. It does not add behavioral context beyond what the annotations already provide, such as data freshness, caching, or rate limits, but the annotation coverage already establishes the safety profile.

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 a single front-loaded sentence with no filler. Every word contributes to identifying the action, the data categories, and the source, making it appropriately sized for a zero-parameter read-only tool.

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?

For a zero-parameter read-only snapshot tool with an output schema present and comprehensive annotations, the description is complete. An agent knows exactly what data will be retrieved, and no additional setup, side effects, or prerequisites need to be disclosed.

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?

The tool has zero parameters, so parameter-specific semantics are unnecessary. The schema description coverage is effectively 100% because there is nothing to document. The description still clarifies what the snapshot contains, which is sufficient for calling the tool.

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 uses a specific verb ('Read') and identifies the exact resource: current package, player, and dedicated-server totals from s&box watch. This clearly differentiates it from sibling tools like get_package or get_server, which operate on individual entities rather than aggregate ecosystem totals.

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

Usage Guidelines3/5

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

The intended use is implied: an agent should call this when it needs current aggregate counts of packages, players, or dedicated servers. However, there is no explicit when-to-use or when-not-to-use guidance and no mention of alternatives, so the agent must infer usage from the resource scope.

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

get_organizationGet an s&box organizationB
Read-onlyIdempotent
Inspect

Read one organization profile with public metadata, aggregate activity, and a bounded package portfolio.

NameRequiredDescriptionDefault
identYes

Output Schema

NameRequiredDescription
statsYes
apiUrlYes
generationYes
portfoliosYes
generatedAtYes
markdownUrlYes
analyticsUrlYes
canonicalUrlYes
organizationYes
contentNoticeYes
analyticsApiUrlYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds the shape of the payload (metadata, aggregate activity, bounded portfolio), which is useful framing, but says nothing about error behavior for a missing/unknown ident or the "bounded" limit.

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?

A single front-loaded sentence with no filler; the verb and scope lead, and every clause earns its place by delimiting the returned content.

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 an output schema present, return values need not be explained, and the annotations cover the safety profile, so the description is close to sufficient. The remaining gap is the meaning and expected form of the required `ident` parameter.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden of explaining `ident` — and it never mentions it. An agent gets only the pattern constraint from the schema and no guidance that ident is the org slug/handle, how it relates to names returned by search_organizations, or case sensitivity.

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 ("Read") and resource ("one organization profile") plus the payload scope (public metadata, aggregate activity, bounded package portfolio). The singular "one" implicitly contrasts with the sibling search_organizations, though it never names the alternative explicitly.

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

Usage Guidelines3/5

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

Usage is implied by "one organization" versus the plural search_organizations sibling: retrieve a single known org rather than search. There is no explicit statement of when to use this versus search_organizations, no prerequisites, and no exclusions.

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

get_packageGet an s&box packageA
Read-onlyIdempotent
Inspect

Read compact details, recent publisher updates, and live-server links for a public game, map, or library.

NameRequiredDescriptionDefault
kindNogame
identYes

Output Schema

NameRequiredDescription
jamsYes
tagsYes
identYes
scoreNo
titleYes
createdNo
creatorNo
sboxUrlNo
summaryYes
updatedNo
updatesYes
upvotesNo
fileSizeNo
playFundNo
downvotesNo
favoritesNo
generationYes
playersNowNo
supportsVrNo
totalUsersNo
descriptionYes
generatedAtYes
liveServersYes
markdownUrlYes
momentum24hNo
canonicalUrlYes
totalSecondsNo
updatesTotalYes
contentNoticeYes
totalSessionsNo
playersPeak24hNo
supportsControllerNo
weeklyPlaytimeSecondsNo
weeklyPlaytimeBaselineAtNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety is covered. The description still adds value by disclosing the shape of what comes back — compact details, recent publisher updates, and live-server links — which is behavioral context beyond the annotations, though an output schema also exists.

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?

A single tightly packed sentence that front-loads the resource and enumerates the three content types with no filler. Every clause earns its place.

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 rich annotations covering safety/idempotency and an output schema covering return values, the description only needs to establish purpose and scope, which it does. The one remaining gap is the unexplained ident format, but the surrounding structured data compensates for most of it.

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 0%, so the description must carry parameter meaning. It maps the 'kind' enum by naming 'game, map, or library', but the required 'ident' parameter and its dotted pattern format are never explained in the description or schema. Partial compensation only.

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 (read) and resource (details/updates/links for a package), and names the three kinds it applies to (game, map, library). It clearly distinguishes itself from search_packages by being a fetch-one operation, though it never names the sibling to reinforce the contrast.

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

Usage Guidelines3/5

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

The phrase 'for a public game, map, or library' implies the tool retrieves an already-identified package, contrasting implicitly with search_packages. However, there is no explicit when-to-use statement, no mention of prerequisites, and no exclusion for private packages beyond the word 'public'.

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

get_serverGet an s&box serverA
Read-onlyIdempotent
Inspect

Read the current state and related servers for one s&box dedicated-server ID.

NameRequiredDescriptionDefault
idYes

Output Schema

NameRequiredDescription
idYes
mapNo
gameNo
nameYes
onlineYes
playersNo
gameTitleNo
generationYes
lastSeenAtNo
maxPlayersNo
firstSeenAtNo
generatedAtYes
markdownUrlYes
canonicalUrlYes
contentNoticeYes
playersPeak24hNo
relatedServersYes

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety traits. The description adds that the tool returns both current state and related servers, but it does not explain what 'related' means or disclose any other behavior, so it adds only modest context beyond 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.

Conciseness5/5

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

A single sentence that front-loads the verb and resource without any filler. Every phrase earns its place: 'current state', 'related servers', and 'one s&box dedicated-server ID' all carry useful meaning.

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?

The tool has low complexity: one required parameter, an output schema, and rich annotations. The description is sufficient for an agent to invoke it correctly. The only minor gap is that 'related servers' is left undefined, though this does not block correct usage.

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 0%, but the sole parameter 'id' is meaningfully clarified by the description's 's&box dedicated-server ID' phrasing. The schema already provides the pattern and required status, and with only one self-explanatory parameter, the description sufficiently compensates.

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 uses a specific verb ('read') and names the exact resource ('current state and related servers' for one s&box dedicated-server ID). It clearly signals singular lookup by ID, which differentiates it from search_servers and the other sibling tools.

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 provides clear context: use this when you have a specific server ID and need its current state plus related servers. It does not explicitly name alternatives or exclusions, but the singular-ID framing makes the intended usage obvious relative to the sibling list.

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

search_organizationsSearch s&box organizationsA
Read-onlyIdempotent
Inspect

Find studios, teams, and creators publishing public s&box games, maps, or libraries.

NameRequiredDescriptionDefault
sortNoplayers
limitNo
queryNo

Output Schema

NameRequiredDescription
sortYes
queryYes
totalYes
resultsYes
generationYes
generatedAtYes
contentNoticeYes

TDQS

A3.8/5.0
Behavior4/5

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

The annotations already cover read-only, non-destructive, and idempotent behavior. The description adds value by disclosing that results are limited to *public* organizations publishing specific content types, which is behavioral scope beyond 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.

Conciseness5/5

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

One sentence, front-loaded with the action, no filler or repetition of schema data. Efficient and immediately scannable.

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 general search purpose but omits how result matching works fro query or what the sort enums mean (`players`, `games`). With all parameters optional and an output schema likely present, the agent can still call it, but there is a gap between 'can call' and 'can call confidently with correct parameters'.

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

Parameters2/5

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

Schema coverage for parameters is minimal (only names, types, defaults, max). The description does not clarify what `query` matches (name? description?), what `sort` order values mean (e.g., 'players', 'updated'), or how the default behaves. With 3 parameters and low schema description coverage, the description should compensate, and it does not.

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 uses a specific verb ('Find') and names its target resource ('studios, teams, and creators') plus the scope ('publishing public s&box games, maps, or libraries'). An agent knows exactly what this tool returns and what sort of content it covers.

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

Usage Guidelines3/5

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

The description makes the intended search use clear, but gives no guidance on when to choose this over related tools (e.g., a direct organization lookup). It does not state exclusions or common search patterns, so it stops at adequate rather than directing usage.

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

search_packagesSearch s&box packagesB
Read-onlyIdempotent
Inspect

Find public s&box games, maps, or libraries with live rankings, seven-day and cumulative game playtime, official game-jam membership, and canonical source URLs.

NameRequiredDescriptionDefault
jamNoRestrict games to an official s&box game jam.
kindNogame
sortNo
limitNo
queryNo

Output Schema

NameRequiredDescription
kindYes
sortYes
queryYes
totalYes
resultsYes
generationYes
generatedAtYes
contentNoticeYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and non-open-world behavior, so the safety profile is fully covered. The description contributes the 'public' scope and the nature of the surfaced data (live rankings, playtime windows, jam membership, source URLs), but no ranking/playtime definitions, freshness, or ordering defaults.

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 sentence with the core predicate front-loaded and no filler. The trailing enumeration is long but each item is a concrete capability, so little is wasted.

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?

Because an output schema exists, the description needn't explain return values, yet that is nearly all it does — leaving the 5-parameter call semantics and any usage routing thin for a tool with 20% schema coverage. It is adequate but not comfortably complete.

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 only 20%, so the description must compensate, and it partially does: 'games, maps, or libraries' maps to the kind enum, 'official game-jam membership' maps to jam, and 'live rankings' / 'game playtime' hint at sort values. However it never mentions query, limit, the maximum of 25, or the 160-character query cap, and 'change24h' or 'servers' sorting is not reflected.

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 ('Find public s&box games, maps, or libraries') and enumerates the data it surfaces. It implicitly separates itself from siblings by scoping to packages rather than servers or organizations, but never names get_package or states how this search differs from the single-package fetch.

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 when-to-use guidance: nothing says when to search versus calling get_package directly, and no exclusions or prerequisites are given. Only the word 'public' hints at scope, and that must be inferred.

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

search_serversSearch live s&box serversA
Read-onlyIdempotent
Inspect

Find dedicated s&box servers by name, game, or map with current occupancy and source URLs.

NameRequiredDescriptionDefault
mapNo
gameNo
sortNoplayers
limitNo
queryNo

Output Schema

NameRequiredDescription
sortYes
queryYes
totalYes
resultsYes
generationYes
generatedAtYes
contentNoticeYes

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by labeling the data as live/current occupancy and promising source URLs, which tells the agent what kind of data to expect. No behavior contradicts 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.

Conciseness5/5

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

One 16-word sentence that front-loads the action and resource before adding search facets and result contents. No filler or redundancy.

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?

For a simple, read-only search with an output schema, defaults, enums, and safety annotations already in the structured data, the description covers the essential call intent and key response characteristics. Nothing critical to a first correct call 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?

With 0% schema description coverage, the description must carry parameter meaning; 'by name, game, or map' maps directly to query, game, and map. However, sort and limit are left to their schema names and defaults, with no explanation of sort semantics or bounds, so compensation is partial.

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 the specific verb 'Find' and the resource 'dedicated s&box servers,' then names the search facets (name, game, map) and key result data (occupancy, source URLs). This is enough to distinguish the tool from siblings such as get_server (single server) and search_packages (packages).

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

Usage Guidelines3/5

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

The description implies use for broad server discovery by filtering criteria, which separates it from get_server, but it never explicitly states when to choose one sibling over another or lists exclusions. There is no 'when not to use' or alternative-naming guidance, leaving routing to inference.

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. 3 tool updates
    • Changedget_organization2 fields changed
      • removedOutput schema / properties / portfolios / items / properties / packages / items / properties / workshopId
        Removed value: -{
        -  "pattern": "^[1-9]\\d{0,19}$",
        -  "type": "string"
        -}
      • removedOutput schema / properties / portfolios / items / properties / packages / items / properties / workshopUrl
        Removed value: -{
        -  "format": "uri",
        -  "type": "string"
        -}
    • Changedget_package4 fields changed
      • removedOutput schema / properties / workshopHistory
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "capturedAt": {
        -        "type": "string"
        -      },
        -      "favorites": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "subscribers": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "uniqueVisitors": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "capturedAt"
        -    ],
        -    "type": "object"
        -  },
        -  "maxItems": 30,
        -  "type": "array"
        -}
      • removedOutput schema / properties / workshopId
        Removed value: -{
        -  "pattern": "^[1-9]\\d{0,19}$",
        -  "type": "string"
        -}
      • removedOutput schema / properties / workshopStats
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "additionalProperties": false,
        -      "properties": {
        -        "capturedAt": {
        -          "type": "string"
        -        },
        -        "favorites": {
        -          "anyOf": [
        -            {
        -              "type": "number"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "subscribers": {
        -          "anyOf": [
        -            {
        -              "type": "number"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        },
        -        "uniqueVisitors": {
        -          "anyOf": [
        -            {
        -              "type": "number"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "capturedAt"
        -      ],
        -      "type": "object"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / workshopUrl
        Removed value: -{
        -  "format": "uri",
        -  "type": "string"
        -}
    • Changedsearch_packages2 fields changed
      • removedOutput schema / properties / results / items / properties / workshopId
        Removed value: -{
        -  "pattern": "^[1-9]\\d{0,19}$",
        -  "type": "string"
        -}
      • removedOutput schema / properties / results / items / properties / workshopUrl
        Removed value: -{
        -  "format": "uri",
        -  "type": "string"
        -}
  2. 3 tool updates
    • Changedget_organization2 fields changed
      • addedOutput schema / properties / portfolios / items / properties / packages / items / properties / workshopId
        Added value: +{
        +  "pattern": "^[1-9]\\d{0,19}$",
        +  "type": "string"
        +}
      • addedOutput schema / properties / portfolios / items / properties / packages / items / properties / workshopUrl
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
    • Changedget_package4 fields changed
      • addedOutput schema / properties / workshopHistory
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "capturedAt": {
        +        "type": "string"
        +      },
        +      "favorites": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "subscribers": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "uniqueVisitors": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      }
        +    },
        +    "required": [
        +      "capturedAt"
        +    ],
        +    "type": "object"
        +  },
        +  "maxItems": 30,
        +  "type": "array"
        +}
      • addedOutput schema / properties / workshopId
        Added value: +{
        +  "pattern": "^[1-9]\\d{0,19}$",
        +  "type": "string"
        +}
      • addedOutput schema / properties / workshopStats
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "capturedAt": {
        +          "type": "string"
        +        },
        +        "favorites": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "subscribers": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        },
        +        "uniqueVisitors": {
        +          "anyOf": [
        +            {
        +              "type": "number"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "capturedAt"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / workshopUrl
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
    • Changedsearch_packages2 fields changed
      • addedOutput schema / properties / results / items / properties / workshopId
        Added value: +{
        +  "pattern": "^[1-9]\\d{0,19}$",
        +  "type": "string"
        +}
      • addedOutput schema / properties / results / items / properties / workshopUrl
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
  3. 3 tool updates
    • Changedget_organization1 field changed
      • addedOutput schema / properties / portfolios / items / properties / packages / items / properties / playFund
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "observedAt": {
        +          "type": "string"
        +        },
        +        "state": {
        +          "enum": [
        +            "enabled",
        +            "disabled",
        +            "unknown"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "state",
        +        "observedAt"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
    • Changedget_package1 field changed
      • addedOutput schema / properties / playFund
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "observedAt": {
        +          "type": "string"
        +        },
        +        "state": {
        +          "enum": [
        +            "enabled",
        +            "disabled",
        +            "unknown"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "state",
        +        "observedAt"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
    • Changedsearch_packages1 field changed
      • addedOutput schema / properties / results / items / properties / playFund
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "observedAt": {
        +          "type": "string"
        +        },
        +        "state": {
        +          "enum": [
        +            "enabled",
        +            "disabled",
        +            "unknown"
        +          ],
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "state",
        +        "observedAt"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
  4. 3 tool updates
    • Changedget_organization2 fields changed
      • addedOutput schema / properties / portfolios / items / properties / packages / items / properties / weeklyPlaytimeBaselineAt
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / portfolios / items / properties / packages / items / properties / weeklyPlaytimeSeconds
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
    • Changedget_package2 fields changed
      • addedOutput schema / properties / weeklyPlaytimeBaselineAt
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / weeklyPlaytimeSeconds
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
    • Changedsearch_packages3 fields changed
      • changedInput schema / properties / sort / enum
        Previous value: -[
        -  "players",
        -  "playtime",
        -  "change24h",
        -  "created",
        -  "updated",
        -  "favorites",
        -  "upvotes",
        -  "score",
        -  "servers"
        -]New value: +[
        +  "players",
        +  "playtime7d",
        +  "playtime",
        +  "change24h",
        +  "created",
        +  "updated",
        +  "favorites",
        +  "upvotes",
        +  "score",
        +  "servers"
        +]
      • addedOutput schema / properties / results / items / properties / weeklyPlaytimeBaselineAt
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / results / items / properties / weeklyPlaytimeSeconds
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
  5. 2 tool updates
    • Changedget_organization1 field changed
      • addedOutput schema / properties / portfolios / items / properties / packages / items / properties / totalSeconds
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
    • Changedsearch_packages2 fields changed
      • changedInput schema / properties / sort / enum
        Previous value: -[
        -  "players",
        -  "change24h",
        -  "created",
        -  "updated",
        -  "favorites",
        -  "upvotes",
        -  "score",
        -  "servers"
        -]New value: +[
        +  "players",
        +  "playtime",
        +  "change24h",
        +  "created",
        +  "updated",
        +  "favorites",
        +  "upvotes",
        +  "score",
        +  "servers"
        +]
      • addedOutput schema / properties / results / items / properties / totalSeconds
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
  6. 1 tool update
    • Changedget_activity_history4 fields changed
      • addedOutput schema / properties / durationMs / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / durationMs / type
        Removed value: -"number"
      • addedOutput schema / properties / partialCoverage
        Added value: +{
        +  "items": {
        +    "type": "number"
        +  },
        +  "maxItems": 200,
        +  "type": "array"
        +}
      • addedOutput schema / properties / points / items / properties / partialCoverage
        Added value: +{
        +  "type": "boolean"
        +}
  7. 1 tool update
    • Changedsearch_organizations1 field changed
      • changedInput schema / properties / sort / enum
        Previous value: -[
        -  "players",
        -  "games",
        -  "packages",
        -  "newest",
        -  "name"
        -]New value: +[
        +  "players",
        +  "games",
        +  "updated",
        +  "name"
        +]
  8. 2 tool updates
    • Addedget_organization
    • Addedsearch_organizations
  9. 2 tool updates
    • Changedget_package2 fields changed
      • addedOutput schema / properties / jams
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "deadline": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "ident": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "format": "uri",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "ident",
        +      "title",
        +      "url"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "ident",
        -  "title",
        -  "summary",
        -  "tags",
        -  "canonicalUrl",
        -  "markdownUrl",
        -  "generation",
        -  "generatedAt",
        -  "contentNotice",
        -  "description",
        -  "updatesTotal",
        -  "updates",
        -  "liveServers"
        -]New value: +[
        +  "ident",
        +  "title",
        +  "summary",
        +  "tags",
        +  "jams",
        +  "canonicalUrl",
        +  "markdownUrl",
        +  "generation",
        +  "generatedAt",
        +  "contentNotice",
        +  "description",
        +  "updatesTotal",
        +  "updates",
        +  "liveServers"
        +]
    • Changedsearch_packages3 fields changed
      • addedInput schema / properties / jam
        Added value: +{
        +  "description": "Restrict games to an official s&box game jam.",
        +  "enum": [
        +    "three"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / results / items / properties / jams
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "deadline": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "ident": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "format": "uri",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "ident",
        +      "title",
        +      "url"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / results / items / required
        Previous value: -[
        -  "ident",
        -  "title",
        -  "summary",
        -  "tags",
        -  "canonicalUrl",
        -  "markdownUrl"
        -]New value: +[
        +  "ident",
        +  "title",
        +  "summary",
        +  "tags",
        +  "jams",
        +  "canonicalUrl",
        +  "markdownUrl"
        +]
  10. 6 tool updates
    • First observedget_activity_history
    • First observedget_ecosystem_snapshot
    • First observedget_package
    • First observedget_server
    • First observedsearch_packages
    • First observedsearch_servers

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables clients to discover and read authorized vessel telemetry, state snapshots, and historical data, and to inspect and invoke approved read-only core or plugin operations over Streamable HTTP. It reuses the existing Signal K bearer tokens, permissions, and staleness/ACL checks, requiring no extra account, key, listener, or container.
    559 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables read-only exploration of community content such as posts, topics, games, comments, user profiles, notifications, discounts, news, and trending items through MCP tools or a CLI.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A read-only MCP server for safely exploring Nostr, enabling agents to resolve identifiers, fetch profiles and events, query notes, and inspect relay metadata. It does not accept private keys or publish events.
    5
    10 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources