MCP Gold Price Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Gold Price Servershow me all current gold prices"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Gold Price Server
A Model Context Protocol (MCP) server that provides real-time gold prices from Vietnamese and international markets via the vang.today API.
Tools
Tool | Parameters | Description |
|
| Get all current gold prices |
|
| Get a specific gold price by code |
Available Gold Codes
Code | Name |
XAUUSD | World Gold (XAU/USD) |
SJL1L10 | SJC 9999 |
BT9999NTT | Bao Tin 9999 |
BTSJC | Bao Tin SJC |
VNGSJC | VN Gold SJC |
VIETTINMSJC | Viettin SJC |
PQHNVM | PNJ Hanoi |
PQHN24NTT | PNJ 24K |
SJ9999 | SJC Ring |
DOJINHTV | DOJI Jewelry |
DOHNL | DOJI Hanoi |
DOHCML | DOJI HCM |
Related MCP server: Metal Price MCP Server
Setup
uv sync
python main.pyClaude Desktop Config
{
"mcpServers": {
"gold": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-gold", "run", "main.py"]
}
}
}Available Tools
3 toolsget_gold_priceA
Get the current price for a specific gold type by its code. Common codes: XAUUSD (World Gold), SJL1L10 (SJC 9999), DOJINHTV (DOJI Jewelry), PQHNVM (PNJ Hanoi), BT9999NTT (Bao Tin 9999).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Gold type code (e.g., 'XAUUSD', 'SJL1L10', 'DOJINHTV', 'PQHNVM', 'BT9999NTT', 'BTSJC', 'VNGSJC', 'VIETTINMSJC', 'PQHN24NTT', 'SJ9999', 'DOHNL', 'DOHCML') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the only source of behavioral info. It uses 'Get', indicating a read-only operation, and lists examples. However, it does not discuss data freshness, error handling, or other potential caveats.
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 sentences: the first states the purpose and input, the second lists common codes. Every sentence earns its place; there is no fluff.
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 one-parameter tool, the description covers the core purpose and input. It does not explain the return format, but 'current price' conveys the essential output. Given the low complexity, this is fairly 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?
The schema covers the 'code' parameter with examples, so the baseline is 3. The description adds value by mapping codes to friendly names (e.g., XAUUSD = World Gold), which helps the agent select the right code.
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 clearly states a specific action: 'Get the current price for a specific gold type by its code.' This distinguishes it from siblings like get_gold_prices (plural) and get_gold_price_history (history).
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 usage when a specific gold type code is known, and it provides common codes to guide the agent. However, it does not explicitly mention when to use sibling tools, so it misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gold_price_historyA
Get historical gold prices for a specific gold type over a number of days. Returns daily buy/sell prices and day-over-day changes. Common codes: XAUUSD (World Gold), SJL1L10 (SJC 9999), DOJINHTV (DOJI Jewelry), PQHNVM (PNJ Hanoi), BT9999NTT (Bao Tin 9999).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Gold type code (e.g., 'XAUUSD', 'SJL1L10', 'DOJINHTV', 'PQHNVM', 'BT9999NTT', 'BTSJC', 'VNGSJC', 'VIETTINMSJC', 'PQHN24NTT', 'SJ9999', 'DOHNL', 'DOHCML') | |
| days | No | Number of days of history to retrieve (e.g., 7, 30, 90). Default: 30. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the return format (daily buy/sell prices and day-over-day changes), but does not mention rate limits, timezone, data freshness, or explicitly confirm a read-only side-effect profile. The read-only nature is implied by 'Get'.
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?
Three front-loaded sentences: action, return details, and examples. No redundant or filler content; every sentence contributes to understanding.
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 no output schema, the description adequately explains return contents (buy/sell prices, day-over-day changes) and provides common codes. It does not cover details like date handling or error scenarios, but given the low complexity (2 simple params), it is largely 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 100%, providing baseline 3. The description adds value by mapping common code examples to human-readable names (e.g., XAUUSD = World Gold, SJL1L10 = SJC 9999), enriching the code parameter semantics beyond the raw schema list.
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 clearly states the specific action (get historical gold prices), the resource (gold type), and the time scope (over a number of days). It distinguishes itself from sibling tools (get_gold_prices, get_gold_price) by emphasizing 'historical' and 'day-over-day changes'.
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 term 'historical' implies use for past data, and sibling names suggest current-price tools, but no explicit when-to-use or when-not-to-use guidance is given. No alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gold_pricesA
Get current gold prices from Vietnamese and international markets. Returns buy/sell prices and price changes. By default returns: SJC 9999, SJC Ring, PNJ Hanoi, PNJ 24K, VN Gold SJC. Optionally filter by currency (VND or USD) or specific codes.
| Name | Required | Description | Default |
|---|---|---|---|
| codes | No | List of gold type codes to show. Defaults to: SJL1L10, SJ9999, PQHNVM, PQHN24NTT, VNGSJC. Pass ['ALL'] to show all available types. | |
| currency | No | Filter by currency: 'VND' or 'USD'. Leave empty for all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the return values (buy/sell prices, changes) and default behavior, but does not mention freshness, limitations, or error handling. This is adequate for a simple read operation but not comprehensive.
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 front-loaded with purpose and uses only four concise sentences. Every sentence adds information about scope, returns, defaults, or filtering, with no redundant text.
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 two-parameter read tool without an output schema, the description covers purpose, returns, defaults, and filter options. It lacks explicit details on the response structure, but the mention of buy/sell prices and changes provides sufficient context.
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 100%, so the description adds only marginal value by summarizing the filters. The default code list is repeated, but the schema already documents it well, keeping this at baseline.
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 clearly states 'Get current gold prices' with a specific resource (Vietnamese and international markets) and output details. It distinguishes from sibling 'get_gold_price_history' by emphasizing 'current' prices, and from 'get_gold_price' by showing multi-code default behavior.
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 current prices, which distinguishes from the history sibling. However, it does not explicitly name alternatives or provide exclusion criteria, so it falls short of a 5.
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.
3 tool updates
v0.1.0- First observed
get_gold_price - First observed
get_gold_price_history - First observed
get_gold_prices
TDQS
The three tools are clearly distinct: get_gold_prices provides multiple market prices, get_gold_price targets a single code, and get_gold_price_history covers historical data. While the plural vs. singular names are close, the descriptions make the purpose of each unambiguous.
All tool names follow the get_gold_* prefix with a consistent pattern: plural for bulk, singular for single, and 'history' for historical. The naming is logical and predictable across the set.
With 3 tools, the server is well-scoped for its purpose. Each tool covers a core need (current bulk, current single, historical), and the count is within the ideal range for a focused domain.
The server covers the essential gold price queries: current prices for multiple types, individual prices, and historical data. The only minor gap is the lack of a tool to discover all available gold codes, but common codes are listed in the descriptions, so agents can work around this.
Maintenance
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
Metals API MCP — wraps Metals-API (metals-api.com)
Live and historical cryptocurrency prices via CoinGecko free API.
Live gold & silver prices for 37 countries. Tamara/Tabby installment calculators for Saudi Arabia.
Real-time crypto prices from Binance, Coinbase, Kraken, OKX, and Bybit
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides cryptocurrency market data using the CoinGecko API21MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides current and historical gold/precious metal prices (gold, silver, platinum, and palladium) via the GoldAPI.io service with support for multiple currencies.1MIT
- FlicenseBqualityDmaintenanceProvides access to Vietnamese stock market data and APIs from VNDirect, FireAnt, and SSI, including real-time stock prices, market news from CafeF, technical analysis (Doji patterns), and comprehensive stock listings.73-
- AlicenseBqualityDmaintenanceProvides access to Vietnam stock market data including real-time quotes, historical prices, company financials, trading statistics, mutual fund information, and exchange rates through the vnstock library.332MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/nhanngo-fastboy/mcp-gold-price'
If you have feedback or need assistance with the MCP directory API, please join our Discord server