Skip to main content
Glama
mastermils

query-ptax-bcb

by mastermils

query-ptax-bcb

MCP (Model Context Protocol) server that exposes the official PTAX dollar exchange rate by directly querying the open data API of the Central Bank of Brazil (BCB): https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata/

Tools

  • get_ptax_by_date(date) — official PTAX closing rate for a specific date (YYYY-MM-DD).

  • get_ptax_by_period(startDate, endDate) — series of closing rates between two dates.

  • get_ptax_latest(lookbackDays?) — most recent available closing rate (searches the last lookbackDays days, default 7).

All returned rates are the closing (official PTAX) bulletin, with buy, sell, and quote time (Brasília time).

Related MCP server: Frankfurter MCP

Build

npm install
npm run build

Testing with the MCP Inspector

npm run inspector

Configure in Claude Desktop / Claude Code

Add to the MCP configuration file (claude_desktop_config.json or equivalent):

{
  "mcpServers": {
    "query-ptax-bcb": {
      "command": "node",
      "args": ["D:/GitHub/master-mils/query-ptax-bcb/dist/index.js"]
    }
  }
}

Available Tools

3 tools
get_ptax_by_dateA

Get the official closing USD/BRL PTAX exchange rate (Banco Central do Brasil) for a specific date.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It adds useful context like 'official closing' and 'Banco Central do Brasil', but it does not disclose edge-case behavior for non-business days, availability, or output format. This makes the description adequate but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It names the provider, the rate, the asset pair, and the scope without repeating schema information.

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 one-parameter read tool, the description provides enough information for source, scope, and purpose. It would benefit from stating behavior on non-business days and the expected return value, especially since no output schema is provided.

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?

The schema already fully documents the single parameter with name and pattern. The description adds little beyond restating that the date is specific, so the schema remains the primary source of parameter 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 states a specific action ('Get'), a clear resource ('official closing USD/BRL PTAX exchange rate'), and a specific scope ('for a specific date'). This clearly distinguishes it from the sibling tools by_period and latest.

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

Usage Guidelines3/5

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

The phrase 'for a specific date' implies this is the tool to use for a single-day lookup, and the sibling names indicate period/latest alternatives. However, the description does not explicitly say when to prefer this over the other tools or when to exclude them.

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

get_ptax_by_periodA

Get the official closing USD/BRL PTAX exchange rate series (Banco Central do Brasil) for each business day in a date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYesEnd date in YYYY-MM-DD format
startDateYesStart date in YYYY-MM-DD format

TDQS

A3.8/5.0
Behavior3/5

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

The description adds meaningful behavioral context by specifying that the series covers business days only and represents the official closing rate from Banco Central do Brasil. With no annotations to cover the safety profile, some gaps remain: it does not mention response shape, date-boundary behavior, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single front-loaded sentence that communicates the resource, source, scope, and period. Every part adds information and there is 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?

For a simple two-parameter date-range fetch with no output schema, the description is nearly complete. It does not spell out the return format, but the concept of an exchange-rate series is self-evident enough that an agent can invoke 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?

The input schema already documents both parameters with names, formats, and regex patterns, giving 100% schema description coverage. The description does not add parameter-level meaning, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('official closing USD/BRL PTAX exchange rate series'), and pins down its scope with 'for each business day in a date range.' This distinguishes it from the single-date and latest-rate siblings, though it does not name them explicitly.

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 phrase 'for each business day in a date range' gives clear context: use this tool when you need a multi-day series. However, it does not explicitly say when not to use it or point to alternatives like get_ptax_by_date or get_ptax_latest.

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

get_ptax_latestA

Get the most recent official closing USD/BRL PTAX exchange rate (Banco Central do Brasil).

ParametersJSON Schema
NameRequiredDescriptionDefault
lookbackDaysNoHow many days back to search for the latest published quote (default 7)

TDQS

A3.6/5.0
Behavior3/5

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

There are no annotations, so the description carries the full behavioral transparency burden. It correctly communicates that this is an official, closing, read-only rate lookup. Yet it does not mention edge cases such as no published rate within the lookback window, weekend/holiday behavior, or the expected output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the action, the target resource, the official nature of the rate, the currency pair, and the authoritative source. There is no redundant or extraneous wording.

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 optional-one-parameter tool with high schema coverage, the description gives enough clarity about what the tool returns and its source. The main gap is the absence of return format details and edge-case behavior, which would matter more for a more complex tool.

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?

The input schema covers 100% of the single parameter with a clear description, including default, maximum, and exclusive minimum. The tool description itself does not need to add parameter details because the schema already does the necessary work, supporting the baseline score of 3.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Get the most recent official closing USD/BRL PTAX exchange rate' and identifies the source (Banco Central do Brasil). The word 'latest' clearly implies the tool's scope compared to date/period siblings. It stops short of explicitly naming the sibling tools, so it does not fully distinguish itself in the description itself.

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 when to use this tool: when the most recent PTAX rate is needed. However, it does not explicitly state when not to use it or mention alternatives like get_ptax_by_date or get_ptax_by_period. The agent must infer the selection logic from the tool name and context.

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. 3 tool updatesv1.0.0
    • First observedget_ptax_by_date
    • First observedget_ptax_by_period
    • First observedget_ptax_latest

TDQS

A4.1/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: individual date lookup, date-range series lookup, and latest available rate. There is no meaningful overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow the same get_ptax_by_* and get_ptax_latest pattern, with consistent snake_case and a clear verb-noun structure. The naming is predictable and readable.

Tool Count5/5

Three tools is well-scoped for a focused PTAX exchange-rate server. Each tool covers a distinct query mode without unnecessary bloat or missing core access.

Completeness5/5

For a read-only USD/BRL PTAX exchange-rate server, the surface is complete: specific date, date range, and latest rate are all covered. There are no obvious dead ends or missing operations within the stated domain.

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

  • A
    license
    A
    quality
    D
    maintenance
    Enables access to Bank of Mexico (Banxico) economic data including real-time and historical USD/MXN exchange rates, inflation data, interest rates, and other financial indicators. Supports querying current rates, historical data with date ranges, and economic metadata through natural language.
    9
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides access to currency exchange rates and conversion tools using the Frankfurter API, including latest rates, historical data, and time series from sources like the European Central Bank.
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time and historical foreign exchange rates for 31+ currencies, enabling currency conversion, historical rate lookups, and time series analysis using data from the Frankfurter API.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides tools to query Brazilian Central Bank public data, including SGS time series and PTAX exchange rates.
    -

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/mastermils/query-ptax-bcb'

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