Skip to main content
Glama
frrazer

roblox-devproducts-mcp

by frrazer

roblox-devproducts-mcp

A local MCP server that lets AI agents (Claude Code, Codex, etc.) manage Roblox developer products and game passes through the Open Cloud API.

Runs entirely on your machine. Your API key is stored locally and never leaves your computer.

Tools

Tool

What it does

list_developer_products

List a universe's developer products (id, name, price, description)

get_developer_product

Get one product's full details by ID

create_developer_product

Create a new developer product

update_developer_product

Update a product's name, price, description, on-sale status, or icon

bulk_create_developer_products

Create many products in one call (auto rate-limited to 3/sec)

bulk_update_developer_products

Update many products in one call (auto rate-limited to 3/sec)

list_game_passes

List a universe's game passes (id, name, price, description)

get_game_pass

Get one game pass's full details by ID

create_game_pass

Create a new game pass

update_game_pass

Update a game pass's name, price, description, on-sale status, or icon

bulk_create_game_passes

Create many game passes in one call (auto rate-limited to 5/sec)

bulk_update_game_passes

Update many game passes in one call (auto rate-limited to 5/sec)

All create/update tools accept an optional imagePath — a local file path, file:// URL, or https:// URL to a .png/.jpg — uploaded as the item's icon (subject to Roblox moderation).

Related MCP server: weppy-railway

Setup

1. Get an Open Cloud API key

  1. Go to the Creator Dashboard → Open Cloud → API Keys.

  2. Create a key and add the Developer Products and/or Game Passes API systems — whichever you plan to use.

  3. Scope each (read and/or write) to the universes you want to manage.

Use the narrowest scope you need — this key only needs the monetization access you'll use, not your whole account. (Game-pass tools require the Game Passes system on the key; without it they return "Scope not authorized".)

2. Install

npm install -g roblox-devproducts-mcp

(Or clone this repo and run npm install && npm run build, then use node dist/cli.js as the command.)

3. Store your key

roblox-devproducts-mcp setup

This prompts for your key (hidden input) and saves it to your OS config directory. No secrets end up in any shared config file. Check it worked with:

roblox-devproducts-mcp status

4. Connect it to Claude Code

Either register it:

claude mcp add roblox-devproducts -- roblox-devproducts-mcp

or add a .mcp.json to your project (safe to commit — it contains no secret):

{
  "mcpServers": {
    "roblox-devproducts": {
      "command": "roblox-devproducts-mcp"
    }
  }
}

The tools appear as mcp__roblox-devproducts__* in your next session; /mcp shows status.

Managing your key

Command

Action

roblox-devproducts-mcp setup

Store or replace the key

roblox-devproducts-mcp setup --clear

Delete the stored key

roblox-devproducts-mcp status

Show whether a key is configured and where it came from

A key stored by setup takes precedence. If you haven't run setup, the ROBLOX_API_KEY environment variable is used as a fallback (handy for CI).

License

MIT

Available Tools

12 tools
bulk_create_developer_productsA

Create many developer products in one call. Use this instead of calling create_developer_product repeatedly. Items are created sequentially with automatic rate limiting (the API allows 3 writes/second). Returns a summary plus a per-item result (created 'id' or error); one failing item does not stop the rest.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesThe developer products to create.
universeIdYesThe Roblox universe (game) ID.

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries full behavioral disclosure burden. It discloses sequential creation, automatic rate limiting, and the partial failure behavior ('one failing item does not stop the rest'). It could add details about required permissions or whether the operation is atomic, but the existing disclosure is strong.

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 paragraph of three sentences, front-loading the key action and immediately providing the use-case alternative. Every sentence adds distinct value: purpose, usage guidance, and behavioral details. No wasted words.

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

Completeness4/5

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

Given the tool has 2 parameters, no output schema, and no annotations, the description covers the core functionality well. It explains input behavior (what happens to items), return structure, and partial failure semantics. It could mention what happens to the rest of the items on a failure (are they aborted or continue?) or specify the exact return type, but overall it's complete for the complexity level.

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 description coverage is 100%, so baseline is 3. The description adds value by explaining the overall behavior (sequential, rate limited) and return format (summary plus per-item result), which goes beyond what the schema provides. However, it doesn't elaborate on what specific constraints each parameter must satisfy beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: creating many developer products in one call. It specifies the action ('create'), the resource ('developer products'), and distinguishes itself from the sibling tool 'create_developer_product' by emphasizing the bulk operation.

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

Usage Guidelines5/5

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

The description explicitly says to use this instead of calling create_developer_product repeatedly, which provides clear guidance. It also mentions automatic rate limiting (3 writes/second), implying when this batch tool is appropriate for efficiency.

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

bulk_create_game_passesA

Create many game passes in one call. Use this instead of calling create_game_pass repeatedly. Items are created sequentially with automatic rate limiting (the API allows 5 writes/second). Returns a summary plus a per-item result (created 'id' or error); one failing item does not stop the rest.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesThe game passes to create.
universeIdYesThe Roblox universe (game) ID.

TDQS

A4.5/5.0
Behavior4/5

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

Discloses key behavioral traits: sequential creation with automatic rate limiting, return summary with per-item result (id or error), and partial failure handling. Since no annotations are provided, the description carries the full burden; it covers most essential behavioral aspects, though it does not explicitly state whether the operation is idempotent or immutable, but that is less critical for a create operation.

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?

Description is 2 sentences, clearly front-loaded with the purpose and key benefit. It efficiently covers usage guidance, behavior, and error handling. Could be slightly more concise by removing redundant phrasing (e.g., 'Items are created sequentially' is implicit in 'Create many game passes in one call'), but overall well-structured.

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

Completeness4/5

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

For a batch create tool with 2 parameters and no output schema, the description is complete enough: it explains the batch benefit, rate limiting, partial failure behavior, and return structure. It lacks explicit mention of output format (e.g., whether summary includes counts), but given no output schema, the description's mention of 'summary plus a per-item result' is sufficient for an agent to understand what to expect.

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 description coverage is 100%, so the schema already fully documents parameters (universeId and items with nested properties like name, isForSale, etc.). The description adds value by explaining the sequential creation and rate-limit context, which goes beyond basic schema docs, but does not provide additional parameter-level semantics (e.g., constraints on name length or special characters) beyond the schema.

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?

Description clearly states the verb ('Create many game passes') and resource ('game passes'), specifying it is a batch operation as an alternative to repeated calls of create_game_pass. This distinguishes it well from siblings like create_game_pass and bulk_update_game_passes.

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

Usage Guidelines5/5

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

Explicitly instructs to use this instead of calling create_game_pass repeatedly, implying efficiency and providing a clear when-to-use guideline. It also mentions automatic rate limiting (5 writes/second), which helps the agent decide based on throughput needs, and notes error handling (one failing item does not stop the rest).

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

bulk_update_developer_productsA

Update many developer products in one call. Use this instead of calling update_developer_product repeatedly. Each entry targets one by ID and changes only the fields you provide. Items are updated sequentially with automatic rate limiting (3 writes/second). Returns a summary plus a per-item result; one failing item does not stop the rest.

ParametersJSON Schema
NameRequiredDescriptionDefault
updatesYesThe developer product updates to apply.
universeIdYesThe Roblox universe (game) ID.

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description fully covers behavioral traits: sequential updates, rate limiting (3 writes/second), partial failure resilience, and return summary structure. No contradictions.

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?

Four sentences, front-loaded with purpose, each sentence adds distinct value (purpose, alternative, behavior, failure mode). No wasted words.

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

Completeness5/5

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

Given no output schema, the description explains return format (summary plus per-item result). It covers rate limiting, partial failure, and batching, providing complete context for an agent to use the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds context about how the 'updates' array is processed (each entry targets one by ID, changes only provided fields), which is helpful but not essential beyond schema.

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 states 'Update many developer products in one call' with a specific verb and resource, and explicitly distinguishes itself from sibling 'update_developer_product' by offering a batch alternative.

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

Usage Guidelines5/5

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

Clearly advises 'Use this instead of calling update_developer_product repeatedly.' Also mentions automatic rate limiting and sequential updates with partial failure handling, giving explicit when/why guidance.

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

bulk_update_game_passesA

Update many game passes in one call. Use this instead of calling update_game_pass repeatedly. Each entry targets one by ID and changes only the fields you provide. Items are updated sequentially with automatic rate limiting (5 writes/second). Returns a summary plus a per-item result; one failing item does not stop the rest.

ParametersJSON Schema
NameRequiredDescriptionDefault
updatesYesThe game pass updates to apply.
universeIdYesThe Roblox universe (game) ID.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description covers key behaviors: sequential updates with automatic rate limiting (5 writes/second), per-item results, and non-failing items. It does not disclose authentication requirements or potential side effects, but the provided detail is commendable for a mutation tool.

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?

Three sentences, no wasted words. Front-loaded with purpose, then usage guidance, then behavioral details. Highly efficient.

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

Completeness4/5

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

Covers bulk update behavior, rate limiting, error handling, and return structure. Does not mention prerequisites like permissions or universe ownership, but for a clearly described bulk update tool, this is adequate. No output schema exists, so the mention of summary and per-item results is helpful.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds that each entry targets one by ID and only changes provided fields, reinforcing partial update semantics. This adds modest value beyond the schema which already describes each field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it updates many game passes in one call, distinguishing it from the sibling 'update_game_pass' which handles single updates. The verb 'Update' and resource 'game passes' are explicit.

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?

Explicitly advises using this instead of repeatedly calling 'update_game_pass', providing clear when-to-use guidance. Does not mention cases where it should not be used, but the context is sufficient.

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

create_developer_productA

Create a new developer product in a universe. Only a name is required. To make it purchasable, also pass priceInRobux and isForSale: true — it cannot be put on sale without a price. Returns the created developer product including its new ID. Requires an API key scoped to write developer products.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe developer product name shown to buyers.
isForSaleNoWhether it is available for purchase. Requires a price.
universeIdYesThe Roblox universe (game) ID.
descriptionNoOptional description.
priceInRobuxNoPrice in Robux. Required before it can be sold.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses key behaviors: return value ('Returns the created developer product including its new ID'), a constraint ('it cannot be put on sale without a price'), and authorization requirements ('Requires an API key scoped to write developer products'). It does not mention idempotency or rate limits, but these are less critical for a create tool. Overall, adequate transparency.

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 three sentences, front-loaded with the purpose, and each sentence adds essential information. No redundant or filler content. It is clear, direct, and efficient.

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

Completeness2/5

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

Despite having no output schema or annotations, the description is incomplete. It incorrectly states 'Only a name is required,' while the schema shows universeId is also required. It does not mention that the 'description' parameter is optional. The return value and auth are covered, but the missing required field and the misleading statement about required fields significantly reduce completeness for a creation tool with 5 parameters.

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 description coverage is 100%, so the baseline is 3. The description adds value by explaining the relationship between priceInRobux and isForSale ('To make it purchasable, also pass priceInRobux and isForSale: true — it cannot be put on sale without a price') and clarifies that only a name is required (though this is slightly inaccurate as universeId is also required). This extra context exceeds the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create a new developer product in a universe') with a specific verb and resource. It distinguishes from sibling tools (e.g., create_game_pass, update_developer_product) by focusing on developer products and creation. The purpose is unambiguous.

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 on when to use this tool (to create a developer product) and gives actionable guidance on optional parameters ('To make it purchasable, also pass priceInRobux and isForSale: true'). However, it does not explicitly compare with alternatives like bulk_create_developer_products or mention when not to use it, missing a small but helpful exclusion.

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

create_game_passA

Create a new game pass in a universe. Only a name is required. To make it purchasable, also pass priceInRobux and isForSale: true — it cannot be put on sale without a price. Returns the created game pass including its new ID. Requires an API key scoped to write game passes.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe game pass name shown to buyers.
isForSaleNoWhether it is available for purchase. Requires a price.
universeIdYesThe Roblox universe (game) ID.
descriptionNoOptional description.
priceInRobuxNoPrice in Robux. Required before it can be sold.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of disclosure. It clearly states the outcome (creates and returns the game pass with ID), the scope requirement (write permission), and the conditional behavior for making it purchasable. It does not mention idempotency, rate limits, or potential side effects, but for a creation tool this level of transparency is sufficient.

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 three sentences, each concise and front-loaded with the essential action: first sentence states the core purpose, second sentence adds conditional logic for purchasability, third sentence covers return value and auth requirement. No extraneous text; every sentence 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?

Given no output schema, the description compensates by mentioning the return value (game pass with ID). It covers required/optional parameters, conditional logic, and auth scope. It does not detail error cases, validation rules, or default values, but overall it provides enough context for an agent to use the tool correctly for typical creation scenarios.

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

Parameters4/5

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

Schema coverage is 100%, so baseline 3 applies. The description adds significant value beyond the schema by explaining the interplay between priceInRobux and isForSale, clarifying that only name and universeId are required, and stating that the response includes the new ID. This enriches the agent's understanding of parameter dependencies beyond the schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Create') and resource ('a new game pass in a universe'), making the action unambiguous. It also distinguishes this tool from siblings like update/get/list by using 'Create' and specifying the resource, and it adds context that only a name is required, which helps differentiate from similar creation 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 explicit guidance on when to use additional parameters (priceInRobux and isForSale) to make the game pass purchasable, including a constraint ('cannot be put on sale without a price'). It also mentions the prerequisite of an API key with write scope. However, it does not contrast with sibling bulk_create_game_passes or state when not to use this tool.

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

get_developer_productA

Get the full details of a single developer product by its ID within a universe.

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYesThe developer product ID.
universeIdYesThe Roblox universe (game) ID.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must convey behavioral traits. It states 'Get the full details'—implying a read-only, safe operation—but does not specify what 'full details' includes, rate limits, authentication requirements, or error behavior. The absence of output schema leaves the response structure ambiguous.

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 sentence that efficiently communicates the tool's core purpose without extraneous words, achieving maximum conciseness.

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

Completeness4/5

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

For a simple getter with two fully-described parameters and no output schema, the description covers the essential purpose and parameters. It could be improved by hinting at the expected response fields (e.g., 'including name, price, etc.'), but is largely complete for the tool's complexity.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds no meaning beyond the parameter names and types; it merely restates them ('by its ID within a universe'). No format, constraints, or usage hints are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'a single developer product', and the scope 'by its ID within a universe'. It effectively distinguishes from list_developer_products (which returns multiple) and game pass tools (different resource type).

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 usage context is implied—use when you have a specific product ID and universe ID to retrieve details. However, there is no explicit guidance on when not to use it (e.g., for a list of products or when creating/updating) nor any mention of alternatives such as list_developer_products or update_developer_product. Sibling tools are listed but not referenced.

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

get_game_passA

Get the full details of a single game pass by its ID within a universe.

ParametersJSON Schema
NameRequiredDescriptionDefault
gamePassIdYesThe game pass ID.
universeIdYesThe Roblox universe (game) ID.

TDQS

A4/5.0
Behavior4/5

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

The description indicates a read-only operation via the word 'Get', which implies no side effects. Without any annotations, this sufficiently signals non-destructive behavior. However, it does not detail authentication needs, rate limits, or response structure, though for a simple retrieval this is adequate.

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 of 16 words, front-loaded with the verb and resource, and no extraneous information. Every word 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?

Given the tool's simplicity (2 required string params, no output schema, no nested objects), the description is complete enough to understand its purpose and usage. It does not describe the return value, but for a straightforward get operation, this is acceptable.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter described in the schema. The description adds no additional meaning beyond the schema (e.g., 'by its ID within a universe' mirrors the params). Baseline 3 is appropriate as the schema already carries the full burden.

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 ('Get'), a clear resource ('game pass'), and a scope ('by its ID within a universe'). It distinctly identifies the action and resource, differentiating from sibling tools like 'list_game_passes' (which lists all) or 'create_game_pass' (which creates).

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 usage when retrieving details of a single known game pass, but provides no explicit guidance on when to use this tool versus alternatives such as 'list_game_passes', nor any exclusions or prerequisites. Usage is implied but not directly stated.

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

list_developer_productsA

List the developer products for a Roblox universe (game). Returns each item's ID, name, price, description, and on-sale status. Use this to see a game's developer products or to find an ID before updating one.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageTokenNoToken from a previous response to fetch the next page.
universeIdYesThe Roblox universe (game) ID.
maxPageSizeNoMaximum number of results to return per page.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It correctly states that the tool returns a list of developer products with specific fields, implying a read-only operation. However, it does not mention pagination behavior, authentication requirements, or resource ownership, which are gaps for a listing tool. A 3 is appropriate as it adds useful context despite these omissions.

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 sentence with a secondary use-case statement, totaling ~25 words. Every phrase adds value: the verb, resource, scope, returned fields, and usage hint. No redundant or filler 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?

Given the tool has no output schema, the description adequately fills the gap by naming the returned fields (ID, name, price, description, on-sale status). The pagination parameters ('pageToken', 'maxPageSize') are self-explanatory from the schema, and the tool's complexity is low. The description is complete enough for this straightforward list operation.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3 even with no extra param info in the description. The description does not add any parameter-specific meaning beyond what the schema already provides (e.g., it doesn't explain the 'pageToken' parameter in context). The description stays at the output/resource level, not the input semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', the resource 'developer products', and the scope 'for a Roblox universe (game)'. It also specifies the fields returned (ID, name, price, description, on-sale status), and includes a second use case ('find an ID before updating one'), which differentiates it from sibling tools like 'get_developer_product' or 'update_developer_product'.

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 says 'Use this to see a game's developer products or to find an ID before updating one', which gives clear context for when to invoke this tool. However, it does not explicitly state when not to use it or provide alternatives like 'get_developer_product' for a single product retrieval, though the sibling context makes this implicit.

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

list_game_passesA

List the game passes for a Roblox universe (game). Returns each item's ID, name, price, description, and on-sale status. Use this to see a game's game passes or to find an ID before updating one.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageTokenNoToken from a previous response to fetch the next page.
universeIdYesThe Roblox universe (game) ID.
maxPageSizeNoMaximum number of results to return per page.

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full disclosure burden. It correctly signals that the tool is read-only (list operation) and states the output fields. However, it does not mention pagination behavior, rate limits, authentication requirements, or whether the response is ordered. For a simple listing tool, this is adequate but not enriched beyond the obvious.

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 two sentences: first clearly states the purpose and output, second explains when to use it. Every word adds value with no redundancy or filler. The first sentence front-loads the core action and result, making it easy for an agent to quickly parse.

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

Completeness4/5

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

Given the tool has 3 parameters (all with schema descriptions), no output schema, and moderate complexity (pagination), the description covers the purpose, output fields, and a key use case. It lacks details on pagination mechanics or result ordering, but for a straightforward listing tool, it is reasonably 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?

Since schema_description_coverage is 100%, the baseline is 3. The description adds no additional context for the parameters beyond what the schema already provides (universeId as the game identifier, pageToken and maxPageSize for pagination). It does not explain how pagination works or the format expected for universeId.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', the resource 'game passes', and the context 'for a Roblox universe (game)'. It also enumerates the returned fields (ID, name, price, description, on-sale status), which differentiates it from sibling tools like get_game_pass (single item) or update_game_pass (mutation).

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 explicitly states when to use this tool: 'to see a game's game passes or to find an ID before updating one'. It does not provide negative guidance (when not to use) or explicitly compare with siblings like list_developer_products, but the context is sufficient for an agent to make a correct selection.

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

update_developer_productA

Update an existing developer product's name, description, price, or on-sale status. Only the fields you provide change. Putting it on sale (isForSale: true) requires a price. Returns the updated developer product. Requires an API key scoped to write developer products.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name.
isForSaleNoPut on sale (true) or off sale (false). Selling requires a price.
productIdYesThe developer product ID to update.
universeIdYesThe Roblox universe (game) ID.
descriptionNoNew description.
priceInRobuxNoNew price in Robux.

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively communicates key behaviors: partial update ('Only the fields you provide change'), a validation rule ('Putting it on sale requires a price'), the return type ('Returns the updated developer product'), and authentication requirements ('Requires an API key scoped to write developer products'). This adds significant context beyond the input schema.

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 extremely concise at five sentences. Each sentence adds necessary information: purpose, partial update behavior, a validation rule, return value, and auth requirements. It is front-loaded and contains no filler.

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

Completeness4/5

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

Given the tool has 6 parameters, no output schema, and no annotations, the description covers the essential aspects: what fields can be updated, the partial update nature, a critical validation rule, the return type, and auth scoping. It does not cover error scenarios or idempotency, but for a standard update operation this is adequate.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents every parameter. The description adds some value by clarifying the dependency between isForSale and priceInRobux, but otherwise repeats field names already listed in the schema. It does not provide deeper semantics (e.g., constraints, allowed patterns) beyond what schema descriptions already state.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates an existing developer product and lists the specific fields that can be changed (name, description, price, or on-sale status). It uses a specific verb ('Update') and resource ('developer product'), effectively distinguishing itself from sibling tools like list, get, or create.

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 usage when you need to modify a single developer product, but it does not explicitly state when to use this tool versus alternatives like bulk_update_developer_product or create_developer_product. No when-not-to-use guidance is provided.

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

update_game_passA

Update an existing game pass's name, description, price, or on-sale status. Only the fields you provide change. Putting it on sale (isForSale: true) requires a price. Returns the updated game pass. Requires an API key scoped to write game passes.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name.
isForSaleNoPut on sale (true) or off sale (false). Selling requires a price.
gamePassIdYesThe game pass ID to update.
universeIdYesThe Roblox universe (game) ID.
descriptionNoNew description.
priceInRobuxNoNew price in Robux.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It reveals key traits: partial update semantics ('only the fields you provide change'), return value ('Returns the updated game pass'), and a security requirement ('Requires an API key scoped to write game passes'). It does not discuss rate limits, idempotency, or failure modes, but these are not critical for a standard mutation tool.

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 exactly three sentences with zero wasted words. Each sentence serves a distinct purpose: listing updatable fields, explaining update behavior, and stating return value and auth requirements. This is an excellent example of conciseness.

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

Completeness4/5

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

For a tool with 6 parameters, no output schema, and no annotations, the description covers the essential usage (partial update, auth, return value) and a key cross-parameter constraint. It could mention that 'universeId' and 'gamePassId' are required (though already in schema), but this is minor. The presence of sibling tools for bulk operations is not referenced, but the description still feels complete enough for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by noting that only provided fields change and by linking the 'isForSale' and 'priceInRobux' parameters with a specific constraint. It does not explain each parameter individually since the schema already does that adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Update') and the resource ('an existing game pass'), and names the specific fields that can be modified (name, description, price, on-sale status). This distinguishes it from sibling tools like 'create_game_pass' or 'get_game_pass'.

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 context for when to use the tool (updating an existing game pass) and includes a conditional guideline ('Putting it on sale... requires a price'). However, it does not explicitly mention alternatives like 'bulk_update_game_passes' for updating multiple passes, leaving the agent to infer when to use this single-update version.

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. Dates show when Glama detected each change.

  1. 12 tool updatesv0.3.0
    • First observedbulk_create_developer_products
    • First observedbulk_create_game_passes
    • First observedbulk_update_developer_products
    • First observedbulk_update_game_passes
    • First observedcreate_developer_product
    • First observedcreate_game_pass
    • First observedget_developer_product
    • First observedget_game_pass
    • First observedlist_developer_products
    • First observedlist_game_passes
    • First observedupdate_developer_product
    • First observedupdate_game_pass

TDQS

A4.3/5.0
Disambiguation5/5

The tools cleanly separate into two distinct domains: developer products and game passes. Within each domain, the operations follow a clear pattern (get, list, create, update, bulk_create, bulk_update) with no overlap or ambiguity.

Naming Consistency5/5

All tool names consistently use the verb_noun pattern (e.g., get_developer_product, create_game_pass). Bulk operations follow bulk_verb_noun convention. No mixing of styles (camelCase, inconsistent verbs) is present.

Tool Count5/5

With 12 tools covering two distinct product types (developer products and game passes), the count is well-scoped. Each tool serves a clear purpose, including both singular and bulk operations, without being excessive or too sparse.

Completeness5/5

For both developer products and game passes, the tool set provides full CRUD coverage (create, read via get/list, update) plus bulk operations. There are no obvious gaps—every necessary operation to manage these Roblox in-game items is present.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/frrazer/roblox-devproducts-mcp'

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