GnistAI GnistAI
Log in

BIS (Bank for International Settlements)

BIS financial statistics — credit/debt, derivatives, banking, property prices, exchange rates, and central bank policy rates.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 6 tools tools 6 6 type: api wrapper type type api wrapper api wrapper lifecycle: maintained lifecycle lifecycle maintained maintained Finance

Data source: BIS SDMX REST API

MCP Endpoint (Streamable HTTP) https://context.gnist.ai/mcp/bis/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (6)

search_datasets

Search the BIS dataset catalog by keyword.

Returns matching datasets with their dataflow IDs needed for
get_data, get_dataset_structure, and compare_countries calls.
BIS covers credit/debt, derivatives, banking, property prices,
exchange rates, and other financial statistics from central banks worldwide.

Args:
query: Search term (e.g. "credit", "exchange rates", "property prices").
limit: Number of results to return (1-50, default 20).

Returns:
List of matching datasets with id, name, agency, and description.
Use the 'id' field as the dataflow parameter in other tools.

ParameterTypeRequiredDescription
querystringrequiredSearch term for BIS datasets (e.g. "credit", "exchange rates", "property prices", "banking", "derivatives").
limitintegeroptionalNumber of results to return (1-50, default 20). (default: 20)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_datasets",
    "arguments": {
      "query": "example"
    }
  }
}
list_datasets

List available BIS datasets, optionally filtered by topic.

Browse the full BIS data catalog. Use this to discover what
datasets exist before querying specific data.

Args:
topic: Optional topic filter keyword. Omit to list all datasets.
limit: Maximum datasets to return (1-100, default 50).

Returns:
List of datasets with id, name, and description.

ParameterTypeRequiredDescription
topicanyoptionalOptional topic filter (e.g. "banking", "credit", "exchange", "derivatives"). Omit to list all.
limitintegeroptionalMaximum datasets to return (1-100, default 50). (default: 50)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "list_datasets",
    "arguments": {}
  }
}
get_dataset_structure

Get the dimension structure of a BIS dataset.

Shows what dimensions (filters) are available for a dataset and their
valid values. Use this before get_data to understand what country codes,
frequencies, and other parameters are accepted.

Args:
dataflow: BIS dataflow identifier from search_datasets.

Returns:
List of dimensions with their valid codes/values. Each dimension
shows its position in the SDMX key and sample values.

ParameterTypeRequiredDescription
dataflowstringrequiredBIS dataflow identifier from search_datasets (e.g. "WS_CBPOL", "WS_SPP", "WS_CREDIT_GAP").
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_dataset_structure",
    "arguments": {
      "dataflow": "example"
    }
  }
}
get_data

Fetch data from a BIS dataset.

Query any BIS dataset by country and time period. Covers central bank
policy rates, credit statistics, property prices, exchange rates,
derivatives, and banking statistics worldwide.

Args:
dataflow: BIS dataflow identifier. Use search_datasets to find IDs.
countries: ISO alpha-2 country codes. Omit for all countries.
start_period: Start period filter (e.g. "2015").
end_period: End period filter (e.g. "2023").
dimension_filter: Advanced SDMX dimension key. Overrides countries.
limit: Maximum observations to return (1-1000, default 200).

Returns:
Observations with all dimension labels and values.

ParameterTypeRequiredDescription
dataflowstringrequiredBIS dataflow identifier (e.g. "WS_CBPOL", "WS_SPP"). Use search_datasets to find IDs.
countriesanyoptionalISO alpha-2 country codes (e.g. ["US", "DE", "NO"]). Omit for all countries.
start_periodanyoptionalStart period (e.g. "2015", "2020-Q1", "2020-01").
end_periodanyoptionalEnd period (e.g. "2023", "2023-Q4", "2023-12").
dimension_filteranyoptionalAdvanced: SDMX dimension key filter (dot-separated, e.g. "M.US+DE"). Overrides countries param. Use get_dataset_structure to find valid dimension values.
limitintegeroptionalMaximum observations to return (1-1000, default 200). (default: 200)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_data",
    "arguments": {
      "dataflow": "example"
    }
  }
}
compare_countries

Compare data across countries for a given BIS dataset.

Fetches the same indicator for multiple countries side by side.
Useful for cross-country analysis of policy rates, credit growth,
property prices, and other BIS financial statistics.

Args:
dataflow: BIS dataflow identifier.
country_codes: ISO alpha-2 country codes to compare. Maximum 20.
start_period: Start period. Omit for most recent data.
end_period: End period. Omit for most recent data.

Returns:
Data grouped by country for easy comparison.

ParameterTypeRequiredDescription
dataflowstringrequiredBIS dataflow identifier (e.g. "WS_CBPOL", "WS_SPP").
country_codeslist[string]requiredISO alpha-2 country codes to compare (e.g. ["US", "DE", "JP", "NO"]). Maximum 20.
start_periodanyoptionalStart period (e.g. "2020"). Omit for most recent data.
end_periodanyoptionalEnd period (e.g. "2023"). Omit for most recent data.
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "compare_countries",
    "arguments": {
      "dataflow": "example",
      "country_codes": [
        "example"
      ]
    }
  }
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "report_feedback",
    "arguments": {
      "feedback": "example"
    }
  }
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/mcp/bis/" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_datasets", "arguments": {"query": "example"}}}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/bis/",
    headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_datasets",
    "arguments": {
      "query": "example"
    }
  }
},
)
print(resp.json())

Related Toolkits (Finance)

Resources