s&box watch
Server Details
Live read-only discovery for public s&box packages, servers, and player activity.
- Status
- Healthy
- Uptime
- 100.0% over 55 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 8 tools
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.
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.
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.
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 toolsget_activity_historyGet s&box player activity historyARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| game | No | ||
| kind | No | game | |
| range | No | 24h | |
| maxPoints | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| game | No | |
| kind | Yes | |
| range | Yes | |
| apiUrl | Yes | |
| points | Yes | |
| summary | Yes | |
| version | Yes | |
| bucketed | Yes | |
| available | Yes | |
| durationMs | Yes | |
| generation | Yes | |
| canonicalUrl | Yes | |
| partialCoverage | No |
TDQS
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.
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.
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.
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.
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.
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 snapshotARead-onlyIdempotentInspect
Read current package, player, and dedicated-server totals from s&box watch.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| packages | Yes | |
| generation | Yes | |
| playersNow | Yes | |
| generatedAt | Yes | |
| canonicalUrl | Yes | |
| serversOnline | Yes | |
| serverPlayersOnline | Yes |
TDQS
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.
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.
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.
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.
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.
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 organizationBRead-onlyIdempotentInspect
Read one organization profile with public metadata, aggregate activity, and a bounded package portfolio.
| Name | Required | Description | Default |
|---|---|---|---|
| ident | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| stats | Yes | |
| apiUrl | Yes | |
| generation | Yes | |
| portfolios | Yes | |
| generatedAt | Yes | |
| markdownUrl | Yes | |
| analyticsUrl | Yes | |
| canonicalUrl | Yes | |
| organization | Yes | |
| contentNotice | Yes | |
| analyticsApiUrl | Yes |
TDQS
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.
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.
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.
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.
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.
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 packageARead-onlyIdempotentInspect
Read compact details, recent publisher updates, and live-server links for a public game, map, or library.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | game | |
| ident | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| jams | Yes | |
| tags | Yes | |
| ident | Yes | |
| score | No | |
| title | Yes | |
| created | No | |
| creator | No | |
| sboxUrl | No | |
| summary | Yes | |
| updated | No | |
| updates | Yes | |
| upvotes | No | |
| fileSize | No | |
| playFund | No | |
| downvotes | No | |
| favorites | No | |
| generation | Yes | |
| playersNow | No | |
| supportsVr | No | |
| totalUsers | No | |
| description | Yes | |
| generatedAt | Yes | |
| liveServers | Yes | |
| markdownUrl | Yes | |
| momentum24h | No | |
| canonicalUrl | Yes | |
| totalSeconds | No | |
| updatesTotal | Yes | |
| contentNotice | Yes | |
| totalSessions | No | |
| playersPeak24h | No | |
| supportsController | No | |
| weeklyPlaytimeSeconds | No | |
| weeklyPlaytimeBaselineAt | No |
TDQS
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.
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.
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.
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.
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.
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 serverARead-onlyIdempotentInspect
Read the current state and related servers for one s&box dedicated-server ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| map | No | |
| game | No | |
| name | Yes | |
| online | Yes | |
| players | No | |
| gameTitle | No | |
| generation | Yes | |
| lastSeenAt | No | |
| maxPlayers | No | |
| firstSeenAt | No | |
| generatedAt | Yes | |
| markdownUrl | Yes | |
| canonicalUrl | Yes | |
| contentNotice | Yes | |
| playersPeak24h | No | |
| relatedServers | Yes |
TDQS
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.
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.
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.
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.
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.
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 organizationsARead-onlyIdempotentInspect
Find studios, teams, and creators publishing public s&box games, maps, or libraries.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | players | |
| limit | No | ||
| query | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| sort | Yes | |
| query | Yes | |
| total | Yes | |
| results | Yes | |
| generation | Yes | |
| generatedAt | Yes | |
| contentNotice | Yes |
TDQS
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.
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.
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.
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.
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.
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 packagesBRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| jam | No | Restrict games to an official s&box game jam. | |
| kind | No | game | |
| sort | No | ||
| limit | No | ||
| query | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| sort | Yes | |
| query | Yes | |
| total | Yes | |
| results | Yes | |
| generation | Yes | |
| generatedAt | Yes | |
| contentNotice | Yes |
TDQS
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.
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.
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.
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.
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.
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 serversARead-onlyIdempotentInspect
Find dedicated s&box servers by name, game, or map with current occupancy and source URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| map | No | ||
| game | No | ||
| sort | No | players | |
| limit | No | ||
| query | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| sort | Yes | |
| query | Yes | |
| total | Yes | |
| results | Yes | |
| generation | Yes | |
| generatedAt | Yes | |
| contentNotice | Yes |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
- Changed
get_organization2 fields changed- removed
Output schema / properties / portfolios / items / properties / packages / items / properties / workshopIdRemoved value: -{ - "pattern": "^[1-9]\\d{0,19}$", - "type": "string" -} - removed
Output schema / properties / portfolios / items / properties / packages / items / properties / workshopUrlRemoved value: -{ - "format": "uri", - "type": "string" -}
- Changed
get_package4 fields changed- removed
Output schema / properties / workshopHistoryRemoved 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" -} - removed
Output schema / properties / workshopIdRemoved value: -{ - "pattern": "^[1-9]\\d{0,19}$", - "type": "string" -} - removed
Output schema / properties / workshopStatsRemoved 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" - } - ] -} - removed
Output schema / properties / workshopUrlRemoved value: -{ - "format": "uri", - "type": "string" -}
- Changed
search_packages2 fields changed- removed
Output schema / properties / results / items / properties / workshopIdRemoved value: -{ - "pattern": "^[1-9]\\d{0,19}$", - "type": "string" -} - removed
Output schema / properties / results / items / properties / workshopUrlRemoved value: -{ - "format": "uri", - "type": "string" -}
3 tool updates
- Changed
get_organization2 fields changed- added
Output schema / properties / portfolios / items / properties / packages / items / properties / workshopIdAdded value: +{ + "pattern": "^[1-9]\\d{0,19}$", + "type": "string" +} - added
Output schema / properties / portfolios / items / properties / packages / items / properties / workshopUrlAdded value: +{ + "format": "uri", + "type": "string" +}
- Changed
get_package4 fields changed- added
Output schema / properties / workshopHistoryAdded 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" +} - added
Output schema / properties / workshopIdAdded value: +{ + "pattern": "^[1-9]\\d{0,19}$", + "type": "string" +} - added
Output schema / properties / workshopStatsAdded 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" + } + ] +} - added
Output schema / properties / workshopUrlAdded value: +{ + "format": "uri", + "type": "string" +}
- Changed
search_packages2 fields changed- added
Output schema / properties / results / items / properties / workshopIdAdded value: +{ + "pattern": "^[1-9]\\d{0,19}$", + "type": "string" +} - added
Output schema / properties / results / items / properties / workshopUrlAdded value: +{ + "format": "uri", + "type": "string" +}
3 tool updates
- Changed
get_organization1 field changed- added
Output schema / properties / portfolios / items / properties / packages / items / properties / playFundAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "observedAt": { + "type": "string" + }, + "state": { + "enum": [ + "enabled", + "disabled", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "state", + "observedAt" + ], + "type": "object" + }, + { + "type": "null" + } + ] +}
- Changed
get_package1 field changed- added
Output schema / properties / playFundAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "observedAt": { + "type": "string" + }, + "state": { + "enum": [ + "enabled", + "disabled", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "state", + "observedAt" + ], + "type": "object" + }, + { + "type": "null" + } + ] +}
- Changed
search_packages1 field changed- added
Output schema / properties / results / items / properties / playFundAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "observedAt": { + "type": "string" + }, + "state": { + "enum": [ + "enabled", + "disabled", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "state", + "observedAt" + ], + "type": "object" + }, + { + "type": "null" + } + ] +}
3 tool updates
- Changed
get_organization2 fields changed- added
Output schema / properties / portfolios / items / properties / packages / items / properties / weeklyPlaytimeBaselineAtAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / portfolios / items / properties / packages / items / properties / weeklyPlaytimeSecondsAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] +}
- Changed
get_package2 fields changed- added
Output schema / properties / weeklyPlaytimeBaselineAtAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / weeklyPlaytimeSecondsAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] +}
- Changed
search_packages3 fields changed- changed
Input schema / properties / sort / enumPrevious value: -[ - "players", - "playtime", - "change24h", - "created", - "updated", - "favorites", - "upvotes", - "score", - "servers" -]New value: +[ + "players", + "playtime7d", + "playtime", + "change24h", + "created", + "updated", + "favorites", + "upvotes", + "score", + "servers" +] - added
Output schema / properties / results / items / properties / weeklyPlaytimeBaselineAtAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / results / items / properties / weeklyPlaytimeSecondsAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] +}
2 tool updates
- Changed
get_organization1 field changed- added
Output schema / properties / portfolios / items / properties / packages / items / properties / totalSecondsAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] +}
- Changed
search_packages2 fields changed- changed
Input schema / properties / sort / enumPrevious value: -[ - "players", - "change24h", - "created", - "updated", - "favorites", - "upvotes", - "score", - "servers" -]New value: +[ + "players", + "playtime", + "change24h", + "created", + "updated", + "favorites", + "upvotes", + "score", + "servers" +] - added
Output schema / properties / results / items / properties / totalSecondsAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] +}
1 tool update
- Changed
get_activity_history4 fields changed- added
Output schema / properties / durationMs / anyOfAdded value: +[ + { + "type": "number" + }, + { + "type": "null" + } +] - removed
Output schema / properties / durationMs / typeRemoved value: -"number" - added
Output schema / properties / partialCoverageAdded value: +{ + "items": { + "type": "number" + }, + "maxItems": 200, + "type": "array" +} - added
Output schema / properties / points / items / properties / partialCoverageAdded value: +{ + "type": "boolean" +}
1 tool update
- Changed
search_organizations1 field changed- changed
Input schema / properties / sort / enumPrevious value: -[ - "players", - "games", - "packages", - "newest", - "name" -]New value: +[ + "players", + "games", + "updated", + "name" +]
2 tool updates
- Added
get_organization - Added
search_organizations
2 tool updates
- Changed
get_package2 fields changed- added
Output schema / properties / jamsAdded 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" +} - changed
Output schema / requiredPrevious 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" +]
- Changed
search_packages3 fields changed- added
Input schema / properties / jamAdded value: +{ + "description": "Restrict games to an official s&box game jam.", + "enum": [ + "three" + ], + "type": "string" +} - added
Output schema / properties / results / items / properties / jamsAdded 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" +} - changed
Output schema / properties / results / items / requiredPrevious value: -[ - "ident", - "title", - "summary", - "tags", - "canonicalUrl", - "markdownUrl" -]New value: +[ + "ident", + "title", + "summary", + "tags", + "jams", + "canonicalUrl", + "markdownUrl" +]
6 tool updates
- First observed
get_activity_history - First observed
get_ecosystem_snapshot - First observed
get_package - First observed
get_server - First observed
search_packages - First observed
search_servers
Related MCP Connectors
Read-only ArcadeOps discovery for developer docs, OAuth, OpenAPI and synthetic sandbox.
Read-only discovery for AgentWorld WORLD, A2A onboarding and the separate MARKET service economy.
Public read-only discovery of agent, model, training, task, and verification opportunities.
Read-only discovery of Framekeep capabilities, security boundaries, and public resources.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables 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 npmMIT
- FlicenseNot gradedqualityAmaintenanceEnables discovery of carrier fleets, jurisdictions, and carrier cards across multiple sovereign regions using read tools and broadcast JSON.-
- AlicenseNot gradedqualityAmaintenanceEnables 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
- AlicenseAqualityDmaintenanceA 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.510 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.