RBX Invest Roblox Limiteds market data
Read-only Roblox Limiteds market data: RAP, resale prices, deals below RAP, creators, portfolios.
使うべきか
品質と安全性
検出事項(4)
- HIGH
- MEDIUMsearch_items 内
- MEDIUMget_started_guide 内
- LOWget_new_limiteds 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"market-data": {
"url": "https://rbxinvest.com/mcp"
}
}
}リモートエンドポイント
https://rbxinvest.com/mcpstreamable-httpできること
ツール一覧
ツール(14)
🟢search_items(query, sort, direction, item_type, asset_type, ...)
Search the Roblox Limited catalog by name, or screen the whole market when no query is given. Returns asset id, RAP, RAP across every copy sold, the lowest resale listing, stock left, the move in RAP over 1/7/14/30 days and lifetime in both percent and Robux, sales counts and sales value per window, the typical sale price over 30/90/180 days, and the item score. Rank by any of those with sort, and bound any of them with filters to ask a question with more than one condition in it. Prices are Robux. Paging stops at offset 500: to work with every item, download https://rbxinvest.com/catalog.json (the whole catalog in one file) instead of paging.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Part of an item name, e.g. \"valkyrie\". Omit to rank or screen the catalog."
},
"sort": {
"type": "string",
"enum": [
"rap",
"totalValue",
"price",
"creatorPrice",
"growth1d",
"growth7d",
"growth14d",
"growth30d",
"growthall",
"growthRs1d",
"growthRs7d",
"growthRs14d",
"growthRs30d",
"growthRsall",
"score",
"copies",
"copiesLeft",
"percentSold",
"percentRemaining",
"volume1d",
"volume7d",
"volume14d",
"volume30d",
"demandGrowth1d",
"demandGrowth7d",
"demandGrowth14d",
"demandGrowth30d",
"salesTotal1d",
"salesTotal7d",
"salesTotal14d",
"salesTotal30d",
"movingAvg30d",
"movingAvg90d",
"movingAvg180d"
],
"default": "rap",
"description": "Metric to rank by. Size: rap, totalValue, price (cheapest copy from any seller), creatorPrice (the creator's price for a new copy; only items still on sale from the creator have one), copies, copiesLeft, percentRemaining (stock still unsold, the reading the site shows), percentSold (its complement), score. Movement: growth1d/7d/14d/30d/all (percent) and growthRs1d/7d/14d/30d/all (the same move in Robux); only items that sold inside the window have one, and the \"all\" pair measures against the creator's original price. Trading: volume1d/7d/14d/30d (sales) and salesTotal1d/7d/14d/30d (Robux moved). Price level: movingAvg30d/90d/180d, the typical sale price over that span in Robux (the median of the daily average sale prices, which a few sales at an odd price cannot drag the way they drag RAP; free claims at 0 R$ are left out and an item that only moved by claim reads 0); only items that sold in the span have one."
},
"direction": {
"type": "string",
"enum": [
"desc",
"asc"
],
"default": "desc"
},
"item_type": {
"type": "string",
"enum": [
"all",
"regular_limited",
"ugc_limited"
],
"default": "all",
"description": "regular_limited is a classic Limited, ugc_limited a UGC one."
},
"asset_type": {
"type": "string",
"enum": [
"AvatarBackground",
"BackAccessory",
"DressSkirtAccessory",
"DynamicHead",
"EmoteAnimation",
"EyebrowAccessory",
"EyelashAccessory",
"EyeMakeup",
"Face",
"FaceAccessory",
"FaceMakeup",
"FrontAccessory",
"Gear",
"HairAccessory",
"Hat",
"JacketAccessory",
"LeftShoeAccessory",
"LipMakeup",
"NeckAccessory",
"PantsAccessory",
"ShirtAccessory",
"ShortsAccessory",
"ShoulderAccessory",
"SweaterAccessory",
"TShirtAccessory",
"WaistAccessory"
],
"description": "Only this kind of item, e.g. Hat, HairAccessory, FaceAccessory, BackAccessory, Face, Gear. Omit for every kind."
},
"availability": {
"type": "string",
"enum": [
"all",
"available"
],
"default": "all",
"description": "available = copies still in stock from the creator."
},
"filters": {
"type": "array",
"maxItems": 6,
"description": "Ranges narrowing the catalog, ANDed together. Each is in the unit its metric is shown in: Robux for rap/totalValue/price/creatorPrice/salesTotal*/growthRs*/movingAvg*, percent for growth*/percentRemaining/percentSold, a count for copies/copiesLeft/volume*. An item with no value for a bounded metric is excluded.",
"items": {
"type": "object",
"properties": {
"metric": {
"type": "string",
"enum": [
"rap",
"totalValue",
"price",
"creatorPrice",
"growth1d",
"growth7d",
"growth14d",
"growth30d",
"growthall",
"growthRs1d",
"growthRs7d",
"growthRs14d",
"growthRs30d",
"growthRsall",
"score",
"copies",
"copiesLeft",
"percentSold",
"percentRemaining",
"volume1d",
"volume7d",
"volume14d",
"volume30d",
"demandGrowth1d",
"demandGrowth7d",
"demandGrowth14d",
"demandGrowth30d",
"salesTotal1d",
"salesTotal7d",
"salesTotal14d",
"salesTotal30d",
"movingAvg30d",
"movingAvg90d",
"movingAvg180d"
]
},
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"metric"
],
"additionalProperties": false
}
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Rows to skip, for reading past the first page (at most 500). The reply reports the total that matched; for more rows than paging reaches, narrow the filters or use https://rbxinvest.com/catalog.json."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"additionalProperties": false
}🟢get_item_details(asset_id, trend_days)
Everything tracked about one Roblox Limited: a plain-language summary paragraph, RAP and how it has moved over a window, the resale book (how many copies are listed and at what prices, not just the cheapest), stock left, sales in the last 30 days, whether the creator is still selling new copies, the creator, the item score with its predicted profit per day and a breakdown of how it was calculated (every input, its weight and how many points it moved the chance and profit-size blends, then the equation), a summary of its price trend, and its full recorded sales history (sales count, first and last sale, high and low daily average, average price by year and for the 12 most recent months with sales, and for UGC when it sold out and whether release buyers could resell at a profit). Use the breakdown to explain why an item scores what it does. Needs a numeric Roblox asset id — get one from search_items first. Read creator_still_selling rather than copies_remaining to answer "can I buy one at the original price": stock left does not mean it is on sale.
入力スキーマ
{
"type": "object",
"properties": {
"asset_id": {
"type": "string",
"description": "Numeric Roblox asset id, e.g. \"1365767\"."
},
"trend_days": {
"type": "integer",
"minimum": 7,
"maximum": 90,
"default": 30
}
},
"required": [
"asset_id"
],
"additionalProperties": false
}🟢get_items(asset_ids)
Look up a known list of Roblox Limiteds in one call: name, classic or UGC, asset type, creator, RAP, lowest resale listing, stock, original price, favorites and the typical sale price over 30/90/180 days. Use it to compare items or to refresh a watchlist instead of calling get_item_details once per item; use get_item_details when one item needs its full history and score. Up to 50 asset ids per call; ids that are not tracked Limiteds come back in not_found.
入力スキーマ
{
"type": "object",
"properties": {
"asset_ids": {
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"type": "string",
"description": "Numeric Roblox asset id, e.g. \"1365767\"."
},
"description": "Numeric Roblox asset ids, at most 50."
}
},
"required": [
"asset_ids"
],
"additionalProperties": false
}🟢find_deals(type, min_discount_pct, min_rap, min_price, max_price, ...)
Roblox Limiteds whose lowest resale listing is currently below their RAP, with the discount and the absolute saving. This is the live resale market, refreshed continuously. Use it for what is underpriced right now.
入力スキーマ
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ugc_limited",
"regular_limited"
],
"default": "ugc_limited",
"description": "ugc_limited or regular_limited (classic)."
},
"min_discount_pct": {
"type": "number",
"minimum": 0,
"maximum": 99,
"default": 10,
"description": "Only items at least this far below RAP."
},
"min_rap": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Ignore items whose RAP is below this."
},
"min_price": {
"type": "integer",
"minimum": 0,
"description": "Lowest resale price to consider, in Robux."
},
"max_price": {
"type": "integer",
"minimum": 1,
"description": "Highest resale price to consider, in Robux."
},
"sort": {
"type": "string",
"enum": [
"deal",
"recent",
"savings",
"rap",
"price"
],
"default": "deal",
"description": "deal = biggest discount, savings = biggest absolute saving, recent = newest; rap and price rank by those."
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 1,
"description": "Page of the feed, for reading past the first. The reply says how many are listed in total."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"additionalProperties": false
}🟢get_new_limiteds(max_age_days, availability, resellable_only, hide_free, all_experiences_only, ...)
UGC Limiteds released recently, with demand level, stock left and the predicted profit numbers RBX Invest scores them with.
入力スキーマ
{
"type": "object",
"properties": {
"max_age_days": {
"type": "integer",
"minimum": 1,
"maximum": 90,
"default": 7
},
"availability": {
"type": "string",
"enum": [
"all",
"available"
],
"default": "all"
},
"resellable_only": {
"type": "boolean",
"default": false,
"description": "Only items whose resale window has opened."
},
"hide_free": {
"type": "boolean",
"default": false,
"description": "Drop items the creator released at 0 R$."
},
"all_experiences_only": {
"type": "boolean",
"default": false,
"description": "Only items sold in any experience — the ones a buyer can list in their own game and keep the 40% affiliate commission on."
},
"query": {
"type": "string",
"description": "Part of an item name, to search within recent releases."
},
"sort": {
"type": "string",
"enum": [
"newest",
"fewest_copies",
"best_score"
],
"default": "newest"
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 1,
"description": "Page of the results, for reading past the first."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"additionalProperties": false
}🟢get_creator(name, creator_id)
A Roblox UGC creator: how often their releases have ended up profitable, how long that typically took, and their biggest items. Creators with too few releases come back unrated rather than scored — treat that as unknown, not as bad.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Creator name. Omit if giving creator_id."
},
"creator_id": {
"type": "string",
"description": "Numeric creator id."
}
},
"additionalProperties": false
}🟢rank_creators(sort, direction, query, offset, limit)
Creators ranked across the whole Roblox Limited market — who is biggest, and whose releases most often end up profitable. get_creator answers about one creator you can already name; this finds them. Ranking by profitability shows only creators with enough settled releases to rate, and by growth only those with 3 or more items, because an average over one release is noise.
入力スキーマ
{
"type": "object",
"properties": {
"sort": {
"type": "string",
"enum": [
"totalValue",
"uniqueItems",
"growth",
"copies",
"score",
"chance"
],
"default": "totalValue",
"description": "chance = how often their releases end up profitable, score = RBX Invest's creator rating, totalValue = RAP across everything they have made, copies = copies of their items in circulation, uniqueItems = how many Limiteds they have released, growth = average lifetime appreciation against the price they first sold at (the old measure, not the windowed move the item sorts call growth)."
},
"direction": {
"type": "string",
"enum": [
"desc",
"asc"
],
"default": "desc"
},
"query": {
"type": "string",
"description": "Part of a creator name, to rank within matching creators."
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Rows to skip, for reading past the first page (at most 500)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"additionalProperties": false
}⚪rank_players(metric, offset, limit)
The biggest Roblox Limited portfolios RBX Invest tracks, by total RAP held, copies held, or average lifetime appreciation. This covers people who signed up on RBX Invest and linked a Roblox account, not every Roblox player, so a rank from it is a rank on this board rather than a global one.
入力スキーマ
{
"type": "object",
"properties": {
"metric": {
"type": "string",
"enum": [
"value",
"copies",
"growth"
],
"default": "value",
"description": "value = total RAP held, copies = number of copies held, growth = average lifetime appreciation across holdings (only players holding 3 or more copies are ranked)."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Rows to skip, for reading past the first page."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"additionalProperties": false
}🟢get_community_holdings(kind, sort, direction, query, offset, ...)
The Limiteds and creators most held across the portfolios RBX Invest tracks. A different signal from price or sales volume: RAP says what a thing trades at, this says what people chose to keep. Ranked by total copies held or by how many different people hold it — one item can be 33 copies in a single collection and another one copy each across 400 people.
入力スキーマ
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"items",
"creators"
],
"default": "items",
"description": "items = individual Limiteds, creators = whose work is held."
},
"sort": {
"type": "string",
"enum": [
"unique_owners",
"total_copies"
],
"default": "total_copies",
"description": "total_copies = most copies held, unique_owners = held by the most different people."
},
"direction": {
"type": "string",
"enum": [
"desc",
"asc"
],
"default": "desc"
},
"query": {
"type": "string",
"description": "Part of an item or creator name."
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"default": 0,
"description": "Rows to skip, for reading past the first page (at most 500)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"additionalProperties": false
}🟢find_articles(query, category, limit)
Search RBX Invest's published guides. They cover the market — how Roblox taxes resales, how RAP is calculated, valuing and flipping Limiteds, converting Robux to USD, histories of individual item series — and the site itself, in the "site" section: linking a Roblox account and what that grants, inventory syncing, privacy, what each page does. Returns titles, summaries and links — read the article itself for the detail. One search returning nothing is a vocabulary miss more often than a gap; try the words the site would use before concluding it is not there.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Topic to search for, e.g. \"devex\", \"how RAP works\". Omit for the most recent articles."
},
"category": {
"type": "string",
"enum": [
"market-reports",
"item-histories",
"guides",
"strategy",
"roblox-history",
"site"
],
"description": "Restrict to one section of /articles, the same six a visitor can browse."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5
}
},
"additionalProperties": false
}🟡get_started_guide(level, step)
RBX Invest's guide to making Robux with Roblox Limiteds, with one guide per experience level. Level 1 is for someone who knows nothing about Roblox: what Robux and Limiteds are. Level 2 is how a flip makes Robux and what it costs. Level 3 is a first flip: screening a release, break-even, the holding period, pricing an exit. Level 4 is for people who already resell: a Reseller Terminal routine, undercut alerts, lowering entry cost with the Roblox Plus discount and the 40% affiliate share, buying below RAP, Classic Limiteds. Level 5 is for daily traders: custom screens, saved views, market-wide data and this MCP server. Levels 1 and 2 lead into three beginner steps. Step 1 is getting Limiteds: buying them from creators with Robux, what makes one worth buying and what to avoid, or collecting free ones. Step 2 is selling: the Roblox Plus subscription it needs, the holding period of up to 30 days, how much of a sale the seller keeps, and pricing. Step 3 is reinvesting: keep flipping UGC Limiteds and save toward Classic Limiteds, which can be traded. Pass level or step; omit both for the overview: the five levels, the three steps and a glossary (Robux, Limited, UGC, Classic, RAP, Roblox Plus). Returns the text with section links; paths are relative to https://rbxinvest.com.
入力スキーマ
{
"type": "object",
"properties": {
"level": {
"type": "integer",
"enum": [
1,
2,
3,
4,
5
],
"description": "The reader's experience: 1 new to Limiteds, 2 knows they exist, 3 understands the market, 4 has resold for profit, 5 trades every day. Returns that level's guide."
},
"step": {
"type": "integer",
"enum": [
1,
2,
3
],
"description": "A beginner step: 1 get Limiteds, 2 sell them, 3 reinvest the profit. Ignored when level is passed."
}
},
"additionalProperties": false
}🟢get_market_stats
Totals for the Roblox Limiteds market as RBX Invest tracks it: how many Limiteds are followed, and the copies and Robux held across tracked portfolios. The holdings figures cover RBX Invest users who linked a Roblox account, not all of Roblox.
入力スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_market_cap(days)
How big the Roblox Limited market is over any date range, split between Classic and UGC Limiteds: market cap, items, copies in circulation, and the marketplace sales volume, Robux spent and mean and median resale price per copy on the latest measured day, plus a sampled daily series carrying all of them. Market cap is the RAP of each item times the copies of it that exist. Use it for how big the market is, whether it is growing, how marketplace sales compare, and how the two halves differ. Item-for-item trades are excluded.
入力スキーマ
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"enum": [
30,
90,
182,
365,
9999
],
"default": 365,
"description": "Length of the range in days; 9999 for the whole series, which reaches 2021 on two items and 2022-11-24 for the rest."
}
},
"additionalProperties": false
}🟡get_player_holdings(roblox_user_id, limit)
What a tracked player holds: their most valuable positions plus the totals the leaderboard ranks them on. Follows rank_players, which returns the Roblox user id this needs. A player who set their inventory private comes back marked private rather than empty.
入力スキーマ
{
"type": "object",
"properties": {
"roblox_user_id": {
"type": "string",
"description": "Numeric Roblox user id, e.g. \"27170037\"."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
}
},
"required": [
"roblox_user_id"
],
"additionalProperties": false
}コミュニティ
エビデンス