Countries

liveGeographyReference

World country data — search by name, ISO code, region, language, or currency via REST Countries API

5tools
0msauth
free tier50 calls/day

Tools

search_countriesrequired: query

Search for countries by name. Returns common name, official name, capital, region, subregion, population, area, languages, currencies, and flag emoji.

Parameters
NameTypeDescription
queryreqstringCountry name to search for (partial matches are supported)
Try it
get_country_by_coderequired: code

Get full country information by ISO 3166-1 alpha-2 (e.g. "US") or alpha-3 (e.g. "USA") code.

Parameters
NameTypeDescription
codereqstringISO 3166-1 alpha-2 or alpha-3 country code
Try it
countries_by_regionrequired: region

List all countries in a geographic region with name, capital, population, and flag.

Parameters
NameTypeDescription
regionreqstringRegion name — one of: africa, americas, asia, europe, oceania
Try it
countries_by_languagerequired: language

Find all countries where a given language is spoken. Returns name, capital, region, and population.

Parameters
NameTypeDescription
languagereqstringLanguage name (e.g. "spanish", "french", "arabic")
Try it
countries_by_currencyrequired: currency

Find all countries that use a given currency. Returns name, capital, and region.

Parameters
NameTypeDescription
currencyreqstringCurrency code or name (e.g. "eur", "usd", "dollar")
Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/countries/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/countries/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_countries","arguments":{"query": "hello"}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_countries", {"query":"example"});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("world country data — search by name, iso code, region, language, or currency via rest countries api");